Hex Artifact Content
Not logged in

Artifact 66bbe878ad3e27e59195123329ae664085d1eddd:

Wiki page [VirtualRouting] by sandro 2018-05-03 17:45:10.
0000: 44 20 32 30 31 38 2d 30 35 2d 30 33 54 31 37 3a  D 2018-05-03T17:
0010: 34 35 3a 31 30 2e 35 38 30 0a 4c 20 56 69 72 74  45:10.580.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 64 36 36  ualRouting.P d66
0030: 35 36 65 62 33 64 61 34 31 32 61 62 64 61 66 33  56eb3da412abdaf3
0040: 33 64 36 34 65 65 62 65 35 30 66 62 31 30 64 35  3d64eebe50fb10d5
0050: 38 62 38 35 36 0a 55 20 73 61 6e 64 72 6f 0a 57  8b856.U sandro.W
0060: 20 31 35 33 33 38 36 0a 3c 61 20 68 72 65 66 3d   153386.<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 64 20 74 6f 20 73 70 65 63 69  ntended to speci
1870: 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 63  fy if the Link c
1880: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
1890: 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f  on both directio
18a0: 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f 6e  ns or just in on
18b0: 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  e (<b>one-way</b
18c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  >).</li>..</ul><
18d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70 65  /li>..<li><u>Spe
18e0: 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20 61  cial case</u>: a
18f0: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c 69   <b>forbidden Li
1900: 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70 65  nk</b> is any pe
1910: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c 69  rfectly valid Li
1920: 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79 20  nk that for any 
1930: 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e 20  good reason can 
1940: 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72 73  never be travers
1950: 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63  ed in both direc
1960: 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61 6c  tions. Practical
1970: 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c 3e   examples:..<ul>
1980: 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77 6f  ..<li>Road Netwo
1990: 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62 65  rks: it could be
19a0: 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65 6e   useful represen
19b0: 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72 69  ting <b>pedestri
19c0: 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20 61  an streets</b> a
19d0: 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c 61  nd <b>bicycle la
19e0: 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68 65  nes</b>, but the
19f0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c   corresponding L
1a00: 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c 77  inks will be alw
1a10: 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74 6f  ays forbidden to
1a20: 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f 6e   car circulation
1a30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 63  .</li>..<li>Telc
1a40: 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c 20  om / Electrical 
1a50: 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72 61  Networks: severa
1a60: 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72 65  l Links (<b>wire
1a70: 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65 20  s</b>) could be 
1a80: 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74 61  physically insta
1a90: 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72 61  lled but tempora
1aa0: 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d 73  rily <b>out-of-s
1ab0: 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20 74  ervice</b> for t
1ac0: 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e 73  echnical reasons
1ad0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
1ae0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c  i>..</ul>..<h4>L
1af0: 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f  ogical conclusio
1b00: 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70  ns</h4>..Any top
1b10: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
1b20: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20   <b>Network</b> 
1b30: 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66  (irrespective of
1b40: 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61   whether it is a
1b50: 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20   <b>Spatial</b> 
1b60: 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62  or <b>Logical</b
1b70: 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 6c  > type) is a val
1b80: 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e  id <b>Graph</b>.
1b90: 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20  <br>..A Network 
1ba0: 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 70  allowing the sup
1bb0: 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 20  port (direct or 
1bc0: 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f 6d  indirect) of som
1bd0: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62  e appropriate <b
1be0: 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20  >cost value</b> 
1bf0: 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 65  is a valid <b>We
1c00: 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 3e  ighted Graph</b>
1c10: 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71  , and can conseq
1c20: 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c  uently support <
1c30: 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  b>Routing algori
1c40: 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  thms</b>.<br>..A
1c50: 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  ll Routing algor
1c60: 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64  ithms are intend
1c70: 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74  ed to identify t
1c80: 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 50  he <b>Shortest P
1c90: 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e  ath</b> solution
1ca0: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20   connecting two 
1cb0: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20  <b>Nodes</b> in 
1cc0: 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72  a <b>weighted gr
1cd0: 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c  aph</b> (<i>aka<
1ce0: 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f  /i> <b>Network</
1cf0: 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  b>).<br><br>..<b
1d00: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e  ><u>Note</u></b>
1d10: 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69  : the term <b><i
1d20: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f  >Shortest Path</
1d30: 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 61  i></b> can be ea
1d40: 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 6f  sily misundersto
1d50: 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20  od.<br>..Due to 
1d60: 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f  historical reaso
1d70: 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d  ns the most comm
1d80: 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66  on application f
1d90: 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e 67  ield for Routing
1da0: 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 72   algorithms is r
1db0: 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61  elated to <b>Roa
1dc0: 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20  d Networks</b>, 
1dd0: 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74  but also many ot
1de0: 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74  her kinds of Net
1df0: 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75  works exist:..<u
1e00: 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61  l>..<li>Hydrogra
1e10: 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f  phic Networks.</
1e20: 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57  li>..<li>Gas / W
1e30: 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f  ater / Oil Netwo
1e40: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45  rks.</li>..<li>E
1e50: 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72  lectrical Networ
1e60: 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65  ks.</li>..<li>Te
1e70: 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e  lecomunication N
1e80: 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  etworks.</li>..<
1e90: 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f  li>Social or Eco
1ea0: 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  nomical Networks
1eb0: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 65   representing re
1ec0: 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 77  lationships betw
1ed0: 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20  een individuals 
1ee0: 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c  or companies.</l
1ef0: 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f  i>..<li>Epidemio
1f00: 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  logical Networks
1f10: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68   representing th
1f20: 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66  e propagation of
1f30: 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 61   infective disea
1f40: 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69  ses between indi
1f50: 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 70  viduals or group
1f60: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1f70: 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61  li> ..<br>..In a
1f80: 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 73  ll the above cas
1f90: 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 20  es we certainly 
1fa0: 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 6f  have valid Netwo
1fb0: 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52  rks supporting R
1fc0: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e  outing algorithn
1fd0: 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f  s, but not all o
1fe0: 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79  f them can imply
1ff0: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20   something like 
2000: 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 73  a <i>spatial dis
2010: 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65  tance</i> (<i>ge
2020: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f  ometric length</
2030: 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 76  i>) or a <i>trav
2040: 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e  el time</i>.<br>
2050: 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 65  ..In the most ge
2060: 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e 20  neral acception 
2070: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e  <b>costs</b> can
2080: 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20   be represented 
2090: 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c  by any reasonabl
20a0: 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e 74  e physical quant
20b0: 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d  ity.<br>..So a m
20c0: 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20  ore generalized 
20d0: 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 73  definition is as
20e0: 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 74  suming that Rout
20f0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61  ing algorithms a
2100: 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69  re intended to i
2110: 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 65  dentify <b>lesse
2120: 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74  r cost</b> solut
2130: 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69  ions on a <b>wei
2140: 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e  ghted graph</b>.
2150: 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 20  <br>..The exact 
2160: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f  interpretation o
2170: 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c  f the involved <
2180: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e  b>costs</b> (<i>
2190: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68  aka</i> <b>weigh
21a0: 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c 79  ts</b>) strictly
21b0: 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20   depends on the 
21c0: 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e 61  very specific na
21d0: 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 74  ture of each Net
21e0: 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44  work...<h3>The D
21f0: 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69  ijkstra's algori
2200: 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77  thm</h3>..This w
2210: 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65  ell known <a hre
2220: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
2230: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
2240: 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c  /Dijkstra%27s_al
2250: 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74  gorithm">algorit
2260: 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63  hm</a> isn't nec
2270: 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 73  essarily the fas
2280: 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 74  test one, but it
2290: 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 20   always ensures 
22a0: 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e  <b>full correctn
22b0: 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  ess</b>:..<ul>..
22c0: 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d  <li>Any Node-to-
22d0: 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  Node connection 
22e0: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 69  identified by Di
22f0: 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 74  jkstra's is cert
2300: 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 6f  ainly ensured to
2310: 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f   be <b>optimal</
2320: 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65  b>.<br>..In othe
2330: 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e  r words, no conn
2340: 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e  ection presentin
2350: 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63  g a lower cost c
2360: 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20  an conceptually 
2370: 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  exist.</li>..<li
2380: 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73  >When Dijsjtra's
2390: 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69   fails to identi
23a0: 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68  fy a solution th
23b0: 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20  is surely means 
23c0: 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e  that no solution
23d0: 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c   is possible.</l
23e0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54  i>..</ul>..<h3>T
23f0: 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c  he A* algorithm<
2400: 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72  /h3>..Many alter
2410: 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61  native Routing a
2420: 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62  lgorithms have b
2430: 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72  een invented dur
2440: 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62  ing the years.<b
2450: 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65  r>..All them are
2460: 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73   based on heuris
2470: 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20  tic assumptions 
2480: 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64  and are intended
2490: 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74 68   to be faster th
24a0: 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62  an Dijkstra's, b
24b0: 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20  ut none of them 
24c0: 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75  can ensure <b>fu
24d0: 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f  ll correctness</
24e0: 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73  b> as Dijkstra's
24f0: 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20   does.<br>..The 
2500: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
2510: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
2520: 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68  g/wiki/A*_search
2530: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61  _algorithm">A* a
2540: 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70  lgorithm</a> app
2550: 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72  lies a mild heur
2560: 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69  istic optimizati
2570: 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61  on, and can be a
2580: 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72   realistic alter
2590: 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74  native to Dijkst
25a0: 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73  ra's in many cas
25b0: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  es.<br><br>..<hr
25c0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
25d0: 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65 20  sample">2 - The 
25e0: 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f  sample/test DB</
25f0: 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65  a></h1>..You are
2600: 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c   expected to fol
2610: 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74 20  low the current 
2620: 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c  tutorial about <
2630: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
2640: 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79  </b> by directly
2650: 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c   testing all SQL
2660: 20 71 75 65 72 69 65 73 20 64 69 73 63 75 73 73   queries discuss
2670: 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 20 74  ed  below with t
2680: 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  he <a href="http
2690: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
26a0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
26b0: 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 2e 30  uting-sample-5.0
26c0: 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f 74 65  .0.7z">sample/te
26d0: 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 20 63  st DB that you c
26e0: 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d  an download from
26f0: 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c 62 72   here</a><br><br
2700: 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 44 42  >..The sample DB
2710: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75   contains the fu
2720: 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f  ll <b>road netwo
2730: 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 75 73  rk</b> of <b>Tus
2740: 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 74 61  cany Region (Ita
2750: 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66  ly)</b> (<a href
2760: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e  ="http://www502.
2770: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e  regione.toscana.
2780: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77  it/geoscopio/dow
2790: 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 72 61  nload/grafo_stra
27a0: 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a 69 70  dale/iternet.zip
27b0: 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 61 73  ">Iter.Net datas
27c0: 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 20 72  et</a>) kindly r
27d0: 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68  eleased under th
27e0: 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e  e <b>CC-BY-SA 4.
27f0: 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 74 65  0</b> licence te
2800: 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 68 6f  rms.<br>..Alltho
2810: 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 73  ugh the contents
2820: 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73   stored in the s
2830: 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20 68  ample database h
2840: 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 61 6e  ave been rearran
2850: 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 6c 6c  ged, it is still
2860: 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20   subject to the 
2870: 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d 42 59  initial <b>CC-BY
2880: 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c 61 75  -SA 4.0</b> clau
2890: 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 64 20  ses (<i>derived 
28a0: 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72 3e  work</i>)...<br>
28b0: 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  <br>..<ul>..<li>
28c0: 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 20 61  all road names a
28d0: 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 69 6e  re stored within
28e0: 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73   the <b>toponyms
28f0: 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 3e 0d  </b> Table.<br>.
2900: 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65 20  .since the same 
2910: 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 6c 64  road names could
2920: 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 66 66   be used in diff
2930: 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c 69  erent Municipali
2940: 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 6f 70  ties, the <b>top
2950: 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 20  onyms</b> Table 
2960: 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 65 66  relationally ref
2970: 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 6d  erences the <b>m
2980: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62  unicipalities</b
2990: 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c 62 3e  > Table (via <b>
29a0: 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 3c 62  PRIMARY</b> / <b
29b0: 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e  >FOREIGN KEY</b>
29c0: 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 29 2e   relationships).
29d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
29e0: 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 61 74  b>roads</b> Spat
29f0: 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69  ial Table contai
2a00: 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 30 2c  ns about <b>380,
2a10: 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 20 61  000</b> Links, a
2a20: 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f  nd has the follo
2a30: 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c  wing columns:..<
2a40: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f  ul>..<li><b>id</
2a50: 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74  b>: unique ident
2a60: 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 4c 69  ifier of each Li
2a70: 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b  nk (<b>PRIMARY K
2a80: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
2a90: 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f 6d 3c  li><b>node_from<
2aa0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 65 5f  /b> and <b>node_
2ab0: 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 64 65  to</b>: Node ide
2ac0: 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 20 6f  ntifiers...The o
2ad0: 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e 65 74  riginal Iter.Net
2ae0: 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 73 20   dataset adopts 
2af0: 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 6f 6d  very long an com
2b00: 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 72 69  plex alphanumeri
2b10: 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 74 68  c Node codes; th
2b20: 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49  e integer Node I
2b30: 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e 65 64  Ds were obtained
2b40: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20   by calling the 
2b50: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
2b60: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20  Nodes()</b> SQL 
2b70: 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 73 73  function discuss
2b80: 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e  ed in a followin
2b90: 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  g section.</li>.
2ba0: 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 6f 6e  .<li><b>id_topon
2bb0: 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f 6e  ym</b>: relation
2bc0: 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20  al reference to 
2bd0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
2be0: 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 6e 74  g road name cont
2bf0: 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c  ained into the <
2c00: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54  b>toponyms</b> T
2c10: 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e  able (<b>FOREIGN
2c20: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2c30: 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f 6b 6d  .<li><b>speed_km
2c40: 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 69 6d  h</b>: the estim
2c50: 61 74 65 64 20 61 76 65 72 61 67 65 20 73 70 65  ated average spe
2c60: 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 79 20  ed supported by 
2c70: 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 65 73  the Link, expres
2c80: 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 3c 2f  sed in <b>km/h</
2c90: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  b>.<br>..<u>Note
2ca0: 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 69 76  </u>: <b>negativ
2cb0: 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 6e 74  e</b> speeds int
2cc0: 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 6e 20  end a forbidden 
2cd0: 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f 75 6c  Link (as it coul
2ce0: 64 20 62 65 20 74 68 65 20 63 61 73 65 20 6f 66  d be the case of
2cf0: 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 72 65   pedestrian stre
2d00: 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 20 6c  ets or bicycle l
2d10: 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 6d 6f  anes exluding mo
2d20: 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e 3c 2f  tor vehicles).</
2d30: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e 65 77  li>..<li><b>onew
2d40: 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 61 6e  ay_fromto</b> an
2d50: 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72  d <b>oneway_tofr
2d60: 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 6e 20  om</b>: boolean 
2d70: 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e 65 20  flags determine 
2d80: 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62 65  if a Link can be
2d90: 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62 6f   traversed in bo
2da0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72  th directions or
2db0: 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67 6c   just in a singl
2dc0: 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62 3e  e direction (<b>
2dd0: 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62 72  one-way</b>).<br
2de0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
2df0: 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61 72  all Links declar
2e00: 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66 72  ing <b>oneway_fr
2e10: 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20 3c  omto=0</b> and <
2e20: 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3d  b>oneway_tofrom=
2e30: 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e 64  0</b> are intend
2e40: 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73 20  ed to be always 
2e50: 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e 0d  forbidden.</li>.
2e60: 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62 3e  .<li><b>cost</b>
2e70: 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62  : the <b>time</b
2e80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c  > expressed in <
2e90: 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65  b>seconds</b> re
2ea0: 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72  quired to traver
2eb0: 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72  se each Link.<br
2ec0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
2ed0: 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72 65  > all costs were
2ee0: 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63 6f   calculated acco
2ef0: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 66  rdingly to the f
2f00: 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c 61  ollowing formula
2f10: 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53 54  : <b>cost = ((ST
2f20: 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f 20  _Length(geom) / 
2f30: 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64 5f  1000.0) / speed_
2f40: 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f 62  kmh) * 3600.0</b
2f50: 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  ><br>..<u>Note #
2f60: 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36 2c  2</u> all <b>86,
2f70: 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20 76  400.0</b> cost v
2f80: 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65 6e  alues (equivalen
2f90: 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d 70 6c  t to 1 day) impl
2fa0: 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74 69  y an <b>infiniti
2fb0: 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75 73  ve cost</b> thus
2fc0: 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62 3e   intending a <b>
2fd0: 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c 69  forbidden</b> Li
2fe0: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  nk.</li>..<li><b
2ff0: 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 3e  >geom</b>: a <b>
3000: 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f 62  3D Linestring</b
3010: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  > representing t
3020: 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65  he Geometry of e
3030: 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c  ach Link.<br>..<
3040: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20  u>Note</u>: the 
3050: 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65 72  original <b>Iter
3060: 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 65 74  .Net</b> dataset
3070: 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c 2f   is just <b>2D</
3080: 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20 28  b>; elevations (
3090: 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e  <b>Z</b> coordin
30a0: 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 65 72  ates) were inter
30b0: 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70 69  polated by drapi
30c0: 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 20 6f  ng the dataset o
30d0: 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22  ver an <a href="
30e0: 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 65  http://www502.re
30f0: 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 74  gione.toscana.it
3100: 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e 6c  /geoscopio/downl
3110: 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f 64  oad/altimetria/d
3120: 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d 5f  a_ctr10k/gb/DTM_
3130: 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e 6f  Orografico.7z">o
3140: 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 28 31  rographic DEM (1
3150: 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 29 3c  0m X 10m cells)<
3160: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  /a></li>..</ul><
3170: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
3180: 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53 70  >roads_vw</b> Sp
3190: 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 6f 6c  atial View resol
31a0: 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e  ves all relation
31b0: 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65  al references be
31c0: 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f  tween <b>roads</
31d0: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c  b>, <b>toponyms<
31e0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63  /b> and <b>munic
31f0: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74  ipalities</b>, t
3200: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72  hus allowing for
3210: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72   easier SQL quer
3220: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ies.</li>..<li>t
3230: 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f  he <b>house_nr</
3240: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65  b> Spatial Table
3250: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20   contains about 
3260: 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e  <b>1,480,000</b>
3270: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c 20   House Numbers, 
3280: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  and has the foll
3290: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a  owing columns:..
32a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c  <ul>..<li><b>id<
32b0: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e  /b>: unique iden
32c0: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 48  tifier of each H
32d0: 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e  ouse Number (<b>
32e0: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29  PRIMARY KEY</b>)
32f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  .</li>..<li><b>i
3300: 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61  d_road</b>: rela
3310: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
3320: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
3330: 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61  nding Link conta
3340: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62  ined into the <b
3350: 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65  >roads</b> Table
3360: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59   (<b>FOREIGN KEY
3370: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </b>).</li>..<li
3380: 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74  ><b>label</b>: t
3390: 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65 6c  he textual label
33a0: 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e   fully qualifyin
33b0: 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d  g each House Num
33c0: 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ber.</li>..<li><
33d0: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62  b>geom</b>: a <b
33e0: 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65  >3D Point</b> re
33f0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 47  presenting the G
3400: 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68 20  eometry of each 
3410: 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72  House Number.<br
3420: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
3430: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73 20  >: also in this 
3440: 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74 69  case all elevati
3450: 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f  ons (<b>Z</b> co
3460: 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20  ordinates) were 
3470: 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20  interpolated by 
3480: 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61  draping the data
3490: 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61 6d  set over the sam
34a0: 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c  e DEM as above.<
34b0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c  br>..<u>Note #2<
34c0: 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73 70  /u>: strictly sp
34d0: 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f 75 73  eacking the Hous
34e0: 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f  e Numbers are no
34f0: 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 52 6f  t part of the Ro
3500: 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65 79  ad Network; they
3510: 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e   are included in
3520: 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74   the sample/test
3530: 20 64 61 74 61 62 61 73 65 20 61 73 20 75 73 65   database as use
3540: 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 78 70  ful examples exp
3550: 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 6e 20  lained later in 
3560: 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 3e 0d  this text.</li>.
3570: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
3580: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
3590: 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20  _vw</b> Spatial 
35a0: 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 61 6c  View resolves al
35b0: 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66  l relational ref
35c0: 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20  erences between 
35d0: 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c  <b>house_nr</b>,
35e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c   <b>roads</b>, <
35f0: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61  b>toponyms</b> a
3600: 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69  nd <b>municipali
3610: 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61  ties</b>, thus a
3620: 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69  llowing for easi
3630: 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c  er SQL queries.<
3640: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
3650: 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61  >.. <hr>..<h1><a
3660: 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33   name="create">3
3670: 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 72 74   - Creating Virt
3680: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
3690: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20  s</a></h1>..All 
36a0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71  VirtualRouting q
36b0: 75 65 72 69 65 73 20 61 72 65 20 62 61 73 65 64  ueries are based
36c0: 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 20 3c   on a specific <
36d0: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
36e0: 2d 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e 64 20  -Table</b>, and 
36f0: 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 69 72  in turn, the Vir
3700: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c  tualRouting-Tabl
3710: 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20  e is based on a 
3720: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62  corresponding <b
3730: 3e 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c  >BinaryData-Tabl
3740: 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 74 61 6b  e</b> which, tak
3750: 65 6e 20 74 6f 67 65 61 74 68 65 72 2c 20 69 73  en togeather, is
3760: 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72 65   an efficient re
3770: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20  presentation of 
3780: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e  the underlying N
3790: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 53 6f 20  etwork.<br>..So 
37a0: 77 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72 73  we'll start firs
37b0: 74 20 62 79 20 63 72 65 61 74 69 6e 67 20 74 68  t by creating th
37c0: 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 72 3e 3c  ese tables.<br><
37d0: 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c 20 61 6e  br>..The old, an
37e0: 64 20 6e 6f 77 20 73 75 70 65 72 73 65 64 65 64  d now superseded
37f0: 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77  , <b>VirtualNetw
3800: 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 72 65 64  ork</b> required
3810: 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 73 65   the use of a se
3820: 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c 20  parate CLI tool 
3830: 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e  (<b>spatialite_n
3840: 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20 6f  etwork</b>) in o
3850: 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c 79  rder to properly
3860: 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56 69   initialize a Vi
3870: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62  rtualNetwork Tab
3880: 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61  le and its compa
3890: 6e 69 6f 6e 20 42 69 6e 61 72 79 44 61 74 61 2d  nion BinaryData-
38a0: 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e 61 74  Table;..alternat
38b0: 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 61 6c  ively <b>spatial
38c0: 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 70 70  ite_gui</b> supp
38d0: 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49 20 77  orted a <b>GUI w
38e0: 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 74 68  izard</b> for th
38f0: 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 69 6e  e same task. Sin
3900: 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e  ce version <b>5.
3910: 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 74 69 61 4c  0.0</b>, SpatiaL
3920: 69 74 65 20 20 73 75 70 70 6f 72 74 73 20 74 68  ite  supports th
3930: 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  is functionality
3940: 20 64 69 72 65 63 74 6c 79 2c 20 77 69 74 68 20   directly, with 
3950: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
3960: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66  ting()</b> SQL f
3970: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61  unction...<verba
3980: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65  tim>..SELECT Cre
3990: 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f  ateRouting('byfo
39a0: 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f  ot_data', 'byfoo
39b0: 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20  t', 'roads_vw', 
39c0: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f  'node_from', 'no
39d0: 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  deto', 'geom', N
39e0: 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  ULL);....SELECT 
39f0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65  CreateRouting_Ge
3a00: 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d  tLastError();..-
3a10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 43 6f 6c 75  ---..ToNode Colu
3a40: 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 20 6e  mn "nodeto" is n
3a50: 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68  ot defined in th
3a60: 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d 0a 3c  e Input Table..<
3a70: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e  /verbatim>..<u>N
3a80: 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 66 69  ote</u>: this fi
3a90: 72 73 74 20 71 75 65 72 79 20 28 62 61 73 65 64  rst query (based
3aa0: 20 6f 6e 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d   on the <i>minim
3ab0: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 3c  al form</i> of <
3ac0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 3c  b>CreateRouting<
3ad0: 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c 75 3e 64 65  /b>) <b><i><u>de
3ae0: 6c 69 62 65 72 61 74 65 6c 79 3c 2f 75 3e 3c 2f  liberately</u></
3af0: 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  i></b> contains 
3b00: 61 6e 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67  an error causing
3b10: 20 61 20 66 61 69 6c 75 72 65 20 74 68 61 74 20   a failure that 
3b20: 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 65 78  will raise an ex
3b30: 63 65 70 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 43 72  ception.<br>..Cr
3b40: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 63 61  eateRouting() ca
3b50: 6e 20 66 61 69 6c 20 66 6f 72 20 6d 75 6c 74 69  n fail for multi
3b60: 70 6c 65 20 72 65 61 73 6f 6e 73 2c 20 61 6e 64  ple reasons, and
3b70: 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 43   by calling <b>C
3b80: 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74  reateRouting_Get
3b90: 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20  LastError()</b> 
3ba0: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 69  you can easily i
3bb0: 64 65 6e 74 69 66 79 20 74 68 65 20 65 78 61 63  dentify the exac
3bc0: 74 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68 65  t reason why the
3bd0: 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 61 6c   most recent cal
3be0: 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74 69  l to CreateRouti
3bf0: 6e 67 28 29 20 66 61 69 6c 65 64 2e 3c 62 72 3e  ng() failed.<br>
3c00: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
3c10: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69  LECT CreateRouti
3c20: 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27  ng('byfoot_data'
3c30: 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61  , 'byfoot', 'roa
3c40: 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72  ds_vw', 'node_fr
3c50: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20  om', 'node_to', 
3c60: 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 2c 20 27 74  'geom', NULL, 't
3c70: 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 29 3b 0d  oponym', 1, 1);.
3c80: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a  .-------------..
3c90: 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  1....SELECT Crea
3ca0: 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73  teRouting_GetLas
3cb0: 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d  tError();..-----
3cc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
3ce0: 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 62 61 74 69  .NULL..</verbati
3cf0: 6d 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64 20  m>..This second 
3d00: 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 73 75 63  attempt will suc
3d10: 63 65 65 64 2c 20 77 69 74 68 20 43 72 65 61 74  ceed, with Creat
3d20: 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75 72  eRouting() retur
3d30: 6e 69 6e 67 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c  ning <b>1</b> (<
3d40: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55  i>aka</i> <b>TRU
3d50: 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20 79  E</b>), and as y
3d60: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68  ou can easily ch
3d70: 65 63 6b 20 6e 6f 77 20 74 68 65 20 44 61 74 61  eck now the Data
3d80: 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77  base contains tw
3d90: 6f 20 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c 62  o new Tables: <b
3da0: 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64 20  >byfoot</b> and 
3db0: 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f  <b>byfoot_data</
3dc0: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  b>.<br>..<u>Note
3dd0: 3c 2f 75 3e 3a 20 61 66 74 65 72 20 61 20 73 75  </u>: after a su
3de0: 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f  ccessful call to
3df0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3e00: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
3e10: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3e20: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73  </b> will always
3e30: 20 72 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c 3c   return <b>NULL<
3e40: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65  /b>.<br><br>..Le
3e50: 74 27 73 20 6c 6f 6f 6b 2c 20 69 6e 20 6d 6f 72  t's look, in mor
3e60: 65 20 64 65 74 61 69 6c 2c 20 6f 66 20 74 68 65  e detail, of the
3e70: 20 3c 69 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d   <i>minimal form
3e80: 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 6f  </i> of CreateRo
3e90: 75 74 69 6e 67 28 29 3b 20 61 6e 64 20 74 68 65  uting(); and the
3ea0: 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63 68   meaning of each
3eb0: 20 61 72 67 75 6d 65 6e 74 3a 0d 0a 3c 6f 6c 3e   argument:..<ol>
3ec0: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 5f  ..<li><i>byfoot_
3ed0: 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 6e 61  data</i>: the na
3ee0: 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72  me of the Networ
3ef0: 6b 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62  k BinaryData-Tab
3f00: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64  le to be created
3f10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62  .</li>..<li><i>b
3f20: 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 65 20 6e  yfoot</i>: the n
3f30: 61 6d 65 20 6f 66 20 74 68 65 20 56 69 72 74 75  ame of the Virtu
3f40: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20  alRouting-Table 
3f50: 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f  to be created.</
3f60: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64  li>..<li><i>road
3f70: 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 20 6e 61  s_vw</i>: the na
3f80: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 53 70 61  me of the <b>Spa
3f90: 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 3e 20 6f  tial Table</b> o
3fa0: 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65  r <b>Spatial Vie
3fb0: 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69  w</b> representi
3fc0: 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  ng the underlyin
3fd0: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
3fe0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20  <u>Note</u>: in 
3ff0: 74 68 69 73 20 63 61 73 65 20 77 65 20 61 63 74  this case we act
4000: 75 61 6c 6c 79 20 75 73 65 64 20 61 20 53 70 61  ually used a Spa
4010: 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d  tial View.</li>.
4020: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f  .<li><i>node_fro
4030: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  m</i>: name of t
4040: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
4050: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
4060: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
4070: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f  to contain <b>no
4080: 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75  de-from</b> valu
4090: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  es.</li>..<li><i
40a0: 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61  >node_to</i>: na
40b0: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e  me of the column
40c0: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54   (in the above T
40d0: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78  able or View) ex
40e0: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69  pected to contai
40f0: 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e  n <b>node-to</b>
4100: 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c   values.</li>..<
4110: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
4120: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
4130: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65  mn (in the above
4140: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20   Table or View) 
4150: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74  expected to cont
4160: 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e  ain <b>Linestrin
4170: 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20  gs</b>.<br>..In 
4180: 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 3c 62  the case of a <b
4190: 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  >Logical Network
41a0: 3c 2f 62 3e 3a 20 61 20 20 3c 62 3e 4e 55 4c 4c  </b>: a  <b>NULL
41b0: 3c 2f 62 3e 20 73 68 6f 75 6c 64 20 62 65 20 70  </b> should be p
41c0: 61 73 73 65 64 2e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  assed..</li>..<l
41d0: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e  i><i>NULL</i>: n
41e0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
41f0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4200: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4210: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4220: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76  in <b>cost</b> v
4230: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  alues.<br>..In t
4240: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65  his case we have
4250: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c   passed a <b>NUL
4260: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64  L</b> value, and
4270: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
4280: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66  e <b>cost</b> of
4290: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20   each Link will 
42a0: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65  be assumed to be
42b0: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
42c0: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63  the <b>geometric
42d0: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74   length</b> of t
42e0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
42f0: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e   Linestring.<br>
4300: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e  ..<u>Note #1</u>
4310: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  : in the case of
4320: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20   Networks based 
4330: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73  on <b>longitudes
4340: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69  </b> and <b>lati
4350: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  tudes</b> (<i>ak
4360: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70  a</i> <b>geograp
4370: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
4380: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67  e Systems) the g
4390: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f  eometry length o
43a0: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67  f all Linestring
43b0: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73  s will be precis
43c0: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20  ely <b>measured 
43d0: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
43e0: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67  </b> by applying
43f0: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61   the most accura
4400: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66  te <b>geodesic f
4410: 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 61 6e 64 20  ormulas</b> and 
4420: 77 69 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c  will consequentl
4430: 79 20 62 65 20 65 78 70 72 65 73 73 65 64 20 69  y be expressed i
4440: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e  n <b>meters</b>.
4450: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61   In any other ca
4460: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64  se (<b>projected
4470: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53  </b> Reference S
4480: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20  ystems) lengths 
4490: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65  will be expresse
44a0: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73  d in the <b>meas
44b0: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66  ure unit</b> def
44c0: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65  ined by the Refe
44d0: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e  rence System (e.
44e0: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e  g. <b>meters</b>
44f0: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20   for <b>UTM</b> 
4500: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20  projections and 
4510: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20  <b>feet</b> for 
4520: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72  <b>NAD-ft</b> pr
4530: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d  ojections).<br>.
4540: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a  .<u>Note #2</u>:
4550: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c   the <b>geom-col
4560: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63  umn</b> and <b>c
4570: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61  ost-column</b> a
4580: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76  rguments are nev
4590: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65  er allowed to be
45a0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20   <b>NULL</b> at 
45b0: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f  the same time.</
45c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f  li>..<li><i>topo
45d0: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  nym</i>: name of
45e0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20   the column (in 
45f0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20  the above Table 
4600: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65  or View) expecte
4610: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  d to contain <b>
4620: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61  road-name</b> va
4630: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f  lues.<br>..It co
4640: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74  uld be legitimat
4650: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ely set to <b>NU
4660: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69  LL</b> if all Li
4670: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75  nks are anonymou
4680: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
4690: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e  1</i>: a boolean
46a0: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74   flag intended t
46b0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65  o specify if the
46c0: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75   Network must su
46d0: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20  pport the <b>A* 
46e0: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72  algorithm</b> or
46f0: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e   not (set to <b>
4700: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61  TRUE</b> by defa
4710: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ult).</li>..<li>
4720: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c  <i>1</i>: a bool
4730: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65  ean flag intende
4740: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20  d to specify if 
4750: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69  all Network's Li
4760: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20  nks are assumed 
4770: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63  to be <b>bidirec
4780: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f  tional</b> or no
4790: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65  t (assumed to be
47a0: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20   <b>TRUE</b> by 
47b0: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d  default).</li> .
47c0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62  .</ol>..<table b
47d0: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
47e0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
47f0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
4800: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
4810: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f  Technical note</
4820: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61  h3>..The interna
4830: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74  l encoding adopt
4840: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e  ed by the <b>Bin
4850: 61 72 79 44 61 74 61 2d 54 61 62 6c 65 3c 2f 62  aryData-Table</b
4860: 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 61  > is unchanged a
4870: 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20 66  nd is the same f
4880: 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74 75  or both <b>Virtu
4890: 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e 64  alNetwok</b> and
48a0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
48b0: 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f 75  ng</b>.<br>..You
48c0: 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73 65   can safely base
48d0: 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75   a <b>VirtualRou
48e0: 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 3e 20 6f  ting-Table</b> o
48f0: 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 42  n any existing B
4900: 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 20  inaryData-Table 
4910: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c  created by the <
4920: 62 3e 73 70 61 74 69 61 6c 69 74 65 2d 6e 65 74  b>spatialite-net
4930: 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f  work</b> CLI too
4940: 6c 2c 20 65 78 61 63 74 6c 79 20 61 73 20 79 6f  l, exactly as yo
4950: 75 20 63 61 6e 20 62 61 73 65 20 61 20 3c 62 3e  u can base a <b>
4960: 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54  VirtualNetwork T
4970: 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20  able</b> on any 
4980: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65  BinaryData-Table
4990: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20   created by the 
49a0: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
49b0: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74  ()</b> SQL funct
49c0: 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ion...<verbatim>
49d0: 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c  ..CREATE VIRTUAL
49e0: 20 54 41 42 4c 45 20 74 65 73 74 5f 6e 65 74 77   TABLE test_netw
49f0: 6f 72 6b 20 55 53 49 4e 47 20 56 69 72 74 75 61  ork USING Virtua
4a00: 6c 4e 65 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64  lNetwork('some_d
4a10: 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a  ata_table');....
4a20: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
4a30: 41 42 4c 45 20 74 65 73 74 5f 72 6f 75 74 69 6e  ABLE test_routin
4a40: 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52  g USING VirtualR
4a50: 6f 75 74 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74  outing('some_dat
4a60: 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65  a_table');..</ve
4a70: 72 62 61 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65  rbatim>..In orde
4a80: 72 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72  r to manually cr
4a90: 65 61 74 65 20 79 6f 75 72 20 56 69 72 74 75 61  eate your Virtua
4aa0: 6c 20 54 61 62 6c 65 73 20 79 6f 75 20 6a 75 73  l Tables you jus
4ab0: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74  t have to execut
4ac0: 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  e an appropriate
4ad0: 20 3c 62 3e 43 52 45 41 54 45 20 56 49 52 54 55   <b>CREATE VIRTU
4ae0: 41 4c 20 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49  AL TABLE ... USI
4af0: 4e 47 20 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e  NG Virtual... (.
4b00: 2e 2e 29 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e  ..)</b> statemen
4b10: 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c  t...<h4>Warning<
4b20: 2f 68 34 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73  /h4>..In the cas
4b30: 65 20 6f 66 20 3c 62 3e 53 70 61 74 69 61 6c 20  e of <b>Spatial 
4b40: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73  Networks</b> bas
4b50: 65 64 20 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f  ed on any <b>geo
4b60: 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65  graphic</b> Refe
4b70: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 75 73  rence System (us
4b80: 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65  ing <b>longitude
4b90: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74  s</b> and <b>lat
4ba0: 69 74 75 64 65 73 3c 2f 62 3e 29 20 74 68 65 72  itudes</b>) ther
4bb0: 65 20 69 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e  e is an importan
4bc0: 74 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74  t difference bet
4bd0: 77 65 65 6e 20 42 69 6e 61 72 79 44 61 74 61 2d  ween BinaryData-
4be0: 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62  Tables created b
4bf0: 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c  y the <b>spatial
4c00: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ite_network</b> 
4c10: 47 55 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69  GUI tool and  Bi
4c20: 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 73 20  naryData-Tables 
4c30: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c  created by the <
4c40: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  b>CreateRouting(
4c50: 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
4c60: 6f 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73  on when <b>costs
4c70: 3c 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69  </b> are implici
4c80: 74 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65  tly based on the
4c90: 20 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74   geometric lengt
4ca0: 68 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20  h of the Link's 
4cb0: 4c 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c  Linestring:..<ul
4cc0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70  >..<li>the <b>sp
4cd0: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b  atialite_network
4ce0: 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61  </b> CLI tool (a
4cf0: 6e 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69  nd the <b>GUI wi
4d00: 7a 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65  zard</b> impleme
4d10: 6e 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73  nted by previous
4d20: 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e   versions of <b>
4d30: 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f  spatialite_gui</
4d40: 62 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20  b>) compute the 
4d50: 4c 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e  Linestring's len
4d60: 67 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67  gth as an <b>ang
4d70: 75 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62  ular distance</b
4d80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c  > expressed in <
4d90: 62 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f  b>degrees</b>.</
4da0: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
4db0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
4dc0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
4dd0: 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69   computes the Li
4de0: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74  nestring's lengt
4df0: 68 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72  h as a <b>linear
4e00: 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78   distance</b> ex
4e10: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65  pressed in <b>me
4e20: 74 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c  tres</b> by appl
4e30: 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63  ying the most ac
4e40: 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73  curate <b>geodes
4e50: 69 63 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20  ic formulas</b> 
4e60: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
4e70: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
4e80: 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
4e90: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62  ><br><br>..<verb
4ea0: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
4eb0: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63  eateRouting('byc
4ec0: 61 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72  ar_data', 'bycar
4ed0: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
4ee0: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
4ef0: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27  e_to', 'geom', '
4f00: 63 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27  cost', 'toponym'
4f10: 2c 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f  , 1, 1, 'oneway_
4f20: 66 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79  fromto', 'oneway
4f30: 5f 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d  _tofrom', 0);..-
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f50: 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74  ---..1..</verbat
4f60: 69 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69  im>..After calli
4f70: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
4f80: 69 6e 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63  ing()</b> correc
4f90: 74 6c 79 2c 20 20 74 68 65 20 44 61 74 61 62 61  tly,  the Databa
4fa0: 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20  se contains two 
4fb0: 66 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20  further Tables: 
4fc0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64  <b>bycar</b> and
4fd0: 20 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f   <b>bycar_data</
4fe0: 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69  b>.<br>..This ti
4ff0: 6d 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74  me you've used t
5000: 68 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66  he <i>complete f
5010: 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74  orm</i> of Creat
5020: 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27  eRouting(); let'
5030: 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65  s see in more de
5040: 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75  pth all the argu
5050: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20  ments and their 
5060: 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a  meaning:..<ol>..
5070: 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74  <li><i>bycar_dat
5080: 61 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  a</i>: same as a
5090: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  bove.</li>..<li>
50a0: 3c 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61  <i>bycar</i>: sa
50b0: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69  me as above.</li
50c0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f  >..<li><i>roads_
50d0: 76 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  vw</i>: same as 
50e0: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
50f0: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69  ><i>node_from</i
5100: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65  >: same as above
5110: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e  .</li>..<li><i>n
5120: 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65  ode_to</i>: same
5130: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
5140: 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e  .<li><i>geom</i>
5150: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
5160: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f  </li>..<li><i>co
5170: 73 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  st</i>: same as 
5180: 61 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20  above...In this 
5190: 63 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66  case we have ref
51a0: 65 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e  erenced a column
51b0: 20 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20   preloaded with 
51c0: 76 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e  values correspon
51d0: 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74  ding to the <b>t
51e0: 69 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64  ime</b> measured
51f0: 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f   in <b>seconds</
5200: 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74  b> required to t
5210: 72 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e  raverse each Lin
5220: 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69  k.</li> ..<li><i
5230: 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61  >toponym</i>: sa
5240: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69  me as above.</li
5250: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a  >..<li><i>1</i>:
5260: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28   same as above (
5270: 3c 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69  <i>A* enabled</i
5280: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  >).</li>..<li><i
5290: 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  >1</i>: same as 
52a0: 61 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65  above (<i>bidire
52b0: 63 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69  ctional Links</i
52c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  >).</li>..<li><i
52d0: 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f  >oneway_fromto</
52e0: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
52f0: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61  column (in the a
5300: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69  bove Table or Vi
5310: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20  ew) expected to 
5320: 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20  contain boolean 
5330: 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67  flags specifying
5340: 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61   if each Link ca
5350: 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69  n be traversed i
5360: 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f  n the <b>from-to
5370: 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f  </b> direction o
5380: 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  r not.</li>..<li
5390: 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f  ><i>oneway_tofro
53a0: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  m</i>: name of t
53b0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
53c0: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
53d0: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
53e0: 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65  to contain boole
53f0: 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79  an flags specify
5400: 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b  ing if each Link
5410: 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65   can be traverse
5420: 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66  d in the <b>to-f
5430: 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f  rom</b> directio
5440: 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c  n or not.<br>..<
5450: 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62  u>Note #1</u>: b
5460: 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  oth <b>from-to</
5470: 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f  b> and <b>to-fro
5480: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d  m</b> column nam
5490: 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69  es can be legiti
54a0: 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62  mately set as <b
54b0: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20  >NULL</b> if no 
54c0: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72  <b>one-way</b> r
54d0: 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c  estrictions appl
54e0: 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74  y to the current
54f0: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c   Network.<br>..<
5500: 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e  u>Note #2</u>: N
5510: 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c  etworks of the <
5520: 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c  b>unidirectional
5530: 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65  </b> type are ne
5540: 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72  ver enabled to r
5550: 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d  eference <b>one-
5560: 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20  way</b> columns 
5570: 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77  (they should alw
5580: 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62  ays be set to <b
5590: 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e  >NULL</b>).</li>
55a0: 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20  ..<li><i>0</i>: 
55b0: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 20  a boolean flag  
55c0: 73 70 65 63 69 66 79 69 6e 67 20 61 6e 20 3c 62  specifying an <b
55d0: 3e 6f 76 65 72 77 72 69 74 65 20 61 75 74 68 6f  >overwrite autho
55e0: 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c  rization</b>...<
55f0: 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20  ul>..<li>If set 
5600: 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20  to <b>FALSE</b> 
5610: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c  an exception wil
5620: 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74  l be raised if t
5630: 68 65 20 3c 62 3e 42 69 6e 61 72 79 44 61 74 61  he <b>BinaryData
5640: 2d 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f  -Table</b> and/o
5650: 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c  r the <b>Virtual
5660: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62  Routing-Table</b
5670: 3e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e  > already exist.
5680: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65  </li>..<li>If se
5690: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  t to <b>TRUE</b>
56a0: 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69 73   eventually exis
56b0: 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c 6c  ting Tables will
56c0: 20 62 65 2c 20 74 6f 20 61 76 6f 69 64 20 65 72   be, to avoid er
56d0: 72 6f 72 73 2c 20 64 72 6f 70 70 65 64 20 62 65  rors, dropped be
56e0: 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74 68  fore starting th
56f0: 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c  e execution of <
5700: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  b>CreateRouting(
5710: 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  )</b>.</li>..</u
5720: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a  l></li>..</ol>..
5730: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
5740: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20 63  olor="#ffffc0" c
5750: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
5760: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
5770: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69  <tr><td>..<h3>Hi
5780: 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20 79  ghlight: where y
5790: 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75  ou are</h3>..You
57a0: 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65 64  've just created
57b0: 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75 74   two VirtualRout
57c0: 69 6e 67 2d 54 61 62 6c 65 73 20 62 61 73 65 64  ing-Tables based
57d0: 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73 65   on different se
57e0: 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68 65  ttings; both the
57f0: 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79 20  m are perfectly 
5800: 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f 6e  valid and reason
5810: 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20 61  able, but they a
5820: 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20  re intended for 
5830: 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f 73  different purpos
5840: 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  es:..<ul>..<li><
5850: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20  b>byfoot</b> is 
5860: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74  specifically int
5870: 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 64  ended for <b>ped
5880: 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c  estrians</b>:..<
5890: 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e  ul>..<li>all Lin
58a0: 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 73  ks are always as
58b0: 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63 65  sumed to be acce
58c0: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74  ssible in <b>bot
58d0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e  h directions</b>
58e0: 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c  ; there are no <
58f0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61  b>one-ways</b> a
5900: 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64  nd no <b>forbidd
5910: 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c  en</b> Links.</l
5920: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63  i>..<li>the <b>c
5930: 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20  ost</b> of each 
5940: 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c 79  Link is directly
5950: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
5960: 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c 62  its geometric <b
5970: 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69  >length</b>, whi
5980: 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74  ch is consistent
5990: 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d 70   with the assump
59a0: 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73  tion of an almos
59b0: 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64  t constant speed
59c0: 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69   substantially i
59d0: 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65 72  mmune from adver
59e0: 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f  se road conditio
59f0: 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20 63  ns and traffic c
5a00: 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  ongestion.</li>.
5a10: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
5a20: 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73  ><b>bycar</b> is
5a30: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e   specifically in
5a40: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f  tended for <b>mo
5a50: 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e  tor vehicles</b>
5a60: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e  :..<ul>..<li>man
5a70: 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70 65  y Links are expe
5a80: 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65 73  cted to be acces
5a90: 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68  sible in <b>both
5aa0: 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20   directions</b> 
5ab0: 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c 64  but others could
5ac0: 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a 65   easily be subje
5ad0: 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79  ct to <b>one-way
5ae0: 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e  </b> restriction
5af0: 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f 6d  s or even be com
5b00: 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69  pletely <b>forbi
5b10: 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  dden</b>.</li>..
5b20: 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66 20  <li>the cost of 
5b30: 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78 70  each Link is exp
5b40: 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73 74  ressed as an est
5b50: 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65 6c  imated <b>travel
5b60: 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75   time</b>, becau
5b70: 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64 20  se the expected 
5b80: 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61 74  speeds can great
5b90: 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69 6e  ly vary accordin
5ba0: 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63 20  gly to specific 
5bb0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c  road conditions,
5bc0: 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74   traffic congest
5bd0: 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72 65  ion and legal re
5be0: 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  gulations.</li>.
5bf0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
5c00: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e  l>..<br>..<u>Con
5c10: 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73  clusion</u>: a s
5c20: 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f 75  ingle VirtualRou
5c30: 74 69 6e 67 2d 54 61 62 6c 65 20 63 61 6e 6e 6f  ting-Table canno
5c40: 74 20 61 64 65 71 75 61 74 65 6c 79 20 73 75 70  t adequately sup
5c50: 70 6f 72 74 20 61 6c 6c 20 72 65 71 75 69 72 65  port all require
5c60: 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 65 63 74  ments and expect
5c70: 61 74 69 6f 6e 73 20 6f 66 20 64 69 66 66 65 72  ations of differ
5c80: 65 6e 74 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a  ent users.<br>..
5c90: 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f  Defining more Ro
5ca0: 75 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 74  uting Tables wit
5cb0: 68 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74  h different sett
5cc0: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 73 61 6d  ings for the sam
5cd0: 65 20 4e 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c  e Network usuall
5ce0: 79 20 69 73 20 61 20 67 6f 6f 64 20 64 65 73 69  y is a good desi
5cf0: 67 6e 20 63 68 6f 69 63 65 20 6c 65 61 64 69 6e  gn choice leadin
5d00: 67 20 74 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73  g to more realis
5d10: 74 69 63 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e  tic results.<br>
5d20: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
5d30: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
5d40: 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79 20 66 75  ..<h3>Utility fu
5d50: 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d  nction for autom
5d60: 61 74 69 63 61 6c 6c 79 20 73 65 74 74 69 6e 67  atically setting
5d70: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f   NodeFrom and No
5d80: 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49  deTo IDs</h3>..I
5d90: 74 20 63 6f 75 6c 64 20 68 61 70 70 65 6e 20 74  t could happen t
5da0: 68 61 74 20 61 20 3c 62 3e 53 70 61 74 69 61 6c  hat a <b>Spatial
5db0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70   Network</b> rep
5dc0: 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20 74  resentation is t
5dd0: 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e  opologically con
5de0: 73 69 73 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d  sistent, but com
5df0: 70 6c 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20  pletely lacking 
5e00: 6f 66 20 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72  of any <b>NodeFr
5e10: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f  om</b> and <b>No
5e20: 64 65 54 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74  deTo</b> definit
5e30: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75  ions.<br>..In su
5e40: 63 68 20 61 20 63 61 73 65 20 79 6f 75 20 63 61  ch a case you ca
5e50: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72  n successfully r
5e60: 65 62 75 69 6c 64 20 74 68 65 20 6d 69 73 73 69  ebuild the missi
5e70: 6e 67 20 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64  ng  NodeFrom and
5e80: 20 4e 6f 64 65 54 6f 20 64 65 66 69 6e 69 74 69   NodeTo definiti
5e90: 6f 6e 73 20 66 72 6f 6d 20 61 20 76 61 6c 69 64  ons from a valid
5ea0: 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c   Network by call
5eb0: 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61 74  ing the <b>Creat
5ec0: 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c  eRoutingNodes()<
5ed0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
5ee0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
5ef0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
5f00: 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27  ingNodes(NULL, '
5f10: 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65  table_name', 'ge
5f20: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27  om', 'node_from'
5f30: 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f  , 'node_to');.._
5f40: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76  ________..1..</v
5f60: 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20  erbatim>..Let's 
5f70: 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75  examine all argu
5f80: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20  ments and their 
5f90: 6d 65 61 6e 69 6e 67 73 3a 0d 0a 3c 6f 6c 3e 0d  meanings:..<ol>.
5fa0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e  .<li><i>NULL</i>
5fb0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62  : name of the <b
5fc0: 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e  >Attached-DB</b>
5fd0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20   containing the 
5fe0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62  Spatial Table.<b
5ff0: 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c 65  r>..It can be le
6000: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74  gitimately set t
6010: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61  o <b>NULL</b>, a
6020: 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20  nd in this case 
6030: 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20  the <b>MAIN</b> 
6040: 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f  DB is assumed.</
6050: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c  li>..<li><i>tabl
6060: 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65  e_name</i>: name
6070: 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c 20   of the Spatial 
6080: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Table.</li>..<li
6090: 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e  ><i>geom</li>: n
60a0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
60b0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
60c0: 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e  Table) containin
60d0: 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73  g <b>Linestrings
60e0: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
60f0: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e  <i>node_from</i>
6100: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
6110: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64  lumn to be added
6120: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61   to the above Ta
6130: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65  ble and populate
6140: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61  d with appropria
6150: 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  te <b>NodeFrom</
6160: 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  b> IDs.</li>..<l
6170: 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e  i><i>node_to</i>
6180: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
6190: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64  lumn to be added
61a0: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61   to the above Ta
61b0: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65  ble and populate
61c0: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61  d with appropria
61d0: 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  te <b>NodeTo</b>
61e0: 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f   IDs.<br>..<u>No
61f0: 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e  te</u>: both <b>
6200: 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
6210: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63   <b>NodeTo</b> c
6220: 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f  olumns should no
6230: 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65 66  t be already def
6240: 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f 76  ined in the abov
6250: 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  e Table.</li>..<
6260: 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52  /ol>..<b>CreateR
6270: 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62  outingNodes()</b
6280: 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62  > will return <b
6290: 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  >1</b> (<i>aka</
62a0: 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20  i> <b>TRUE</b>) 
62b0: 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20 65  on success; an e
62c0: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65  xception will be
62d0: 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c 75   raised on failu
62e0: 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  re.<br>..<u>Note
62f0: 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61  </u>: you can ca
6300: 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ll <b>CreateRout
6310: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
6320: 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65  ()</b> so to pre
6330: 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79 20  cisely identify 
6340: 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75 6e  the cause accoun
6350: 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72 65  ting for failure
6360: 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  .<br><br><br>..<
6370: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
6380: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
6390: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
63a0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
63b0: 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20  >..<h3>Handling 
63c0: 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73  dynamic Networks
63d0: 3c 2f 68 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b  </h3>..A Network
63e0: 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a 65 63   could be subjec
63f0: 74 20 74 6f 20 72 61 74 68 65 72 20 66 72 65 71  t to rather freq
6400: 75 65 6e 74 20 63 68 61 6e 67 65 73 2c 20 73 75  uent changes, su
6410: 63 68 20 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ch as:..<ul>..<l
6420: 69 3e 6e 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64  i>new Links need
6430: 20 74 6f 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c   to be added.</l
6440: 69 3e 0d 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65  i>..<li>obsolete
6450: 20 4c 69 6e 6b 73 20 61 72 65 20 72 65 71 75 69   Links are requi
6460: 72 65 64 20 74 6f 20 62 65 20 72 65 6d 6f 76 65  red to be remove
6470: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68  d.</li>..<li>oth
6480: 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63  er Links may rec
6490: 65 69 76 65 20 61 20 64 69 66 66 65 72 65 6e 74  eive a different
64a0: 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   Cost.</li>..<li
64b0: 3e 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c 64 20  >one-ways could 
64c0: 62 65 20 72 65 76 65 72 73 65 64 2c 20 74 68 65  be reversed, the
64d0: 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66 20 70   discipline of p
64e0: 65 64 65 73 74 72 69 61 6e 20 61 72 65 61 73 20  edestrian areas 
64f0: 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66 69 65  could be modifie
6500: 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69  d and so on.</li
6510: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72  >..</ul></li><br
6520: 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74  >..A VirtualRout
6530: 69 6e 67 2d 54 61 62 6c 65 20 69 73 20 61 6c 77  ing-Table is alw
6540: 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20 63  ays based on a c
6550: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44  ompanion BinaryD
6560: 61 74 61 2d 54 61 62 6c 65 2c 20 74 68 61 74 20  ata-Table, that 
6570: 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79  is intrinsically
6580: 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20   <b>static</b>, 
6590: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
65a0: 20 79 6f 75 20 61 72 65 20 72 65 71 75 69 72 65   you are require
65b0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62  d to re-create b
65c0: 6f 74 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d  oth of them from
65d0: 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e   time to time in
65e0: 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72   order to suppor
65f0: 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61  t all recent cha
6600: 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74  nges affecting t
6610: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e  he underlaying N
6620: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65  etwork.<br>..The
6630: 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e   optimal frequen
6640: 63 79 20 66 6f 72 20 74 68 65 20 72 65 66 72 65  cy for the refre
6650: 73 68 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65  shing of the the
6660: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20   Routing Tables 
6670: 64 65 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c  depends  strictl
6680: 79 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69  y on the specifi
6690: 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20  c requirements, 
66a0: 62 75 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76  but these two ov
66b0: 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73  erall approaches
66c0: 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64   are commonly ad
66d0: 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  opted:..<ol>..<l
66e0: 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e  i><b>low frequen
66f0: 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20  cy refresh</b>: 
6700: 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f  best fit for slo
6710: 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74  wly evolving Net
6720: 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  works.<br>..In t
6730: 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65 61  his case re-crea
6740: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6750: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d   Tables once a m
6760: 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61  onth / week / da
6770: 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f  y could be reaso
6780: 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52  nably enough...R
6790: 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54 61  ecreating the Ta
67a0: 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63  bles from scratc
67b0: 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72  h usually requir
67c0: 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e  es several secon
67d0: 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73  ds (or even less
67e0: 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74  , depending on t
67f0: 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e  he number of Lin
6800: 6b 73 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74  ks).<br>..An opt
6810: 69 6f 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63  ional refresh ac
6820: 74 69 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20  tivity could be 
6830: 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74  planned at low t
6840: 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e  raffic hours (e.
6850: 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69  g. during the ni
6860: 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65  ght), and <b>Cre
6870: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
6880: 20 63 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e   could be option
6890: 61 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65  ally called by e
68a0: 6e 61 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72  nabling the over
68b0: 77 72 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c  write option.</l
68c0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75  i>..<li><b>mediu
68d0: 6d 2d 68 69 67 68 20 66 72 65 71 75 65 6e 63 79  m-high frequency
68e0: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
68f0: 73 74 20 66 69 74 20 66 6f 72 20 73 77 69 66 74  st fit for swift
6900: 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77  ly evolving Netw
6910: 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72  orks.<br>..Re-cr
6920: 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f  eating the Netwo
6930: 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70  rk Tables once p
6940: 65 72 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e  er hour (or even
6950: 20 6d 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79   more frequently
6960: 29 20 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63  ) could be stric
6970: 74 6c 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e  tly required, an
6980: 64 20 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75  d frequent <b>ou
6990: 74 20 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e  t of service</b>
69a0: 20 70 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77   periods while w
69b0: 61 69 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72  aiting for the r
69c0: 65 66 72 65 73 68 20 70 72 6f 63 65 73 73 20 74  efresh process t
69d0: 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64  o complete could
69e0: 20 65 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75   easily become u
69f0: 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e  nacceptable.<br>
6a00: 0d 0a 49 6e 20 73 75 63 68 20 63 61 73 65 73 20  ..In such cases 
6a10: 79 6f 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20  you could adopt 
6a20: 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61  a <b>multi-threa
6a30: 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e  ded strategy</b>
6a40: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
6a50: 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c  thread #1</b> (<
6a60: 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e  i>the reader</i>
6a70: 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74 68  ): this first th
6a80: 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64  read is intended
6a90: 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20   to service any 
6aa0: 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67  incoming Routing
6ab0: 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c   request. It wil
6ac0: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74 69  l be always acti
6ad0: 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72  ve, and will tar
6ae0: 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e  get a well known
6af0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d   VirtualRouting-
6b00: 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d  Table (e.g. <b>m
6b10: 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61  y_routing</b> ba
6b20: 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75  sed on <b>my_rou
6b30: 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c  ting_data</b>).<
6b40: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72  /li>..<li><b>thr
6b50: 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74  ead #2</b> (<i>t
6b60: 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20  he writer</i>): 
6b70: 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65  this second thre
6b80: 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e  ad is just inten
6b90: 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65  ded to re-create
6ba0: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6bb0: 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69 6e  bles at predefin
6bc0: 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e  ed intervals, an
6bd0: 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20  d it will sleep 
6be0: 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 69  until the next i
6bf0: 6e 74 65 72 76 61 6c 2e 3c 62 72 3e 0d 0a 41 74  nterval.<br>..At
6c00: 20 65 61 63 68 20 69 6e 74 65 72 76 61 6c 20 61   each interval a
6c10: 20 63 6f 70 79 20 6f 66 20 62 6f 74 68 20 4e 65   copy of both Ne
6c20: 74 77 6f 72 6b 20 54 61 62 6c 65 73 2c 20 77 69  twork Tables, wi
6c30: 6c 6c 20 62 65 20 6d 61 64 65 20 61 6e 64 2c 20  ll be made and, 
6c40: 77 68 65 6e 20 63 6f 6d 70 6c 65 61 74 65 64 2c  when compleated,
6c50: 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 20   will overwrite 
6c60: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 54 61 62  the original Tab
6c70: 6c 65 73 20 28 61 63 74 69 76 61 74 69 6e 67 20  les (activating 
6c80: 61 20 73 65 6d 61 70 68 6f 72 65 20 64 75 72 69  a semaphore duri
6c90: 6e 67 20 74 68 69 73 20 73 68 6f 72 74 2d 74 69  ng this short-ti
6ca0: 6d 65 64 20 6c 61 73 74 20 73 74 65 70 20 69 73  med last step is
6cb0: 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e   highly recommen
6cc0: 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74  ded).<br>..Somet
6cd0: 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 70  hing like this p
6ce0: 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 65 6d 70  seudo-code exemp
6cf0: 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 62 61 74  lifies:..<verbat
6d00: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
6d10: 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 77 5f 6d  teRouting('new_m
6d20: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6d30: 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67   'new_my_routing
6d40: 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20  ', ...);....--> 
6d50: 73 74 61 72 74 20 74 68 65 20 73 65 6d 61 70 68  start the semaph
6d60: 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 6b 20 74  ore so to lock t
6d70: 68 65 20 6f 74 68 65 72 20 74 68 72 65 61 64 0d  he other thread.
6d80: 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 4f 50 20  ...BEGIN;..DROP 
6d90: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6da0: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6db0: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6dc0: 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 61 62 6c  SELECT CloneTabl
6dd0: 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 77 5f 6d  e('MAIN', 'new_m
6de0: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6df0: 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74   'my_routing_dat
6e00: 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 54 45 20  a', 0);..CREATE 
6e10: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 6d 79  VIRTUAL TABLE my
6e20: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56  _routing USING V
6e30: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 6d  irtualRouting('m
6e40: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 29  y_routing_data')
6e50: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65  ;..DROP TABLE ne
6e60: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44  w_my_routing;..D
6e70: 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79  ROP TABLE new_my
6e80: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6e90: 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72  COMMIT;....--> r
6ea0: 65 6d 6f 76 65 20 74 68 65 20 73 65 6d 61 70 68  emove the semaph
6eb0: 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ore..</verbatim>
6ec0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73  ..<u>Note</u>: s
6ed0: 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 74 69  trictly respecti
6ee0: 6e 67 20 74 68 65 20 61 62 6f 76 65 20 73 65 71  ng the above seq
6ef0: 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 6f 70 65  uence of SQL ope
6f00: 72 61 74 69 6f 6e 73 20 69 73 20 61 62 73 6f 6c  rations is absol
6f10: 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c  utely required.<
6f20: 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  /li> ..</ul></li
6f30: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ol>..</td><
6f40: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
6f50: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
6f60: 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63  olor="#ffb060" c
6f70: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
6f80: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
6f90: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61  <tr><td>..<h3>Wa
6fa0: 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f  rning: how to co
6fb0: 72 72 65 63 74 6c 79 20 64 72 6f 70 20 4e 65 74  rrectly drop Net
6fc0: 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f 68 33 3e  work Tables</h3>
6fd0: 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 6e 67 20  ..When dropping 
6fe0: 61 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  a VirtualRouting
6ff0: 2d 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63  -Table and its c
7000: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44  ompanion BinaryD
7010: 61 74 61 2d 54 61 62 6c 65 20 73 74 72 69 63 74  ata-Table strict
7020: 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68  ly respecting th
7030: 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e  e correct sequen
7040: 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61 6e  ce of SQL comman
7050: 64 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c 2e  ds is essential.
7060: 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74 6f  <br>..Failing to
7070: 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 63   strictly respec
7080: 74 20 74 68 69 73 20 65 78 70 65 63 74 65 64 20  t this expected 
7090: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75  sequence will su
70a0: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73  rely cause you s
70b0: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20  everal troubles 
70c0: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61  and severe heada
70d0: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70  ches, and will p
70e0: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20  ossibly lead to 
70f0: 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6f 72  a completely cor
7100: 72 75 70 74 65 64 20 64 61 74 61 62 61 73 65 2e  rupted database.
7110: 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 66 69 72  ...<ol>..<li>fir
7120: 73 74 20 44 52 4f 50 20 74 68 65 20 56 69 72 74  st DROP the Virt
7130: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65  ualRouting-Table
7140: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
7150: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
7160: 44 61 74 61 2d 54 61 62 6c 65 20 63 61 6e 20 6f  Data-Table can o
7170: 6e 6c 79 20 62 65 20 73 61 66 65 6c 79 20 44 52  nly be safely DR
7180: 4f 50 65 64 20 61 66 74 65 72 20 74 68 65 20 56  OPed after the V
7190: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61  irtualRouting-Ta
71a0: 62 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65 6d  ble has been rem
71b0: 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  oved.</li>..<li>
71c0: 3c 75 3e 42 65 20 77 61 72 6e 65 64 3c 2f 75 3e  <u>Be warned</u>
71d0: 3a 20 69 66 20 79 6f 75 20 44 52 4f 50 20 74 68  : if you DROP th
71e0: 65 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62  e BinaryData-Tab
71f0: 6c 65 20 66 69 72 73 74 2c 20 74 68 65 20 56 69  le first, the Vi
7200: 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62  rtualRouting-Tab
7210: 6c 65 20 77 69 6c 6c 20 62 65 20 3c 62 3e 6f 72  le will be <b>or
7220: 70 68 61 6e 65 64 3c 2f 62 3e 20 61 6e 64 20 63  phaned</b> and c
7230: 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20  an no longer be 
7240: 44 52 4f 50 65 64 20 21 3c 62 72 3e 0d 0a 3c 62  DROPed !<br>..<b
7250: 3e 59 6f 75 20 68 61 76 65 20 62 65 65 6e 20 77  >You have been w
7260: 61 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69  arned !!</b></li
7270: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ol>..</td><
7280: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
7290: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62  <br><br>..<hr><b
72a0: 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d  r>..<h1><a name=
72b0: 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f  "from_to">4 - So
72c0: 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68  lving classic Sh
72d0: 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62  ortest Path prob
72e0: 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54  lems</a></h1>..T
72f0: 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20  he most classic 
7300: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72  Shortest Path pr
7310: 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74  oblem requires t
7320: 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f  o identify the o
7330: 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f  ptimal connectio
7340: 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e  n between an <b>
7350: 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20  Origin Node</b> 
7360: 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61  and a <b>Destina
7370: 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62  tion Node</b>.<b
7380: 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c  r>..We can easil
7390: 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68  y translate such
73a0: 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20   a problem into 
73b0: 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65  a simple SQL que
73c0: 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d  ry targeting som
73d0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
73e0: 2d 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74  -Table...<verbat
73f0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a  im>..SELECT * ..
7400: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
7410: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
7420: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
7430: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72  = 183286;..</ver
7440: 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62  batim>..<table b
7450: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
7460: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
7470: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
7480: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
7490: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
74a0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
74b0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
74c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75  r="#d0d0a0">Requ
74d0: 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  est</th><th bgco
74e0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
74f0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
7500: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7510: 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74  Delimiter</th><t
7520: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
7530: 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e  a0">RouteId</th>
7540: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7550: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
7560: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7570: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
7580: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7590: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
75a0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
75b0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
75c0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
75d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
75e0: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
75f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7600: 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74  PointFrom</th><t
7610: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
7620: 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e  a0">PointTo</th>
7630: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7640: 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c  d0a0">Tolerance<
7650: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7660: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
7670: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7680: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
7690: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
76a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
76b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
76c0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
76d0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20  td><td>Shortest 
76e0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
76f0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
7700: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
7710: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
7720: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
7730: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7740: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
7750: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
7760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
7780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7790: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
77a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
77b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
77c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
77d0: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
77e0: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
77f0: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
7800: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7810: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
7820: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7830: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7840: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7850: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7860: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
7870: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
7880: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
7890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
78a0: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
78b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
78c0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
78d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
78e0: 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  85</td><td>NULL<
78f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7900: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7910: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7920: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
7930: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
7940: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
7950: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
7960: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
7970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
79a0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
79b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
79c0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
79d0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
79e0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
79f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7a00: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
7a10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7a20: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
7a30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7a40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7a60: 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c  ight">69.727726<
7a70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7a80: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
7a90: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
7aa0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
7ab0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7ac0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7ad0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
7ae0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
7af0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7b00: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
7b10: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
7b20: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31  gn="right">22441
7b30: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
7b40: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
7b50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7b60: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
7b70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7b80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7b90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
7ba0: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
7bb0: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
7bc0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
7bd0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
7be0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
7bf0: 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63  <br>..Let's quic
7c00: 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20  kly examine the 
7c10: 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
7c20: 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20  ed by the above 
7c30: 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a  Routing query:..
7c40: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  <ul>..<li>the <b
7c50: 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28  >first row</b> (
7c60: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65  <i>aka</i> heade
7c70: 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65  r row) has a spe
7c80: 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74  cial interpretat
7c90: 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65  ion, and is inte
7ca0: 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a  nded to summariz
7cb0: 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c  e the travel sol
7cc0: 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65  ution as a whole
7cd0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20  .</li>..<li>all 
7ce0: 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67  the <b>following
7cf0: 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73   rows</b> repres
7d00: 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e  ent a single Lin
7d10: 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75  k required to bu
7d20: 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e  ild the solution
7d30: 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20   (optima path); 
7d40: 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65  Links are ordere
7d50: 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f  d accordingly to
7d60: 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65   the travel dire
7d70: 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67  ction connecting
7d80: 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20   the Origin and 
7d90: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e  the Destination.
7da0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
7db0: 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  ns <b>Algorithm<
7dc0: 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c  /b>, <b>Request<
7dd0: 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  /b>, <b>Options<
7de0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65  /b>, <b>Delimite
7df0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46  r</b>, <b>PointF
7e00: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e  rom</b>, <b>Poin
7e10: 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65  tTo</b>, <b>Tole
7e20: 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62  rance</b> and <b
7e30: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72  >Geometry</b> ar
7e40: 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20  e always set to 
7e50: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 65 78 63  <b>NULL</b> (exc
7e60: 65 70 74 20 74 68 61 74 20 6f 66 20 74 68 65 20  ept that of the 
7e70: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65  first row of the
7e80: 20 72 65 73 75 6c 74 73 65 74 29 3a 0d 0a 3c 75   resultset):..<u
7e90: 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  l>..<li>column <
7ea0: 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20  b>Algorithm</b> 
7eb0: 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65  accounts for the
7ec0: 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74   Routing Algorit
7ed0: 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63  hm used by the c
7ee0: 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69  urrent query (<i
7ef0: 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20  >Dijkstra's</i> 
7f00: 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f  or <i>A*</i>).</
7f10: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
7f20: 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73  <b>Request</b> s
7f30: 70 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61  pecifies the exa
7f40: 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65  ct nature of the
7f50: 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28   current query (
7f60: 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63  in this specific
7f70: 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73   case <i>Shortes
7f80: 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69  t Path</i>).</li
7f90: 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77  >..<li>for now w
7fa0: 65 27 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 20  e'll ignore the 
7fb0: 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f  columns <b>Optio
7fc0: 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d  ns</b>, <b>Delim
7fd0: 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  iter</b>, <b>Poi
7fe0: 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50  ntFrom</b>, <b>P
7ff0: 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c  ointTo</b> and <
8000: 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a  b>Tolerance</b>:
8010: 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76   their respectiv
8020: 65 20 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20  e meanings will 
8030: 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20  be explained in 
8040: 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72  following paragr
8050: 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  aphs.</li>..<li>
8060: 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74  column <b>Geomet
8070: 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  ry</b> contains 
8080: 61 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c  a <b>LINESTRING<
8090: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69  /b> representati
80a0: 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20  on of the whole 
80b0: 52 6f 75 74 65 20 73 6f 6c 75 74 69 6f 6e 2e 3c  Route solution.<
80c0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
80d0: 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20  : on <b>Logical 
80e0: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f  Networks</b> (no
80f0: 74 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f  t supporting Geo
8100: 6d 65 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d  metries) <b>Geom
8110: 65 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c  etry</b> will al
8120: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c  ways be <b>NULL<
8130: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /b>.</li>..</ul>
8140: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c  </li>..<li>we'll
8150: 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20   ignore for now 
8160: 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49  column <b>RouteI
8170: 64 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69  d</b>; its meani
8180: 6e 67 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61  ng will be expla
8190: 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e  ined in followin
81a0: 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c  g paragraphs.</l
81b0: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  i>..<li>column <
81c0: 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73  b>RouteRow</b> s
81d0: 69 6d 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f  imply is the pro
81e0: 67 72 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20  gressive number 
81f0: 6f 66 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68  of the row in th
8200: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  e travel solutio
8210: 6e 20 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f  n (always <b>0</
8220: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72  b> in the header
8230: 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   row).</li>..<li
8240: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c  >column <b>Role<
8250: 2f 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f  /b> can be <i>Ro
8260: 75 74 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20  ute</i> (header 
8270: 72 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c  row) or <i>Link<
8280: 2f 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69  /i> (all followi
8290: 6e 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a  ng rows).</li>..
82a0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69  <li>column <b>Li
82b0: 6e 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65  nkRowid</b> refe
82c0: 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f  rences the <b>RO
82d0: 57 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63  WID</b> of the c
82e0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e  orresponding Lin
82f0: 6b 20 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f  k (always set to
8300: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20   <b>NULL</b> in 
8310: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e  the header row).
8320: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
8330: 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  n <b>NodeFrom</b
8340: 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
8350: 2f 62 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c  /b> have the fol
8360: 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74  lowing interpret
8370: 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ation:..<ul>..<l
8380: 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  i>in the header 
8390: 72 6f 77 20 74 68 65 79 20 63 6f 72 72 65 73 70  row they corresp
83a0: 6f 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69  ond to he <b>Ori
83b0: 67 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44  gin</b> and <b>D
83c0: 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e  estination</b> N
83d0: 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  odes.</li>..<li>
83e0: 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f  in all of the fo
83f0: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65  llowing rows the
8400: 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74  y are intended t
8410: 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 69  o specify the di
8420: 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63  rection of the c
8430: 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69  urrent Link.</li
8440: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
8450: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73  li>column <b>Cos
8460: 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f  t</b> has the fo
8470: 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65  llowing interpre
8480: 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  tation:..<ul>..<
8490: 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72  li>in the header
84a0: 20 72 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f   row it correspo
84b0: 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f  nds to the <b>to
84c0: 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20  tal cost</b> of 
84d0: 74 68 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d  the route.</li>.
84e0: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74  .<li>in all of t
84f0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77  he following row
8500: 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 20  s it represents 
8510: 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 73  the specific cos
8520: 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74  t of the current
8530: 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75   Link.</li>..</u
8540: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  l></li>..<li>col
8550: 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20  umn <b>Name</b> 
8560: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73  contains the des
8570: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20  cription of the 
8580: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73  current Link (us
8590: 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d  ually a road nam
85a0: 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79  e), and is alway
85b0: 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e  s <b>NULL</b> in
85c0: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e   the header row.
85d0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
85e0: 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c  > it could be al
85f0: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c  ways be <b>NULL<
8600: 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74 75  /b> if the Virtu
8610: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20  alRouting-Table 
8620: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  does not support
8630: 73 20 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68  s names (i.e. th
8640: 65 20 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63  e <b>road_name_c
8650: 6f 6c 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f  olumn</b> parm o
8660: 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20  f CreateRouting 
8670: 77 61 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f  was not used).</
8680: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
8690: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  .</ul>..<br><br>
86a0: 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 65  ..Testing the re
86b0: 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  turn connection 
86c0: 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73 77  just requires sw
86d0: 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69  apping the Origi
86e0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e  n and the Destin
86f0: 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65  ation; in this e
8700: 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75  xample you'll ju
8710: 73 74 20 71 75 65 72 79 20 74 68 65 20 6e 65 65  st query the nee
8720: 64 65 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76  ded columns:..<v
8730: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
8740: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
8750: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
8760: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
8770: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
8780: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
8790: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20  .WHERE NodeTo = 
87a0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46  178731 AND NodeF
87b0: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  rom = 183286;..<
87c0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
87d0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
87e0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
87f0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
8800: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
8810: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
8820: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
8830: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
8840: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
8850: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
8860: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
8870: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
8880: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8890: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
88a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
88b0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
88c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
88d0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
88e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
88f0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
8900: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
8910: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
8920: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
8930: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8940: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
8950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
8960: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8970: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
8980: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8990: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
89a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
89b0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
89c0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
89d0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
89e0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
89f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8a00: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
8a10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8a20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
8a30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8a40: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
8a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8a60: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
8a70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8a80: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
8a90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
8aa0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
8ab0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
8ac0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8ad0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
8ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8af0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
8b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8b10: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8b20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8b30: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
8b40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
8b50: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
8b60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8b70: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
8b80: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
8b90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8ba0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
8bb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8bc0: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74  right">224014</t
8bd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8be0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
8bf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8c00: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
8c10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34  align="right">94
8c20: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e  .812424</td><td>
8c30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8c40: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
8c50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
8c60: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20  able>..<br>..As 
8c70: 79 6f 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c  you'll remember,
8c80: 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f   the <b>byfoot</
8c90: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  b> VirtualRoutin
8ca0: 67 2d 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c  g-Table has no <
8cb0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20  b>one-ways</b>, 
8cc0: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
8cd0: 20 74 68 65 20 72 65 74 75 72 6e 20 70 61 74 68   the return path
8ce0: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
8cf0: 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65  the first one, e
8d00: 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c  xcept in that al
8d10: 6c 20 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65  l directions are
8d20: 20 6e 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a   now reversed...
8d30: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f  <br><br><br>..No
8d40: 77 20 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68  w you'll test th
8d50: 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f  e same connectio
8d60: 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d  ns, but this tim
8d70: 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20  e you'll target 
8d80: 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e  the <b>bycar</b>
8d90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d   VirtualRouting-
8da0: 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79  Table that fully
8db0: 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65   supports <b>one
8dc0: 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72  -ways</b>:..<ver
8dd0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
8de0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
8df0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
8e00: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
8e10: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
8e20: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48  ..FROM bycar..WH
8e30: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
8e40: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
8e50: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
8e60: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
8e70: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
8e80: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
8e90: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
8ea0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
8eb0: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
8ec0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
8ed0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
8ee0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
8ef0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8f00: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
8f10: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
8f20: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8f30: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
8f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f50: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
8f60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8f70: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
8f80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f90: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
8fa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8fb0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
8fc0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
8fd0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
8fe0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
8ff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9000: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9010: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
9020: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9030: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9040: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31  n="right">101.81
9050: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  5552</td><td>BLO
9060: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54  B sz=2032 GEOMET
9070: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
9080: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9090: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
90a0: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
90b0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
90c0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
90d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
90e0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
90f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9100: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
9110: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9120: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c  >13.127874</td><
9130: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9140: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
9150: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
9160: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9170: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
9180: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9190: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
91a0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
91b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
91c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
91d0: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
91e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
91f0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64  ht">9.654608</td
9200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9210: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
9220: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
9230: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9240: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
9250: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9260: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31  ign="right">2191
9270: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
9280: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
9290: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
92a0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
92b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
92c0: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e  t">7.809952</td>
92d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
92e0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
92f0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
9300: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9310: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
9320: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9330: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9340: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
9350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9360: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
9370: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
9380: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9390: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36  right">12.445626
93a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
93b0: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
93c0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
93d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
93e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
93f0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
9400: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9410: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e  ght">225888</td>
9420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9430: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
9440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9450: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  83461</td><td al
9460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39  ign="right">1.59
9470: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9865</td><td>NUL
9480: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
9490: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
94a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
94b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
94c0: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
94d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
94e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c  ="right">225887<
94f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9500: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64  ight">183461</td
9510: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9520: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74  t">182800</td><t
9530: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9540: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64  3.300590</td><td
9550: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9560: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
9570: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
9580: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9590: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
95a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
95b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33  lign="right">223
95c0: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  935</td><td alig
95d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30  n="right">182800
95e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
95f0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74  right">182799</t
9600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9610: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64  ht">6.688786</td
9620: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9630: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
9640: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
9650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9660: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
9670: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9680: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9690: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64  ">226038</td><td
96a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
96b0: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82799</td><td al
96c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
96d0: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
96e0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31  ="right">1.29401
96f0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
9700: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43  td><td>VIALE LUC
9710: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64  A SIGNORELLI</td
9720: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9740: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">9</td><td>Link
9750: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9760: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74  right">225832</t
9770: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9780: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c  ht">183456</td><
9790: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
97a0: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20  >183444</td><td 
97b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e  align="right">2.
97c0: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e  385486</td><td>N
97d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c  ULL</td><td>VIAL
97e0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c  E LUCA SIGNORELL
97f0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
9800: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9810: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74  right">10</td><t
9820: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9840: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  831</td><td alig
9850: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34  n="right">183444
9860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9870: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74  right">183554</t
9880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9890: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64  ht">3.160662</td
98a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
98b0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
98c0: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
98d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
98e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c  lign="right">11<
98f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9900: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9910: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74  t">225765</td><t
9920: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9930: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61  183554</td><td a
9940: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9950: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  954</td><td alig
9960: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39  n="right">7.4699
9970: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
9980: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55  /td><td>VIALE LU
9990: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74  CA SIGNORELLI</t
99a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
99b0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
99c0: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">12</td><td>Li
99d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
99e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c  ="right">225766<
99f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9a00: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64  ight">183954</td
9a10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9a20: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74  t">183905</td><t
9a30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9a40: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64  3.236389</td><td
9a50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9a60: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
9a70: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9a80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9a90: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e  ="right">13</td>
9aa0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9ab0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9ac0: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  25979</td><td al
9ad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39  ign="right">1839
9ae0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  05</td><td align
9af0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c  ="right">183626<
9b00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9b10: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c  ight">13.983629<
9b20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9b30: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a  ><td>STRADA SENZ
9b40: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  A NOME</td>..</t
9b50: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9b60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f  ign="right">14</
9b70: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9b80: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9b90: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64  ">224905</td><td
9ba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9bb0: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83626</td><td al
9bc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
9bd0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  28</td><td align
9be0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35  ="right">5.62735
9bf0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
9c00: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45  td><td>STRADA SE
9c10: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c  NZA NOME</td>..<
9c20: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9c30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
9c40: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9c50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9c60: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c  ht">224897</td><
9c70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9c80: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20  >183128</td><td 
9c90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9ca0: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
9cb0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33  gn="right">10.03
9cc0: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0792</td><td>NUL
9cd0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
9ce0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
9cf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
9d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
9d10: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ECT RouteRow, Ro
9d20: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
9d30: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
9d40: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
9d50: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61   Name..FROM byca
9d60: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20  r..WHERE NodeTo 
9d70: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
9d80: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d  eFrom = 183286;.
9d90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74  .</verbatim>..<t
9da0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
9db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
9dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
9dd0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
9de0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
9df0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
9e00: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
9e10: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
9e20: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
9e30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9e40: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
9e50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9e60: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
9e70: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9e80: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
9e90: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9ea0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
9eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9ec0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
9ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
9ee0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
9ef0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
9f00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f10: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
9f20: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
9f30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9f40: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
9f50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f60: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
9f70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9f80: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74  03.305259</td><t
9f90: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45  d>BLOB sz=944 GE
9fa0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
9fb0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
9fc0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9fd0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
9fe0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9ff0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a000: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
a010: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
a020: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
a030: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
a040: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a050: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f  ght">18.882285</
a060: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a070: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
a080: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
a090: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a0a0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
a0b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a0c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
a0d0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
a0e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
a0f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
a100: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
a110: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a120: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74  ght">7.809952</t
a130: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a140: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
a150: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
a160: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a170: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
a180: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a190: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a1a0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
a1b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a1c0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
a1d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
a1e0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
a1f0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36  ="right">12.4456
a200: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
a210: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
a220: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
a230: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
a240: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a250: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">4</td><td>Link
a260: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a270: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74  right">224538</t
a280: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a290: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
a2a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a2b0: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20  >181972</td><td 
a2c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e  align="right">7.
a2d0: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e  047784</td><td>N
a2e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a2f0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f  ANTONIO GUADAGNO
a300: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
a310: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a320: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
a330: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
a350: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  575</td><td alig
a360: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32  n="right">181972
a370: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a380: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74  right">181971</t
a390: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a3a0: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64  ht">1.852283</td
a3b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a3c0: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
a3d0: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
a3e0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  /tr>..<td align=
a3f0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
a400: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a410: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a420: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  967</td><td alig
a430: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31  n="right">181971
a440: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a450: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74  right">182891</t
a460: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a470: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74  ht">14.273185</t
a480: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a490: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
a4a0: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
a4b0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a4c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
a4d0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a4e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a4f0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c  ht">224168</td><
a500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a510: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20  >182891</td><td 
a520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a530: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3057</td><td ali
a540: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33  gn="right">6.643
a550: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  309</td><td>NULL
a560: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43  </td><td>VIA MAC
a570: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ALLE'</td>..</tr
a580: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a590: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
a5a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a5b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a5c0: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61  224167</td><td a
a5d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
a5e0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  057</td><td alig
a5f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36  n="right">183056
a600: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a610: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c  right">3.151272<
a620: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a630: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45  ><td>VIA MACALLE
a640: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  '</td>..</tr>..<
a650: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a660: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64  right">9</td><td
a670: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31  ign="right">2241
a690: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  74</td><td align
a6a0: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c  ="right">183056<
a6b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a6c0: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64  ight">182941</td
a6d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a6e0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e  t">7.966870</td>
a6f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a700: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a  >VIA RODI</td>..
a710: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a730: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  0</td><td>Link</
a740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a750: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e  ght">224059</td>
a760: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a770: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64  ">182941</td><td
a780: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a790: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82001</td><td al
a7a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39  ign="right">6.39
a7b0: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3747</td><td>NUL
a7c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f  L</td><td>VIA RO
a7d0: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  DI</td>..</tr>..
a7e0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a7f0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c  "right">11</td><
a800: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a820: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2637</td><td ali
a830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
a840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a850: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
a860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a870: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74  ght">2.475538</t
a880: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a890: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
a8a0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
a8b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74  gn="right">12</t
a8d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a8e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a8f0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20  >222636</td><td 
a900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a910: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
a920: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
a930: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a940: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30  "right">14.36340
a950: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
a960: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
a970: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
a980: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
a990: 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61  .<br>..As you ca
a9a0: 6e 20 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d  n see, the optim
a9b0: 61 6c 20 70 61 74 68 73 20 72 65 74 75 72 6e 65  al paths returne
a9c0: 64 20 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61  d by the <b>byca
a9d0: 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75  r</b> VirtualRou
a9e0: 74 69 6e 67 2d 54 61 62 6c 65 20 69 6e 20 74 68  ting-Table in th
a9f0: 65 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63  e opposite direc
aa00: 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64  tions strongly d
aa10: 69 66 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20  iffer, and both 
aa20: 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64  are completely d
aa30: 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68  ifferent from th
aa40: 65 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64  e paths returned
aa50: 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e   by querying <b>
aa60: 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d  byfoot</b>.<br>.
aa70: 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20  .A quick glance 
aa80: 61 74 20 74 68 65 20 6d 61 70 20 62 65 6c 6f 77  at the map below
aa90: 20 77 69 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e   will help to un
aaa0: 64 65 72 73 74 61 6e 64 20 62 65 74 74 65 72 20  derstand better 
aab0: 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61  what's really ha
aac0: 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68  ppening.<br>..Th
aad0: 69 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20  is is a central 
aae0: 61 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e  area of the town
aaf0: 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e   of Arezzo aroun
ab00: 64 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67  d the archaeolog
ab10: 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68  ical ruins of th
ab20: 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65  e Roman Amphithe
ab30: 61 74 65 72 3b 20 74 72 61 76 65 6c 69 6e 67 20  ater; traveling 
ab40: 62 79 20 63 61 72 20 73 68 6f 75 6c 64 20 62 65  by car should be
ab50: 20 61 76 6f 69 64 65 64 2c 20 64 75 65 20 74 6f   avoided, due to
ab60: 20 74 68 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61   the many one-wa
ab70: 79 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 20  y restrictions. 
ab80: 4e 6f 74 20 73 75 72 70 72 69 73 69 6e 67 6c 79  Not surprisingly
ab90: 2c 20 67 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20  , going by foot 
aba0: 69 73 20 74 68 65 20 66 61 73 74 65 72 20 6f 70  is the faster op
abb0: 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  tion...<br><br>.
abc0: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
abd0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
abe0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
abf0: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
ac00: 67 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g1.jpg" alt="fig
ac10: 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79  1">..<ul>..<li>y
ac20: 65 6c 6c 6f 77 20 70 61 74 68 3a 20 70 65 64 65  ellow path: pede
ac30: 73 74 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c  strians</li>..<l
ac40: 69 3e 67 72 65 65 6e 20 70 61 74 68 3a 20 63 61  i>green path: ca
ac50: 72 2c 20 66 6f 72 77 61 72 64 20 64 69 72 65 63  r, forward direc
ac60: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72  tion</li>..<li>r
ac70: 65 64 20 70 61 74 68 3a 20 63 61 72 2c 20 72 65  ed path: car, re
ac80: 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f  turn direction</
ac90: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
aca0: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
acb0: 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
acc0: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
acd0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
ace0: 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74  <td>..<h3>Linest
acf0: 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62  rings returned b
ad00: 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  y VirtualRouting
ad10: 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53  </h3>..All LINES
ad20: 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 69 65 73  TRING Geometries
ad30: 20 63 72 65 61 74 65 64 20 62 79 20 61 6e 79 20   created by any 
ad40: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77  VirtualRouting w
ad50: 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61  ill always conta
ad60: 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f  in <b>M values</
ad70: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69  b>:..<ul>..<li>i
ad80: 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  f the underlayin
ad90: 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d  g Network's Geom
ada0: 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59  etries are <b>XY
adb0: 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d  </b> then <b>XYM
adc0: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
add0: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ade0: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
adf0: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ae00: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
ae10: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c  ries are <b>XYZ<
ae20: 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d  /b> then <b>XYZM
ae30: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
ae40: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ae50: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
ae60: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ae70: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
ae80: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c  ries are <b>XYM<
ae90: 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f  /b> or <b>XYZM</
aea0: 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 73 74 72  b> then  Linestr
aeb0: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 69 6e  ings returned in
aec0: 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  to the resultset
aed0: 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74   will maintain t
aee0: 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f  he same dimensio
aef0: 6e 73 20 61 73 20 69 6e 20 74 68 65 20 75 6e 64  ns as in the und
af00: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b  erlaying Network
af10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61  .</li>..<li>in a
af20: 6e 79 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d  ny case the <b>M
af30: 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c  </b> values will
af40: 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65 6c   be appropriatel
af50: 79 20 73 65 74 20 73 6f 20 74 6f 20 72 65 70 72  y set so to repr
af60: 65 73 65 6e 74 20 74 68 65 20 3c 75 3e 70 61 72  esent the <u>par
af70: 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f  tial cost</u> co
af80: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65  rresponding to e
af90: 61 63 68 20 76 65 72 74 65 78 2e 0d 0a 28 69 66  ach vertex...(if
afa0: 20 74 68 65 20 69 6e 70 75 74 20 4c 69 6e 65 73   the input Lines
afb0: 74 72 69 6e 67 73 20 61 6c 72 65 61 64 79 20 63  trings already c
afc0: 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73  ontains M-values
afd0: 20 74 68 65 79 27 6c 6c 20 62 65 20 6f 76 65 72   they'll be over
afe0: 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a  written).</li>..
aff0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  </ul>..<br>..In 
b000: 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c  other words, all
b010: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74   Linestrings ret
b020: 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c  urned by Virtual
b030: 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 66 66 65  Routing can effe
b040: 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20  ctively support 
b050: 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69  <b>LR</b> (<i>Li
b060: 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67  near Referencing
b070: 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e 63 74 69  </i>) SQL functi
b080: 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 65 20 66  ons, as in the f
b090: 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65  ollowing example
b0a0: 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  s:..<verbatim>..
b0b0: 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65  SELECT ST_Locate
b0c0: 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65  _Between_Measure
b0d0: 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30  s(<geometry>, 30
b0e0: 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45  .0, 45.0);....SE
b0f0: 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42  LECT ST_Locate_B
b100: 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28  etween_Measures(
b110: 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30  <geometry>, 80.0
b120: 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62  , 95.0);..</verb
b130: 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20  atim>..The side 
b140: 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20  map graphically 
b150: 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61  shows the estima
b160: 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 72 65  ted positions re
b170: 73 70 65 63 74 69 76 65 6c 79 20 3c 62 3e 33 30  spectively <b>30
b180: 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73  </b>-<b>45</b> s
b190: 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61  econds after sta
b1a0: 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f  rting (yellow do
b1b0: 74 74 65 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c  tted line) and <
b1c0: 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f  b>80</b>-<b>95</
b1d0: 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72  b> seconds after
b1e0: 20 73 74 61 72 74 69 6e 67 20 28 67 72 65 65 6e   starting (green
b1f0: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62   dotted line).<b
b200: 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 20 74 68  r>..(assuming th
b210: 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75  e same path retu
b220: 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65  rned by the late
b230: 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20  st <b>bycar</b> 
b240: 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a  query)...</td>..
b250: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
b260: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
b270: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
b280: 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75  routing-figs/rou
b290: 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22  ting2.jpg" alt="
b2a0: 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74  fig2"></td>..</t
b2b0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
b2c0: 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20  r>..<h2>Playing 
b2d0: 77 69 74 68 20 56 69 72 74 75 61 6c 52 6f 75 74  with VirtualRout
b2e0: 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 62 6c 65  ing configurable
b2f0: 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53   options</h2>..S
b300: 65 76 65 72 61 6c 20 61 73 70 65 63 74 73 20 6f  everal aspects o
b310: 66 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  f VirtualRouting
b320: 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 63   can be freely c
b330: 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72  ustomized...<ver
b340: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
b350: 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69  yfoot SET Algori
b360: 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53  thm = 'A*';....S
b370: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
b380: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52   Options, RouteR
b390: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
b3a0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
b3b0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
b3c0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
b3d0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
b3e0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
b3f0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
b400: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
b410: 69 6d 3e 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72  im>..As you'll r
b420: 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74  emember in all t
b430: 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d  he previous exam
b440: 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b  ples the <b>Dijk
b450: 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72  stra's</b> algor
b460: 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20 6e  ithm was used; n
b470: 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75 74  ow (after execut
b480: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c 62  ing the above <b
b490: 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c  >UPDATE</b>) all
b4a0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
b4b0: 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20 62  ueries will be b
b4c0: 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74 65  ased on the alte
b4d0: 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62  rnative <b>A*</b
b4e0: 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e  > algorithm.<br>
b4f0: 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f  ..If you wish to
b500: 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20   switch back to 
b510: 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61  the Dijkstra's a
b520: 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73  lgorithm you jus
b530: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74  t have to execut
b540: 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20  e<br> <b>UPDATE 
b550: 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72  byfoot SET Algor
b560: 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41  ithm = 'DIJKSTRA
b570: 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d  ';</b>.<br><br>.
b580: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
b590: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
b5a0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
b5b0: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
b5c0: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
b5d0: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
b5e0: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
b5f0: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  n the <b>Algorit
b600: 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  hm</b> column...
b610: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
b620: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
b630: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
b640: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
b650: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
b660: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
b670: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
b680: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
b690: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
b6a0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
b6b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
b6c0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
b6d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b6e0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
b6f0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b700: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
b710: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b720: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
b730: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b740: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
b750: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b760: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
b770: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b780: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
b790: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
b7a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
b7b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
b7c0: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46  <td>A*</td><td>F
b7d0: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ull</td><td alig
b7e0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
b7f0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
b800: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b820: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
b840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b850: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
b860: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
b870: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
b880: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b890: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
b8a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
b8b0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
b8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
b8d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
b8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b8f0: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
b900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b910: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b920: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
b930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b940: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
b950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
b960: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
b970: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
b980: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
b990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
b9a0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
b9b0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
b9c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
b9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
b9e0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
b9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
ba00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ba10: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
ba20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ba30: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74  ht">69.727726</t
ba40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ba50: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
ba60: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
ba70: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
ba80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ba90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
baa0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
bab0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
bac0: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
bad0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
bae0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
baf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
bb00: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
bb10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
bb20: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64  6.372057</td><td
bb30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
bb40: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
bb50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
bb60: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  le>..<br><br><br
bb70: 3e 0d 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20  >..You can also 
bb80: 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 72 65  configure the re
bb90: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
bba0: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74   the VirtualRout
bbb0: 69 6e 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76  ing queries...<v
bbc0: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
bbd0: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69   byfoot SET Opti
bbe0: 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27  ons = 'NO LINKS'
bbf0: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  ;....SELECT Algo
bc00: 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20  rithm, Options, 
bc10: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
bc20: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
bc30: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
bc40: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
bc50: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
bc60: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
bc70: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
bc80: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f  To = 183286;..</
bc90: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72  verbatim>..After
bca0: 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69   setting <b>Opti
bcb0: 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f  ons='NO LINKS'</
bcc0: 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  b> the resultset
bcd0: 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 6e   will simply con
bce0: 74 61 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  tain the header 
bcf0: 72 6f 77 2c 20 61 6e 64 20 61 6c 6c 20 6f 66 20  row, and all of 
bd00: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f  the following ro
bd10: 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72  ws will be suppr
bd20: 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  essed.<br>..<u>N
bd30: 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 69  ote</u>: produci
bd40: 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65 73  ng a reduced res
bd50: 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63 74  ultset is expect
bd60: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79  ed to be someway
bd70: 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68   faster.<br>..Th
bd80: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
bd90: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
bda0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
bdb0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53  y the previous S
bdc0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
bdd0: 72 79 2e 3c 62 72 3e 0d 0a 4e 6f 74 69 63 65 20  ry.<br>..Notice 
bde0: 74 68 61 74 20 76 61 6c 75 65 20 69 6e 20 74 68  that value in th
bdf0: 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  e <b>Options</b>
be00: 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 79 6f   column shows yo
be10: 75 20 77 68 69 63 68 20 74 79 70 65 20 6f 66 20  u which type of 
be20: 72 65 73 75 6c 74 73 65 74 20 79 6f 75 20 61 72  resultset you ar
be30: 65 20 75 73 69 6e 67 20 28 6a 75 73 74 20 61 73  e using (just as
be40: 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68   the <b>Algorith
be50: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f  m</b> column sho
be60: 77 73 20 77 68 69 63 68 20 61 6c 67 6f 72 69 74  ws which algorit
be70: 68 6d 20 69 73 20 61 63 74 69 76 65 29 2e 0d 0a  hm is active)...
be80: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
be90: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
bea0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
beb0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
bec0: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
bed0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
bee0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
bef0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
bf00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
bf10: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
bf20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
bf30: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
bf40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bf50: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
bf60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bf70: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
bf80: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bf90: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
bfa0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bfb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
bfc0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bfd0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
bfe0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bff0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
c000: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
c010: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
c020: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
c030: 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64  ..<td>A*</td><td
c040: 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74  >No Links</td><t
c050: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c060: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
c070: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c080: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c090: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
c0a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c0b0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
c0c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
c0d0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
c0e0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
c0f0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
c100: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
c110: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
c120: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  ><br>..<verbatim
c130: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
c140: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27   SET Options = '
c150: 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b 0d  NO GEOMETRIES';.
c160: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
c170: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
c180: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
c190: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
c1a0: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
c1b0: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
c1c0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
c1d0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
c1e0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
c1f0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
c200: 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65 74  rbatim>After set
c210: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d  ting <b>Options=
c220: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c  'NO GEOMETRIES'<
c230: 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65  /b> the resultse
c240: 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61  t will contain a
c250: 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c 6c  ll rows, but all
c260: 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c 6c   Geometries will
c270: 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c   be suppressed.<
c280: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
c290: 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65 78  : this too is ex
c2a0: 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d  pected to be som
c2b0: 65 77 68 61 74 20 66 61 73 74 65 72 2e 3c 62 72  ewhat faster.<br
c2c0: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
c2d0: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
c2e0: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
c2f0: 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69  ned by the previ
c300: 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74  ous Shortest Pat
c310: 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20  h query; please 
c320: 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65  notice the value
c330: 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f   in the <b>Optio
c340: 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  ns</b> column...
c350: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
c360: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
c370: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
c380: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
c390: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
c3a0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
c3b0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
c3c0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
c3d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
c3e0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
c3f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c400: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
c410: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c420: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
c430: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c440: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
c450: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c460: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
c470: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c480: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
c490: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c4a0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
c4b0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c4c0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
c4d0: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
c4e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
c4f0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
c500: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e  <td>A*</td><td>N
c510: 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64  o Geometries</td
c520: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c530: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
c540: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
c550: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c560: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
c570: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c580: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
c590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c5a0: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c  300.912208</td><
c5b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c5c0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
c5d0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
c5e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
c5f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c600: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
c610: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
c620: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
c630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c640: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
c650: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c660: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c670: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c680: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
c690: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
c6a0: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
c6b0: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
c6c0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
c6d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c6e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c6f0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
c700: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c710: 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64  ight">224446</td
c720: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c730: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c740: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c750: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
c760: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e  lign="right">69.
c770: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e  727726</td><td>N
c780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
c790: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
c7a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
c7b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c7c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
c7d0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
c7e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
c7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c800: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
c810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
c820: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
c830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
c840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c850: 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35  right">136.37205
c860: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
c870: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
c880: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
c890: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
c8a0: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72  r><br><br>..<ver
c8b0: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
c8c0: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e  yfoot SET Option
c8d0: 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d  s = 'SIMPLE';...
c8e0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
c8f0: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  m, Options, Rout
c900: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
c910: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
c920: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
c930: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
c940: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
c950: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
c960: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
c970: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
c980: 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e  atim>Setting <b>
c990: 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27  Options='SIMPLE'
c9a0: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61 6d  </b> has the sam
c9b0: 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73 65  e effect than se
c9c0: 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f  tting both <b>NO
c9d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
c9e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
c9f0: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20  /b> at the same 
ca00: 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  time.<br>..<u>No
ca10: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73 20  te</u>: this is 
ca20: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74  expected to be t
ca30: 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74 69  he fastest setti
ca40: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c  ng.<br>..The fol
ca50: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
ca60: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
ca70: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
ca80: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65   previous Shorte
ca90: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70  st Path query; p
caa0: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65  lease notice the
cab0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62   value in the <b
cac0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c  >Options</b> col
cad0: 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  umn...<br><br>..
cae0: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
caf0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
cb00: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
cb10: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
cb20: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
cb30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cb40: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
cb50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cb60: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
cb70: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
cb80: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
cb90: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
cba0: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
cbb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cbc0: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
cbd0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
cbe0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
cbf0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
cc00: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
cc10: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
cc20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cc30: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
cc40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
cc50: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
cc60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
cc70: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
cc80: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f  ..<tr>..<td>A*</
cc90: 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74  td><td>Simple</t
cca0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ccb0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
ccc0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
ccd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
cce0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
ccf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
cd00: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
cd10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
cd20: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
cd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
cd40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
cd50: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
cd60: 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79  >..Finally, if y
cd70: 6f 75 20 77 69 73 68 20 74 6f 20 72 65 76 65 72  ou wish to rever
cd80: 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 69 6e  t back to the in
cd90: 69 74 69 61 6c 20 73 65 74 74 69 6e 67 2c 20 79  itial setting, y
cda0: 6f 75 20 64 6f 20 74 68 69 73 20 77 69 74 68 20  ou do this with 
cdb0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 71 75  the following qu
cdc0: 65 72 79 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54  ery<br> <b>UPDAT
cdd0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
cde0: 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f  ions = 'FULL';</
cdf0: 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  b>.<br><br>..<hr
ce00: 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61  ><br>..<h1><a na
ce10: 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d 20 53  me="multi">5 - S
ce20: 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64 65 73  olving multi-des
ce30: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
ce40: 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c  t Path problems<
ce50: 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6e 20 69 6e 74  /a></h1>..An int
ce60: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65  eresting feature
ce70: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
ce80: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67  e Dijkstra's Alg
ce90: 6f 72 69 74 68 6d 20 69 73 3a 20 77 68 65 6e 20  orithm is: when 
cea0: 61 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 69 73  a destination is
ceb0: 20 62 65 65 6e 20 72 65 61 63 68 65 64 2c 20 61   been reached, a
cec0: 6c 6c 20 6f 66 20 74 68 65 20 3c 62 3e 6c 65 73  ll of the <b>les
ced0: 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 64 65 73  ser cost</b> des
cee0: 74 69 6e 61 74 69 6f 6e 73 20 68 61 76 65 20 61  tinations have a
cef0: 6c 73 6f 20 62 65 65 6e 20 66 6f 75 6e 64 2e 3c  lso been found.<
cf00: 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73  br>..This allows
cf10: 20 74 68 65 20 73 75 70 70 6f 72 74 20 6f 66 20   the support of 
cf20: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
cf30: 74 69 6f 6e 73 20 53 68 6f 72 74 65 73 74 20 50  tions Shortest P
cf40: 61 74 68 20 71 75 65 72 69 65 73 2e 3c 62 72 3e  ath queries.<br>
cf50: 0d 0a 41 6c 6c 20 79 6f 75 20 68 61 76 65 20 74  ..All you have t
cf60: 6f 20 64 6f 20 69 73 20 73 70 65 63 69 66 79 20  o do is specify 
cf70: 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67  a <b>single orig
cf80: 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 77 69 74 68  in Node</b> with
cf90: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79   an <b>arbitrary
cfa0: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61   list of destina
cfb0: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69  tion Nodes</b> i
cfc0: 6e 20 6f 6e 65 20 44 69 6a 6b 73 74 72 61 27 73  n one Dijkstra's
cfd0: 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d   query.<br><br>.
cfe0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78  .<u>Note</u>: ex
cff0: 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69 2d  ecuting a multi-
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
d010: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 20  test Path query 
d020: 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72  requires a <b>pr
d030: 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62  ocessing time</b
d040: 3e 20 74 68 61 74 20 3c 62 3e 69 73 6e 27 74 3c  > that <b>isn't<
d050: 2f 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f  /b> the <u>sum o
d060: 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c  f all individual
d070: 20 74 69 6d 69 6e 67 73 20 74 6f 20 65 61 63 68   timings to each
d080: 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e   destination</u>
d090: 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 74 68 65  , but simply the
d0a0: 20 74 69 6d 65 20 72 65 71 75 69 72 65 64 20 74   time required t
d0b0: 6f 20 72 65 61 63 68 20 74 68 65 20 3c 75 3e 6d  o reach the <u>m
d0c0: 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69  ost costly desti
d0d0: 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69  nation of the li
d0e0: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69  st</u>.<br>..Thi
d0f0: 73 20 69 73 6e 27 74 20 73 74 72 69 63 74 6c 79  s isn't strictly
d100: 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61 73   true in the cas
d110: 65 20 6f 66 20 74 68 69 73 20 56 69 72 74 75 61  e of this Virtua
d120: 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 69  lRouting specifi
d130: 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  c implementation
d140: 2c 20 73 69 6e 63 65 20 74 68 65 20 61 72 72 61  , since the arra
d150: 6e 67 6d 65 6e 74 20 74 68 65 20 72 65 73 75 6c  ngment the resul
d160: 74 73 65 74 20 74 6f 20 62 65 20 72 65 74 75 72  tset to be retur
d170: 6e 65 64 20 61 6e 64 20 63 72 65 61 74 69 6f 6e  ned and creation
d180: 20 61 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64   all the individ
d190: 75 61 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20  ual Linestrings 
d1a0: 66 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e 61  for each destina
d1b0: 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79  tion will surely
d1c0: 20 69 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72   impose some fur
d1d0: 74 68 65 72 20 6f 76 65 72 68 65 61 64 2e 3c 62  ther overhead.<b
d1e0: 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73  r>..Nevertheless
d1f0: 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64   the time needed
d200: 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d 75   for a single mu
d210: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
d220: 71 75 65 72 79 20 77 69 6c 6c 20 62 65 20 6c 65  query will be le
d230: 73 73 20 74 68 61 6e 20 74 68 65 20 74 69 6d 65  ss than the time
d240: 20 6e 65 65 64 65 64 20 66 6f 72 20 6d 75 6c 74   needed for mult
d250: 69 70 6c 65 20 73 69 6e 67 6c 65 2d 64 65 73 74  iple 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 6e 6f 72 6d 61 6c 20 53 68 6f 72   any normal Shor
d3d0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2c  test Path query,
d3e0: 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72   the only differ
d3f0: 65 6e 63 65 20 62 65 69 6e 67 20 61 20 63 6f 6d  ence being a com
d400: 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c 69 73  ma-separated lis
d410: 74 20 28 69 6e 73 74 65 61 64 20 6f 66 20 61 20  t (instead of a 
d420: 73 69 6e 67 6c 65 2d 65 6e 74 72 79 29 20 66 6f  single-entry) fo
d430: 72 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e  r <b>NodeTo</b>.
d440: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
d450: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
d460: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
d470: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
d480: 65 76 69 6f 75 73 20 6d 75 6c 74 69 2d 64 65 73  evious multi-des
d490: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
d4a0: 74 20 50 61 74 68 20 71 75 65 72 79 3a 0d 0a 3c  t Path query:..<
d4b0: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
d4c0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
d4d0: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
d4e0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
d4f0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
d500: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
d510: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
d520: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
d530: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
d540: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
d550: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
d560: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
d570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d580: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
d590: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d5a0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
d5b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d5c0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
d5d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d5e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
d5f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d600: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
d610: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
d620: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
d630: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
d640: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d650: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
d660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d670: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
d680: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d690: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
d6a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d6b0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
d6c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
d6d0: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
d6e0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
d6f0: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
d700: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
d710: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
d720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d730: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
d740: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
d750: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
d760: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
d770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
d780: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
d790: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
d7a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d7b0: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
d7c0: 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  9</td><td>BLOB s
d7d0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
d7e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d7f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
d800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d810: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d820: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d830: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d840: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
d850: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
d860: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
d870: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d880: 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64  ">222636</td><td
d890: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d8a0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
d8b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
d8c0: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
d8d0: 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35  ="right">103.735
d8e0: 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  722</td><td>NULL
d8f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
d900: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
d910: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
d920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d930: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d940: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d950: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d960: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
d970: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
d980: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
d990: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d9a0: 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64  ">225527</td><td
d9b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d9c0: 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82000</td><td al
d9d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
d9e0: 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
d9f0: 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31  ="right">51.0151
da00: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
da10: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49  /td><td>VIA LICI
da20: 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d  O NENCETTI</td>.
da30: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
da40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
da50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
da60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
da70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
da80: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">1</td><td al
da90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
daa0: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
dab0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dac0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dad0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
dae0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
daf0: 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
db00: 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34  ="right">176.364
db10: 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  755</td><td>BLOB
db20: 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59   sz=304 GEOMETRY
db30: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
db40: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
db50: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
db60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
db70: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
db80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
db90: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
dba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dbb0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
dbc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dbd0: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
dbe0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dbf0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
dc00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
dc10: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
dc20: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
dc30: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
dc40: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
dc50: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
dc60: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
dc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dc80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dc90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dca0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dcb0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20  ight">1</td><td 
dcc0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
dcd0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
dce0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dcf0: 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74  t">224862</td><t
dd00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dd10: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
dd20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
dd30: 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  043</td><td alig
dd40: 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35  n="right">37.095
dd50: 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  287</td><td>NULL
dd60: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
dd70: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
dd80: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
dd90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
dda0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ddb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ddc0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
ddd0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
dde0: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
ddf0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
de00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
de10: 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  26070</td><td al
de20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
de30: 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  43</td><td align
de40: 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
de50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
de60: 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c  ight">44.457044<
de70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
de80: 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54  ><td>PIAZZA SANT
de90: 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  'AGOSTINO</td>..
dea0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
deb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dec0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ded0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dee0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
def0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
df00: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
df10: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
df20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
df30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
df40: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
df50: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
df60: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
df70: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30  "right">224.6770
df80: 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  95</td><td>BLOB 
df90: 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c  sz=240 GEOMETRY<
dfa0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dfb0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
dfc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dfd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dfe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dff0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e000: 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
e010: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
e020: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e030: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
e040: 39 30 34 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9045</td><td ali
e050: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e060: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e070: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
e080: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e090: 67 68 74 22 3e 37 36 2e 30 32 31 30 30 37 3c 2f  ght">76.021007</
e0a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e0b0: 3c 74 64 3e 56 49 41 20 41 53 53 41 42 3c 2f 74  <td>VIA ASSAB</t
e0c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e0d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e0e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e0f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e100: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e110: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
e120: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e130: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e140: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e150: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
e160: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e170: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
e180: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e190: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
e1a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36  gn="right">148.6
e1b0: 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  56089</td><td>NU
e1c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
e1d0: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
e1e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
e1f0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
e200: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e210: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e220: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e230: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
e240: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e250: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
e260: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e270: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e280: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e290: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e2a0: 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
e2b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 36  align="right">26
e2c0: 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64  0.132354</td><td
e2d0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f  >BLOB sz=240 GEO
e2e0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
e2f0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
e300: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e310: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e320: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e330: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e340: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
e350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e360: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
e370: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e380: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
e390: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e3a0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
e3b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e3c0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
e3d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e3e0: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
e3f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e400: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
e410: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
e420: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e430: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e440: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e450: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e460: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
e470: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e480: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
e490: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e4a0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
e4b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e4c0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
e4d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e4e0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e4f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
e500: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
e510: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e520: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
e530: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e540: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e550: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e560: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e570: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e580: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
e590: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
e5a0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e5b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e5c0: 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c  ht">225800</td><
e5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e5e0: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
e5f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e600: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
e610: 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39  gn="right">95.59
e620: 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2204</td><td>NUL
e630: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
e640: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
e650: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
e660: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
e670: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e680: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e690: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e6a0: 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74  "right">4</td><t
e6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e6c0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
e6d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e6e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e6f0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
e700: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e710: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
e720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
e730: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
e740: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
e750: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
e760: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
e770: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e780: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e790: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e7a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e7b0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
e7c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e7d0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
e7e0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e7f0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
e800: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e810: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
e820: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e830: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
e840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
e850: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
e860: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e870: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
e880: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e890: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e8a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e8b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e8c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e8d0: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
e8e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e8f0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
e900: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e910: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
e920: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e930: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
e940: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e950: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
e960: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
e970: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
e980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
e990: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
e9a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e9c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e9d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e9e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e9f0: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
ea00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
ea10: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
ea20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea30: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74  t">224414</td><t
ea40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ea50: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
ea60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
ea70: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
ea80: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
ea90: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
eaa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
eab0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
eac0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
ead0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
eae0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
eaf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
eb00: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
eb10: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55  d>NULL</td><td>U
eb20: 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54  nreachable NodeT
eb30: 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  o</td><td>NULL</
eb40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
eb50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
eb60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
eb70: 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64  ">290458</td><td
eb80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
eb90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
eba0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
ebb0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
ebc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ebd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
ebe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ebf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ec00: 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65  ><td>Unreachable
ec10: 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e   NodeTo</td><td>
ec20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
ec30: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
ec40: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
ec50: 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f  "right">124622</
ec60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ec70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ec80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
ec90: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
eca0: 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79  >..Let's quickly
ecb0: 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73   examine the res
ecc0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
ecd0: 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e  by the above <b>
ece0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
ecf0: 6e 73 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c  ns</b> query...<
ed00: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 76 65  ul>..<li>the ove
ed10: 72 61 6c 6c 20 6c 61 79 6f 75 74 20 69 73 20 61  rall layout is a
ed20: 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74 68  lmost exactly th
ed30: 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65  e same as you've
ed40: 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
ed50: 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e   the case of <b>
ed60: 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69  single-destinati
ed70: 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20  on</b> queries, 
ed80: 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73 65  but in this case
ed90: 20 6d 6f 72 65 20 69 6e 64 69 76 69 64 75 61 6c   more individual
eda0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e   travel solution
edb0: 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 61 6c  s are grouped al
edc0: 74 6f 67 65 74 68 65 72 2e 20 28 45 61 63 68 20  together. (Each 
edd0: 61 6c 74 65 72 6e 61 74 69 76 65 20 72 6f 75 74  alternative rout
ede0: 65 20 68 61 76 69 6e 67 20 61 20 64 69 66 66 65  e having a diffe
edf0: 72 65 6e 74 20 3c 62 3e 52 6f 75 74 65 49 64 3c  rent <b>RouteId<
ee00: 2f 62 3e 20 61 6e 64 20 73 74 61 72 74 69 6e 67  /b> and starting
ee10: 20 77 69 74 68 20 3c 62 3e 27 52 6f 75 74 65 27   with <b>'Route'
ee20: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52  </b> in the <b>R
ee30: 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 29 2e  ole</b> column).
ee40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
ee50: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
ee60: 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
ee70: 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65   is someway exce
ee80: 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20  ptional, and is 
ee90: 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20  the only row of 
eea0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72  the resultset pr
eeb0: 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20  esenting <b>NOT 
eec0: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20  NULL</b> values 
eed0: 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69  in the <b>Algori
eee0: 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75  thm</b>, <b>Requ
eef0: 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69  est</b>, <b>Opti
ef00: 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44  ons</b> and <b>D
ef10: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c  elimiter</b> col
ef20: 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umns.</li>..<li>
ef30: 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f  the <b>RouteId</
ef40: 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74  b> column is int
ef50: 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74  ended to group t
ef60: 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73  ogether all rows
ef70: 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61   belonging to sa
ef80: 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  me travel soluti
ef90: 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  on (<i>aka</i> <
efa0: 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72  b>Route</b>).<br
efb0: 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72  >..Routes are pr
efc0: 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62  ogressively numb
efd0: 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64  ered and are ord
efe0: 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79  ered accordingly
eff0: 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74   to their <b>tot
f000: 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69  al cost</b>.</li
f010: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f  >..<li>the <b>Ro
f020: 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d  uteRow</b> colum
f030: 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69  n has the same i
f040: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73  nterpretation as
f050: 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69   in single-desti
f060: 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74  nation resultset
f070: 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64  s, and is intend
f080: 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76  ed to progressiv
f090: 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65  ely order in the
f0a0: 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63   correct sequenc
f0b0: 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e  e all Links conn
f0c0: 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69  ecting the Origi
f0d0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e  n and the Destin
f0e0: 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f  ation of each Ro
f0f0: 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75  ute.<br>..<b>Rou
f100: 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61  teRow=0</b> alwa
f110: 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68  ys identifies th
f120: 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20  e header row of 
f130: 65 61 63 68 20 3c 62 3e 52 6f 75 74 65 3c 2f 62  each <b>Route</b
f140: 3e 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  > solution.</li>
f150: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
f160: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68  u>Notice</u>: th
f170: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20  e last two rows 
f180: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  in the resultset
f190: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65   reports <b>Unre
f1a0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c  achable NodeTo.<
f1b0: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f  /b> in the <b>Ro
f1c0: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74  le</b> column, t
f1d0: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c  hus implying a <
f1e0: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e  b>forbidden conn
f1f0: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d  ection</b>.<br>.
f200: 0a 54 68 65 72 65 20 69 73 20 61 20 76 61 6c 69  .There is a vali
f210: 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68 69  d reason for thi
f220: 73 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30 34  s: Nodes <b>2904
f230: 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31 32  58</b> and <b>12
f240: 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f 63  4622</b> are loc
f250: 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e 64  ated on Elba and
f260: 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73 2e   Giglio islands.
f270: 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   The underlaying
f280: 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73 65   Network is base
f290: 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65 74  d on <b>Iter.Net
f2a0: 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74 20  </b> that don't 
f2b0: 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20 63  supports ferry c
f2c0: 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20 61  onnections, so a
f2d0: 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  ny travel soluti
f2e0: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 69  on between the i
f2f0: 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20 6d  slands and the m
f300: 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c 77  ainland will alw
f310: 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e 3c  ays fail...<br><
f320: 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c 62  br><br>..Also <b
f330: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
f340: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 20  ons</b> queries 
f350: 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65  can be customize
f360: 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69  d, but the confi
f370: 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 64  guration rules d
f380: 69 66 66 65 72 20 73 6c 69 67 68 74 6c 79 20 66  iffer slightly f
f390: 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76  rom what you hav
f3a0: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
f3b0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 69  n the case of si
f3c0: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ngle-destination
f3d0: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ...<ul>..<li><b>
f3e0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f  Algorithm</b>: o
f3f0: 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c  nly <b>Dijkstra<
f400: 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64  /b> is supported
f410: 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e   by multi-destin
f420: 61 74 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20  ation, and will 
f430: 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73  be implicitly as
f440: 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20  sumed even when 
f450: 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20  the alternative 
f460: 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69  <b>A*</b> algori
f470: 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79  thm is currently
f480: 20 73 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e 0d   selected.</li>.
f490: 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c  .<li><b>Options<
f4a0: 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c  /b>: the usual <
f4b0: 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53  b>FULL</b>, <b>S
f4c0: 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f  IMPLE</b>, <b>NO
f4d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
f4e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
f4f0: 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65  /b> are supporte
f500: 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20  d and will have 
f510: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20  the same effect 
f520: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
f530: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
f540: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
f550: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
f560: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
f570: 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b  ions = 'SIMPLE';
f580: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
f590: 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
f5a0: 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
f5b0: 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
f5c0: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
f5d0: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
f5e0: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
f5f0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
f600: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
f610: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
f620: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
f630: 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c   '183286,290458,
f640: 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32  181999,184030,12
f650: 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37  4622,183882,1787
f660: 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
f670: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
f680: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
f690: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
f6a0: 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20  ned by the same 
f6b0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
f6c0: 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e 20  n query used in 
f6d0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
f6e0: 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c  mple after enabl
f6f0: 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c  ing the <b>SIMPL
f700: 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c  E</b> option...<
f710: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
f720: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
f730: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
f740: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
f750: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
f760: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
f770: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
f780: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
f790: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
f7a0: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
f7b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
f7c0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
f7d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f7e0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
f7f0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f800: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
f810: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f820: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
f830: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f840: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
f850: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f860: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
f870: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
f880: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
f890: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
f8a0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8b0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
f8c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f8d0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
f8e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8f0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
f900: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f910: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
f920: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
f930: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
f940: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
f950: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
f960: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
f970: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
f980: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f990: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
f9a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
f9b0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
f9c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
f9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
f9e0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
f9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
fa00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fa10: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
fa20: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
fa30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fa40: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
fa50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fa60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fa70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fa80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fa90: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
faa0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
fab0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
fac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fad0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fae0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
faf0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
fb00: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
fb10: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
fb20: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4755</td><td>NUL
fb30: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fb40: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
fb50: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
fb60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fb70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fb80: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fb90: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
fba0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fbb0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
fbc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fbd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fbe0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fbf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fc00: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
fc10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
fc20: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e  .677095</td><td>
fc30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fc40: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
fc50: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
fc60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fc70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fc80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fc90: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
fca0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fcb0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
fcc0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
fcd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fce0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
fcf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fd00: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
fd10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fd20: 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c  260.132354</td><
fd30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fd40: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
fd50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
fd60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fd70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fd80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fd90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
fda0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fdb0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
fdc0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
fdd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fde0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fdf0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fe00: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
fe10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fe20: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
fe30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
fe50: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
fe60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fe70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fe80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fea0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72  NULL</td><td>Unr
feb0: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c  eachable NodeTo<
fec0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fed0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fee0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fef0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ff00: 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e  290458</td><td>N
ff10: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff30: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
ff40: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
ff50: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ff60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ff90: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e  td>Unreachable N
ffa0: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55  odeTo</td><td>NU
ffb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ffc0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
ffd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ffe0: 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64  ight">124622</td
fff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
10000 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
10010 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
10020 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
10030 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
10040 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
10050 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62   the previous <b
10060 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
10070 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e  ons</b> queries.
10080 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
10090 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
100a0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
100b0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
100c0 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70  figs/routing3.jp
100d0 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a  g" alt="fig3">..
100e0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74  <ul>..<li>Red st
100f0 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e  ar: the Origin N
10100 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47  ode.</li>..<li>G
10110 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44  reen dots: the D
10120 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73  estination Nodes
10130 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c  .</li>..<li>Yell
10140 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e  ow lines: all in
10150 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20  dividual travel 
10160 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  solutions.</li>.
10170 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ul>..<br>..<t
10180 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
10190 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
101a0 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
101b0 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
101c0 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20  ..<h3>Dangerous 
101d0 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64  pitfalls related
101e0 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73   to multiple des
101f0 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f  tination lists</
10200 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20  h3>..SQL syntax 
10210 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20  directly allows 
10220 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74 73  to specify lists
10230 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61   of  multiple va
10240 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20  lues, so may be 
10250 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64  you are now wond
10260 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74  ering about writ
10270 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69  ing the <b>multi
10280 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple destinations
10290 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74 65  </b> query teste
102a0 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
102b0 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20  s examples this 
102c0 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  way:..<verbatim>
102d0 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
102e0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
102f0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
10300 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
10310 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
10320 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
10330 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
10340 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
10350 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
10360 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
10370 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20  1 AND NodeTo IN 
10380 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10390 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
103a0 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
103b0 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72   178754);..</ver
103c0 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73  batim>..There is
103d0 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61   a very good rea
103e0 73 6f 6e 20 74 6f 20 64 69 73 63 6f 75 72 61 67  son to discourag
103f0 65 20 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e 67  e you from doing
10400 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c   such a thing, l
10410 65 74 27 73 20 73 65 65 20 77 68 79 3a 3c 62 72  et's see why:<br
10420 3e 3c 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69 74  ><br>..For SQLit
10430 65 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e 20  e: <b>NodeTo IN 
10440 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10450 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
10460 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
10470 20 31 37 38 37 35 34 29 3c 2f 62 3e 20 69 73 20   178754)</b> is 
10480 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65  considered to be
10490 20 37 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f   7 parameters fo
104a0 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c 52  r which VirtualR
104b0 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 63  outing will be c
104c0 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 2e 3c  alled for each.<
104d0 62 72 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c 62  br>..Whereas: <b
104e0 3e 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38  >NodeTo = '18328
104f0 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c  6,290458,181999,
10500 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38  184030,124622,18
10510 33 38 38 32 2c 31 37 38 37 35 34 27 3c 2f 62 3e  3882,178754'</b>
10520 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74   is considered t
10530 6f 20 62 65 20 31 20 70 61 72 61 6d 65 74 65 72  o be 1 parameter
10540 20 66 6f 72 20 77 68 69 63 68 20 56 69 72 74 75   for which Virtu
10550 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62  alRouting will b
10560 65 20 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63 65  e called <b>once
10570 3c 2f 62 3e 20 61 6e 64 20 73 65 61 72 63 68 20  </b> and search 
10580 66 6f 72 20 74 68 65 20 37 20 69 74 65 6d 73 2e  for the 7 items.
10590 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33  ..<h3>Beware</h3
105a0 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72  >..<b>Never ever
105b0 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20  </b> attempt to 
105c0 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66  define a list of
105d0 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e   multiple destin
105e0 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65  ations using the
105f0 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79   standard SQL sy
10600 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45  ntax <b><i>WHERE
10610 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e   NodeTo IN (....
10620 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63  ..)</i></b>, bec
10630 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63  ause this will c
10640 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d  ertainly cause m
10650 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 20  any unexpected  
10660 27 3c 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e 27  '<i>results</i>'
10670 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72  .<br>..Badly for
10680 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65 74  matted resultset
10690 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 72  s will be then r
106a0 65 74 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f 66  eturned, many of
106b0 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 77 72   which may be wr
106c0 6f 6e 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20  ong. <b>You are 
106d0 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c  warned</b>.<br><
106e0 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  br>..</td></tr><
106f0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c  /table>..<br>..<
10700 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
10710 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
10720 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
10730 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
10740 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f  >..<h3>How to co
10750 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d  rrectly format m
10760 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
10770 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d  ions lists</h3>.
10780 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20  .VirtualRouting 
10790 61 6c 77 61 79 73 20 65 78 70 65 63 74 73 20 74  always expects t
107a0 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62 3e 6d  o receive a <b>m
107b0 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
107c0 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20 61 20  s</b> list as a 
107d0 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72 69  <b>TEXT</b> stri
107e0 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69  ng containing ti
107f0 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76 61 6c  ghtly packed val
10800 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79  ues separated by
10810 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20   a conventional 
10820 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>delimiter</b>
10830 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72 65 73   (usually repres
10840 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e 63 6f  ented by a <b>co
10850 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45  mma</b>).<br>..E
10860 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65  xamples of <b>we
10870 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e  ll formatted</b>
10880 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
10890 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72  ons lists:..<ver
108a0 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34  batim>..'1,2,3,4
108b0 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c 31  ,5,10,100,1000,1
108c0 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e 74 65  00000'   -- inte
108d0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a  ger Node IDs....
108e0 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42 32 35  'A100B,A100F,B25
108f0 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27 20  0Z,C010M,Z999A' 
10900 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63   -- alphanumeric
10910 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76   Node Codes..</v
10920 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c  erbatim>..Exampl
10930 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66  es of <b>badly f
10940 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c  ormatted</b> mul
10950 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20  ti-destinations 
10960 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69  lists:..<verbati
10970 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20  m>..'  1, 2, 3, 
10980 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30 30 2c  4 , 5 , 10, 100,
10990 20 31 30 30 30 2c 20 31 30 30 30 30 30 20 20 27   1000, 100000  '
109a0 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f     -- integer No
109b0 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30  de IDs....'  A10
109c0 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32 35 30  0B, A100F , B250
109d0 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39 41  Z , C010M, Z999A
109e0 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c 70 68    '      -- alph
109f0 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f  anumeric Node Co
10a00 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  des..</verbatim>
10a10 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61  ..<u>Note</u>: a
10a20 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73 20 69  ll whitespaces i
10a30 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65  mmediately prece
10a40 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e  ding or followin
10a50 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74  g the <b>delimit
10a60 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63  er</b> will be c
10a70 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20  onsidered to be 
10a80 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20 6f 66  integral part of
10a90 20 74 68 65 20 76 61 6c 75 65 20 69 74 73 65 6c   the value itsel
10aa0 66 20 28 61 6e 64 20 74 68 75 73 20 77 69 6c 6c  f (and thus will
10ab0 20 3c 62 3e 61 6c 73 6f 3c 2f 62 3e 20 62 65 20   <b>also</b> be 
10ac0 73 65 61 72 63 68 65 64 20 66 6f 72 29 2e 3c 62  searched for).<b
10ad0 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 61  r>..This will ha
10ae0 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 6f  ve no adverse co
10af0 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 68  nsequences in th
10b00 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 65  e case of intege
10b10 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 61  r values, but ca
10b20 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 61  n easily have ca
10b30 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 63  tastrophic effec
10b40 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72  ts on alphanumer
10b50 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e  ic values...<h3>
10b60 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 6f  Defining a custo
10b70 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e  m delimiter</h3>
10b80 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63  ..Sometimes it c
10b90 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 73  ould be useful s
10ba0 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c 69  etting up a deli
10bb0 6d 69 74 65 72 20 6f 74 68 65 72 20 74 68 61 6e  miter other than
10bc0 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e   a <b>comma</b>.
10bd0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50  ..<verbatim>..UP
10be0 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
10bf0 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b  Delimiter = '*';
10c00 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d  ....SELECT Delim
10c10 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74  iter FROM byfoot
10c20 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
10c30 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32  -----..* [dec=42
10c40 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72  , hex=2a]..</ver
10c50 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d  batim> ..You sim
10c60 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65 63  ply have to exec
10c70 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54 45  ute an <b>UPDATE
10c80 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20 62  </b> statement b
10c90 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65  y specifying the
10ca0 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20 76   new delimiter v
10cb0 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  alue.<br><br>..<
10cc0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
10cd0 3e 0d 0a 3c 68 34 3e 55 73 69 6e 67 20 4d 61 6b  >..<h4>Using Mak
10ce0 65 53 74 72 69 6e 67 4c 69 73 74 28 29 20 66 6f  eStringList() fo
10cf0 72 20 61 75 74 6f 2d 77 72 69 74 69 6e 67 20 61  r auto-writing a
10d00 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74 69 70 6c   list of multipl
10d10 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  e destinations</
10d20 68 34 3e 0d 0a 57 72 69 74 69 6e 67 20 62 79 20  h4>..Writing by 
10d30 68 61 6e 64 20 61 20 54 65 78 74 20 53 74 72 69  hand a Text Stri
10d40 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  ng corresponding
10d50 20 74 6f 20 61 20 77 65 6c 6c 2d 66 6f 72 6d 61   to a well-forma
10d60 74 74 65 64 20 6c 69 73 74 20 6f 66 20 20 6d 75  tted list of  mu
10d70 6c 74 69 70 6c 65 73 20 64 65 73 74 69 6e 61 74  ltiples destinat
10d80 69 6f 6e 73 20 63 6f 75 6c 64 20 65 61 73 69 6c  ions could easil
10d90 79 20 62 65 20 61 20 62 6f 72 69 6e 67 20 61 6e  y be a boring an
10da0 64 20 65 72 72 6f 72 20 70 72 6f 6e 65 20 61 63  d error prone ac
10db0 74 69 76 69 74 79 20 28 6d 6f 73 74 20 6e 6f 74  tivity (most not
10dc0 61 62 6c 79 20 69 66 20 74 68 65 20 6c 69 73 74  ably if the list
10dd0 20 63 6f 6e 74 61 69 6e 73 20 61 20 68 75 67 65   contains a huge
10de0 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 73 74 69   number of desti
10df0 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 29 2e 0d 0a  nation Nodes)...
10e00 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
10e10 43 54 20 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73  CT MakeStringLis
10e20 74 28 6e 6f 64 65 5f 69 64 29 0d 0a 46 52 4f 4d  t(node_id)..FROM
10e30 20 28 53 45 4c 45 43 54 20 6e 6f 64 65 5f 66 72   (SELECT node_fr
10e40 6f 6d 20 41 53 20 6e 6f 64 65 5f 69 64 0d 0a 20  om AS node_id.. 
10e50 20 20 20 20 20 46 52 4f 4d 20 72 6f 61 64 73 0d       FROM roads.
10e60 0a 20 20 20 20 20 20 57 48 45 52 45 20 53 54 5f  .      WHERE ST_
10e70 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e 3d 20  Length(geom) >= 
10e80 31 30 30 30 30 2e 30 0d 0a 20 20 20 20 20 20 55  10000.0..      U
10e90 4e 49 4f 4e 0d 0a 20 20 20 20 20 20 53 45 4c 45  NION..      SELE
10ea0 43 54 20 6e 6f 64 65 5f 74 6f 20 41 53 20 6e 6f  CT node_to AS no
10eb0 64 65 5f 69 64 0d 0a 20 20 20 20 20 20 46 52 4f  de_id..      FRO
10ec0 4d 20 72 6f 61 64 73 0d 0a 20 20 20 20 20 20 57  M roads..      W
10ed0 48 45 52 45 20 53 54 5f 4c 65 6e 67 74 68 28 67  HERE ST_Length(g
10ee0 65 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e 30 29  eom) >= 10000.0)
10ef0 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
10f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
10f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 32 36  -----------..126
10f20 33 30 2c 31 32 36 34 38 2c 31 33 36 34 35 2c 31  30,12648,13645,1
10f30 33 36 35 31 2c 37 38 33 35 33 2c 37 39 31 34 32  3651,78353,79142
10f40 2c 37 39 34 35 33 2c 37 39 34 35 34 2c 32 38 36  ,79453,79454,286
10f50 31 34 30 2c 32 38 36 31 35 33 2c 32 38 36 37 36  140,286153,28676
10f60 33 2c 32 38 36 37 37 30 2c 32 39 31 34 31 36 2c  3,286770,291416,
10f70 32 39 31 34 31 37 0d 0a 3c 2f 76 65 72 62 61 74  291417..</verbat
10f80 69 6d 3e 0d 0a 54 68 65 20 53 51 4c 20 3c 69 3e  im>..The SQL <i>
10f90 3c 75 3e 61 67 67 72 65 67 61 74 65 20 66 75 6e  <u>aggregate fun
10fa0 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 3c 62  ction</u></i> <b
10fb0 3e 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73 74 28  >MakeStringList(
10fc0 29 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69  )</b> is specifi
10fd0 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 74  cally intended t
10fe0 6f 20 68 65 6c 70 20 61 6e 64 20 73 69 6d 70 6c  o help and simpl
10ff0 69 66 79 20 74 68 69 73 20 74 61 73 6b 20 62 79  ify this task by
11000 20 61 70 70 6c 79 69 6e 67 20 61 20 70 75 72 65   applying a pure
11010 20 53 51 4c 20 61 70 70 72 6f 61 63 68 2e 0d 0a   SQL approach...
11020 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
11030 43 54 20 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73  CT MakeStringLis
11040 74 28 6e 6f 64 65 5f 69 64 2c 20 27 3b 27 29 0d  t(node_id, ';').
11050 0a 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 6e 6f  .FROM (SELECT no
11060 64 65 5f 66 72 6f 6d 20 41 53 20 6e 6f 64 65 5f  de_from AS node_
11070 69 64 0d 0a 20 20 20 20 20 20 46 52 4f 4d 20 72  id..      FROM r
11080 6f 61 64 73 0d 0a 20 20 20 20 20 20 57 48 45 52  oads..      WHER
11090 45 20 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d  E ST_Length(geom
110a0 29 20 3e 3d 20 31 30 30 30 30 2e 30 0d 0a 20 20  ) >= 10000.0..  
110b0 20 20 20 20 55 4e 49 4f 4e 0d 0a 20 20 20 20 20      UNION..     
110c0 20 53 45 4c 45 43 54 20 6e 6f 64 65 5f 74 6f 20   SELECT node_to 
110d0 41 53 20 6e 6f 64 65 5f 69 64 0d 0a 20 20 20 20  AS node_id..    
110e0 20 20 46 52 4f 4d 20 72 6f 61 64 73 0d 0a 20 20    FROM roads..  
110f0 20 20 20 20 57 48 45 52 45 20 53 54 5f 4c 65 6e      WHERE ST_Len
11100 67 74 68 28 67 65 6f 6d 29 20 3e 3d 20 31 30 30  gth(geom) >= 100
11110 30 30 2e 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  00.0);..--------
11120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11140 0d 0a 31 32 36 33 30 3b 31 32 36 34 38 3b 31 33  ..12630;12648;13
11150 36 34 35 3b 31 33 36 35 31 3b 37 38 33 35 33 3b  645;13651;78353;
11160 37 39 31 34 32 3b 37 39 34 35 33 3b 37 39 34 35  79142;79453;7945
11170 34 3b 32 38 36 31 34 30 3b 32 38 36 31 35 33 3b  4;286140;286153;
11180 32 38 36 37 36 33 3b 32 38 36 37 37 30 3b 32 39  286763;286770;29
11190 31 34 31 36 3b 32 39 31 34 31 37 0d 0a 0d 0a 0d  1416;291417.....
111a0 0a 53 45 4c 45 43 54 20 4d 61 6b 65 53 74 72 69  .SELECT MakeStri
111b0 6e 67 4c 69 73 74 28 6e 6f 64 65 5f 69 64 2c 20  ngList(node_id, 
111c0 27 7c 27 29 0d 0a 46 52 4f 4d 20 28 53 45 4c 45  '|')..FROM (SELE
111d0 43 54 20 6e 6f 64 65 5f 66 72 6f 6d 20 41 53 20  CT node_from AS 
111e0 6e 6f 64 65 5f 69 64 0d 0a 20 20 20 20 20 20 46  node_id..      F
111f0 52 4f 4d 20 72 6f 61 64 73 0d 0a 20 20 20 20 20  ROM roads..     
11200 20 57 48 45 52 45 20 53 54 5f 4c 65 6e 67 74 68   WHERE ST_Length
11210 28 67 65 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e  (geom) >= 10000.
11220 30 0d 0a 20 20 20 20 20 20 55 4e 49 4f 4e 0d 0a  0..      UNION..
11230 20 20 20 20 20 20 53 45 4c 45 43 54 20 6e 6f 64        SELECT nod
11240 65 5f 74 6f 20 41 53 20 6e 6f 64 65 5f 69 64 0d  e_to AS node_id.
11250 0a 20 20 20 20 20 20 46 52 4f 4d 20 72 6f 61 64  .      FROM road
11260 73 0d 0a 20 20 20 20 20 20 57 48 45 52 45 20 53  s..      WHERE S
11270 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e  T_Length(geom) >
11280 3d 20 31 30 30 30 30 2e 30 29 3b 0d 0a 2d 2d 2d  = 10000.0);..---
11290 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
112a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
112b0 2d 2d 2d 2d 2d 0d 0a 31 32 36 33 30 7c 31 32 36  -----..12630|126
112c0 34 38 7c 31 33 36 34 35 7c 31 33 36 35 31 7c 37  48|13645|13651|7
112d0 38 33 35 33 7c 37 39 31 34 32 7c 37 39 34 35 33  8353|79142|79453
112e0 7c 37 39 34 35 34 7c 32 38 36 31 34 30 7c 32 38  |79454|286140|28
112f0 36 31 35 33 7c 32 38 36 37 36 33 7c 32 38 36 37  6153|286763|2867
11300 37 30 7c 32 39 31 34 31 36 7c 32 39 31 34 31 37  70|291416|291417
11310 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 59  ..</verbatim>..Y
11320 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c  ou can eventuall
11330 79 20 70 61 73 73 20 61 6e 20 6f 70 74 69 6f 6e  y pass an option
11340 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65  al second argume
11350 6e 74 20 74 6f 20 3c 62 3e 4d 61 6b 65 53 74 72  nt to <b>MakeStr
11360 69 6e 67 4c 69 73 74 28 29 3c 2f 62 3e 20 69 6e  ingList()</b> in
11370 20 6f 72 64 65 72 20 74 6f 20 64 65 66 69 6e 65   order to define
11380 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20   an alternative 
11390 73 65 70 61 72 61 74 6f 72 20 64 69 66 66 65 72  separator differ
113a0 65 6e 74 20 66 72 6f 6d 20 3c 62 3e 63 6f 6d 6d  ent from <b>comm
113b0 61 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  a</b>...<br><br>
113c0 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e  ..<hr><br>..<h1>
113d0 3c 61 20 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f  <a name="isochro
113e0 6e 65 22 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20  ne">6 - Solving 
113f0 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65  Isochrone proble
11400 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20  ms</a></h1>..<a 
11410 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e  href="https://en
11420 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77  .wikipedia.org/w
11430 69 6b 69 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61  iki/Isochrone_ma
11440 70 22 3e 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61  p">Isochrones</a
11450 3e 20 61 72 65 20 61 72 65 61 73 20 28 6f 72 20  > are areas (or 
11460 63 75 72 76 65 73 29 20 63 6f 6e 6e 65 63 74 69  curves) connecti
11470 6e 67 20 70 6f 69 6e 74 73 20 61 74 20 77 68 69  ng points at whi
11480 63 68 20 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63  ch something occ
11490 75 72 73 20 6f 72 20 61 72 72 69 76 65 73 20 61  urs or arrives a
114a0 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e  t the same time.
114b0 3c 62 72 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73  <br>..Isochrones
114c0 20 61 72 65 20 75 73 75 61 6c 6c 79 20 72 65 6c   are usually rel
114d0 61 74 65 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20  ated to Network 
114e0 41 6e 61 6c 79 73 69 73 20 61 6e 64 20 52 6f 75  Analysis and Rou
114f0 74 69 6e 67 20 62 65 63 61 75 73 65 20 74 68 65  ting because the
11500 79 20 61 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c  y allow to easil
11510 79 20 69 64 65 6e 74 69 66 79 20 77 68 69 63 68  y identify which
11520 20 73 70 65 63 69 66 69 63 20 70 6f 72 74 69 6f   specific portio
11530 6e 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b  n of the Network
11540 20 63 61 6e 20 62 65 20 72 65 61 63 68 65 64 20   can be reached 
11550 73 74 61 72 74 69 6e 67 20 62 79 20 73 6f 6d 65  starting by some
11560 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c   <b>origin Node<
11570 2f 62 3e 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20  /b> spending no 
11580 6d 6f 72 65 20 74 68 61 6e 20 61 20 67 69 76 65  more than a give
11590 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62  n <b>Cost</b>.<b
115a0 72 3e 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68  r><br>..As you h
115b0 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e  ave already seen
115c0 20 77 69 74 68 20 3c 62 3e 6d 75 6c 74 69 2d 64   with <b>multi-d
115d0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71  estination</b> q
115e0 75 65 72 69 65 73 2c 20 74 68 65 20 44 69 6a 6b  ueries, the Dijk
115f0 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d  stra's Algorithm
11600 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65   robustly ensure
11610 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65  s that when a de
11620 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61  stination is rea
11630 63 68 65 64 2c 20 61 6c 6c 20 74 68 65 20 64 65  ched, all the de
11640 73 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65  stinations prese
11650 6e 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65  nting a <b>lesse
11660 72 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20  r cost</b> have 
11670 61 6c 73 6f 20 62 65 65 6e 20 63 6f 6c 6c 65 63  also been collec
11680 74 65 64 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61  ted.<br>..This a
11690 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65  llows to efficie
116a0 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e  ntly support <b>
116b0 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75  Isochrone</b> qu
116c0 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70  eries...You simp
116d0 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69  ly have to speci
116e0 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f  fy a <b>single o
116f0 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
11700 6e 64 20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72  nd a <b>Cost thr
11710 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c  eshold</b>.<br><
11720 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
11730 3a 20 65 78 65 63 75 74 69 6e 67 20 61 6e 20 49  : executing an I
11740 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 72  sochrone query r
11750 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72 6f  equires a <b>pro
11760 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e  cessing time</b>
11770 20 74 68 61 74 20 3c 62 3e 69 73 6e 27 74 3c 2f   that <b>isn't</
11780 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66  b> the <u>sum of
11790 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20   all individual 
117a0 74 69 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68  timings for each
117b0 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e   destination</u>
117c0 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20  , but simply is 
117d0 74 68 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75  the <u>time requ
117e0 69 72 65 64 20 74 6f 20 72 65 61 63 68 20 74 68  ired to reach th
117f0 65 20 6d 6f 73 74 20 63 6f 73 74 6c 79 20 64 65  e most costly de
11800 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62  stination</u>.<b
11810 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  r>..<verbatim>..
11820 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d  SELECT Algorithm
11830 2c 20 52 65 71 75 65 73 74 2c 20 52 6f 6c 65 2c  , Request, Role,
11840 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
11850 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
11860 79 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  y..FROM byfoot..
11870 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
11880 20 31 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74   181999 AND Cost
11890 20 3c 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76   <= 1000.0;..</v
118a0 65 72 62 61 74 69 6d 3e 0d 0a 59 6f 75 20 63 61  erbatim>..You ca
118b0 6e 20 63 61 6c 6c 20 61 6e 20 3c 62 3e 49 73 6f  n call an <b>Iso
118c0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79  chrone</b> query
118d0 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79   as supported by
118e0 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
118f0 6e 67 3c 2f 62 3e 20 62 79 20 73 70 65 63 69 66  ng</b> by specif
11900 79 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ying:..<ul>..<li
11910 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e  ><b>NodeFrom</b>
11920 3a 20 74 68 65 20 3c 62 3e 3c 69 3e 49 44 3c 2f  : the <b><i>ID</
11930 69 3e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 3c 69 3e  i></b> or <b><i>
11940 43 6f 64 65 3c 2f 69 3e 3c 2f 62 3e 20 75 6e 69  Code</i></b> uni
11950 71 75 65 6c 79 20 69 64 65 6e 74 69 66 79 69 6e  quely identifyin
11960 67 20 74 68 65 20 3c 62 3e 6f 72 69 67 69 6e 20  g the <b>origin 
11970 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  Node</b>.</li>..
11980 3c 6c 69 3e 3c 62 3e 43 6f 73 74 3c 2f 62 3e 3a  <li><b>Cost</b>:
11990 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 3c 62 3e   the maximum <b>
119a0 43 6f 73 74 20 74 68 72 65 73 68 6f 6c 64 3c 2f  Cost threshold</
119b0 62 3e 20 6e 6f 74 20 74 6f 20 62 65 20 65 78 63  b> not to be exc
119c0 65 65 64 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  eeded.<br>..<u>N
119d0 6f 74 65 3c 2f 75 3e 3a 20 61 6e 79 20 76 61 6c  ote</u>: any val
119e0 69 64 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65  id Isochrone que
119f0 72 79 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 6e  ry <b>must</b> n
11a00 65 63 65 73 73 61 72 69 6c 79 20 73 70 65 63 69  ecessarily speci
11a10 66 79 20 61 20 3c 62 3e 3c 3d 3c 2f 62 3e 20 28  fy a <b><=</b> (
11a20 3c 75 3e 3c 69 3e 6c 65 73 73 65 72 20 74 68 61  <u><i>lesser tha
11a30 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 3c 2f 69  n or equal to</i
11a40 3e 3c 2f 75 3e 29 20 63 6f 6d 70 61 72 69 73 6f  ></u>) compariso
11a50 6e 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 6c 69 3e  n operator.</li>
11a60 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54  ..</ul>..<br>..T
11a70 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
11a80 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
11a90 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
11aa0 62 79 20 74 68 65 20 61 62 6f 76 65 20 49 73 6f  by the above Iso
11ab0 63 68 72 6f 6e 65 20 71 75 65 72 79 2e 0d 0a 3c  chrone query...<
11ac0 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
11ad0 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
11ae0 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
11af0 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
11b00 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
11b10 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
11b20 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
11b30 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
11b40 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
11b50 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
11b60 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
11b70 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
11b80 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
11b90 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
11ba0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
11bb0 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
11bc0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
11bd0 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
11be0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
11bf0 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 2f  >Geometry</th></
11c00 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d  tr>..<tr>..<tr>.
11c10 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
11c20 64 3e 3c 74 64 3e 49 73 6f 63 68 72 6f 6e 65 3c  d><td>Isochrone<
11c30 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e  /td><td>Solution
11c40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
11c50 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
11c60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
11c70 68 74 22 3e 31 37 38 37 31 37 3c 2f 74 64 3e 3c  ht">178717</td><
11c80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
11c90 3e 35 37 32 2e 34 35 35 31 34 33 3c 2f 74 64 3e  >572.455143</td>
11ca0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47  <td>BLOB sz=60 G
11cb0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f  EOMETRY</td>..</
11cc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
11cd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
11ce0 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f  </td><td>Solutio
11cf0 6e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  n<td align="righ
11d00 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
11d10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
11d20 31 37 38 37 31 38 3c 2f 74 64 3e 3c 74 64 20 61  178718</td><td a
11d30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 38 37  lign="right">587
11d40 2e 33 30 33 37 37 39 3c 2f 74 64 3e 3c 74 64 3e  .303779</td><td>
11d50 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45  BLOB sz=60 GEOME
11d60 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TRY</td>..</tr>.
11d70 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
11d80 3d 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61  ="center" colspa
11d90 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e  n="7">..........
11da0 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ...</td>..</tr>.
11db0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
11dc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
11dd0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
11de0 74 22 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e  t">Solution</td>
11df0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
11e00 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
11e10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
11e20 38 34 30 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  84035</td><td al
11e30 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 39 2e  ign="right">579.
11e40 37 38 36 37 32 34 3c 2f 74 64 3e 3c 74 64 3e 42  786724</td><td>B
11e50 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54  LOB sz=60 GEOMET
11e60 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RY</td>..</tr>..
11e70 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
11e80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
11e90 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  <td>Solution</td
11ea0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
11eb0 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
11ec0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
11ed0 31 38 34 30 33 36 3c 2f 74 64 3e 3c 74 64 20 61  184036</td><td a
11ee0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 34 32  lign="right">642
11ef0 2e 36 39 31 35 39 37 3c 2f 74 64 3e 3c 74 64 3e  .691597</td><td>
11f00 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45  BLOB sz=60 GEOME
11f10 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TRY</td>..</tr>.
11f20 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
11f30 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20 65  .Let's quickly e
11f40 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c  xamine the resul
11f50 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
11f60 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 69 73   the above <b>is
11f70 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72  ochrone</b> quer
11f80 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  y...<ul>..<li>th
11f90 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f  e <b>first row</
11fa0 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  b> of the result
11fb0 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65  set is someway e
11fc0 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20  xceptional, and 
11fd0 69 73 20 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20  is the only row 
11fe0 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
11ff0 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e   presenting <b>N
12000 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75  OT NULL</b> valu
12010 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67  es in the <b>Alg
12020 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52  orithm</b>, <b>R
12030 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e  equest</b>, </b>
12040 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64  Options</b> (and
12050 20 3c 2f 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f   </b>Delimiter</
12060 62 3e 29 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69  b>) columns.</li
12070 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 77 73 20  >..<li>all rows 
12080 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66  (including the f
12090 69 72 73 74 20 6f 6e 65 29 20 68 61 76 65 20 3c  irst one) have <
120a0 62 3e 52 6f 6c 65 20 3d 20 53 6f 6c 75 74 69 6f  b>Role = Solutio
120b0 6e 3c 2f 62 3e 2c 20 61 6e 64 20 72 65 70 72 65  n</b>, and repre
120c0 73 65 6e 74 73 20 61 20 73 69 6e 67 6c 65 20 63  sents a single c
120d0 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65  onnection betwee
120e0 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  n <b>NodeFrom</b
120f0 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
12100 2f 62 3e 2c 20 77 69 74 68 20 74 68 65 20 63 6f  /b>, with the co
12110 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 43  rresponding <b>C
12120 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  ost</b>.</li>..<
12130 6c 69 3e 74 68 65 20 3c 62 3e 47 65 6f 6d 65 74  li>the <b>Geomet
12140 72 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c  ry</b> column al
12150 77 61 79 73 20 63 6f 72 72 65 73 70 6f 6e 64 73  ways corresponds
12160 20 74 6f 20 74 68 65 20 3c 62 3e 32 44 20 50 6f   to the <b>2D Po
12170 69 6e 74 3c 2f 62 3e 20 77 68 65 72 65 20 3c 62  int</b> where <b
12180 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 73 20 6c  >NodeTo</b> is l
12190 6f 63 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ocated.</li>..</
121a0 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  ul>..<br>..<u>No
121b0 74 65 3c 2f 75 3e 3a 20 3c 62 3e 69 73 6f 63 68  te</u>: <b>isoch
121c0 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 65 73  rone</b> queries
121d0 20 61 72 65 20 6e 6f 74 20 61 66 66 65 63 74 65   are not affecte
121e0 64 20 62 79 20 63 6f 6e 66 69 67 75 72 61 62 6c  d by configurabl
121f0 65 20 6f 70 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41  e options...<b>A
12200 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 77 69 6c  lgorithm</b> wil
12210 6c 20 62 65 20 61 6c 77 61 79 73 20 61 73 73 75  l be always assu
12220 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 44 69 6a  med to be <b>Dij
12230 73 6b 74 72 61 3c 2f 62 3e 2c 20 61 6e 64 20 74  sktra</b>, and t
12240 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 4f 70  he current <b>Op
12250 74 69 6f 6e 73 3c 2f 62 3e 20 73 65 74 74 69 6e  tions</b> settin
12260 67 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 70 6c  gs will be simpl
12270 79 20 69 67 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72  y ignored...<ver
12280 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53  batim>..SELECT S
12290 54 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 53 54  T_ConcaveHull(ST
122a0 5f 43 6f 6c 6c 65 63 74 28 47 65 6f 6d 65 74 72  _Collect(Geometr
122b0 79 29 29 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  y))..FROM byfoot
122c0 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d  ..WHERE NodeFrom
122d0 20 3d 20 31 38 31 39 39 39 20 41 4e 44 20 43 6f   = 181999 AND Co
122e0 73 74 20 3c 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c  st <= 1000.0;..<
122f0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 6e 79 20  /verbatim>..Any 
12300 69 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20  isochrone query 
12310 77 69 6c 6c 20 6a 75 73 74 20 72 65 74 75 72 6e  will just return
12320 20 61 20 50 6f 69 6e 74 2d 73 65 74 3b 20 69 66   a Point-set; if
12330 20 79 6f 75 20 61 6c 73 6f 20 77 69 73 68 20 74   you also wish t
12340 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63 6f 72  o obtain the cor
12350 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65 61 6c  responding areal
12360 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
12370 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f  you just have to
12380 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c   call <b>ST_Coll
12390 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64  ect()</b> in ord
123a0 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f 6e 6f  er to get a mono
123b0 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f 69 6e  lithic MultiPoin
123c0 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20  t, then calling 
123d0 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c  <b>ST_ConcaveHul
123e0 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72  l()</b> in order
123f0 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79 67 6f   to get a Polygo
12400 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  n...<br><br><br>
12410 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20  ..The map below 
12420 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77  graphically show
12430 73 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66  s the results of
12440 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62   the previous <b
12450 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71  >isochrone</b> q
12460 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  uery...<br><br>.
12470 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
12480 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
12490 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
124a0 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f 63 68 72  ting-figs/isochr
124b0 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d 22 69 73  one.jpg" alt="is
124c0 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d  ochrone">..<ul>.
124d0 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 74 61 72  .<li>Yellow star
124e0 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64  : the Origin Nod
124f0 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75  e.</li>..<li>Blu
12500 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44 65 73 74  e dots: all Dest
12510 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 20 77 69  ination Nodes wi
12520 74 68 69 6e 20 74 68 65 20 67 69 76 65 6e 20 43  thin the given C
12530 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57  ost.</li>..<li>W
12540 68 69 74 65 20 6c 69 6e 65 3a 20 74 68 65 20 62  hite line: the b
12550 6f 75 6e 64 61 72 79 20 6f 66 20 74 68 65 20 49  oundary of the I
12560 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e  sochrone. ..<br>
12570 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
12580 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63  olor="#c0ffc0" c
12590 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
125a0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
125b0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c 62  <tr><td>..<br><b
125c0 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c 2f  r>..<u><b>Note</
125d0 62 3e 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20  b></u>: in this 
125e0 65 78 61 6d 70 6c 65 20 79 6f 75 27 76 65 20 75  example you've u
125f0 73 65 64 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f  sed the <b>byfoo
12600 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2c 20 74  t</b> Network, t
12610 68 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20  hat is based on 
12620 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 65 78 70  <b>Costs</b> exp
12630 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74  ressed in <b>met
12640 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d 65 74 72  ers</b> (geometr
12650 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63  ic length of eac
12660 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 68  h Link).<br>..Th
12670 69 73 20 4e 65 74 77 6f 72 6b 20 69 73 20 6d 61  is Network is ma
12680 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f  inly intended fo
12690 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73  r <b>pedestrians
126a0 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63 61 6e 20  </b>, so we can 
126b0 73 61 66 65 6c 79 20 61 73 73 75 6d 65 20 61 20  safely assume a 
126c0 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e 74 20 73  <u><i>constant s
126d0 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 20  peed</i></u> of 
126e0 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 3e 20 74  about <b>4</b> t
126f0 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e 2c  o <b>6 km/h</b>,
12700 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
12710 79 20 74 68 65 20 3c 62 3e 49 73 6f 63 68 72 6f  y the <b>Isochro
12720 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74 69 76 65  ne</b> effective
12730 6c 79 20 72 65 73 70 65 63 74 73 20 74 68 65 20  ly respects the 
12740 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69 6d 65 3c  <u><i>same time<
12750 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69 73 69 74  /i></u> requisit
12760 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 70 65 61  e.<br><br>..Spea
12770 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20 67 65 6e  king in more gen
12780 65 72 61 6c 20 74 65 72 6d 73 2c 20 61 6e 20 49  eral terms, an I
12790 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20 62 65 20  sochrone can be 
127a0 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 67 65  intended as a ge
127b0 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d 20 66 6f  neric synonym fo
127c0 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 43 6f 73  r <u><i>same Cos
127d0 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e 20  t</i></u>, even 
127e0 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f  when there is no
127f0 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e 65 63 74   obvious connect
12800 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54 69 6d 65  ion with <b>Time
12810 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  .</b>.<br><br>..
12820 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
12830 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68  e>..<hr><br>..<h
12840 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e  1><a name="tsp">
12850 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 20  7 - Solving TSP 
12860 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73  (traveling sales
12870 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61  man) problems</a
12880 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f  ></h1>..<b>TSP</
12890 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74  b> (<a href="htt
128a0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
128b0 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 65  a.org/wiki/Trave
128c0 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70  lling_salesman_p
128d0 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e  roblem">Travelin
128e0 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c  g Salesman Probl
128f0 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 6c  em</a>) is a wel
12900 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f  l known Operatio
12910 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f 62  ns Research prob
12920 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  lem...<br><br>..
12930 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
12940 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
12950 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
12960 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
12970 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 76  d>..<h3>The Trav
12980 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50  eling Salesman P
12990 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e  roblem</h3>..<b>
129a0 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 20  <i>Given a list 
129b0 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 68  of cities and th
129c0 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77  e distances betw
129d0 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f 66  een each pair of
129e0 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 73   cities, what is
129f0 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 6f   the shortest po
12a00 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 61  ssible route tha
12a10 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63 69  t visits each ci
12a20 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74  ty and returns t
12a30 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 74  o the origin cit
12a40 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72  y ?</i></b>..<br
12a50 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  ><br>..</td></tr
12a60 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  ></table>..<br>.
12a70 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68  .<u>Note:</u> th
12a80 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61  e terms <i><u>sa
12a90 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61  lesman</u></i> a
12aa0 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75  nd <i><u>city</u
12ab0 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 72  ></i> are univer
12ac0 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 68  sally used for h
12ad0 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e  istorical reason
12ae0 73 2c 20 73 6f 20 79 6f 75 20 73 68 6f 75 6c 64  s, so you should
12af0 20 61 76 6f 69 64 20 74 61 6b 69 6e 67 20 74 68   avoid taking th
12b00 65 6d 20 6c 69 74 65 72 61 6c 6c 79 20 61 6e 64  em literally and
12b10 20 74 61 6b 65 20 74 68 65 6d 20 69 6e 20 63 6f   take them in co
12b20 6e 74 65 78 74 2e 3c 62 72 3e 0d 0a 54 68 65 20  ntext.<br>..The 
12b30 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73  term <u><i>sales
12b40 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74  man</i></u> in t
12b50 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f 6e  his specific con
12b60 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e 79  text intends any
12b70 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f   possible kind o
12b80 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61  f <u><i>moving a
12b90 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65  gent</i></u> (pe
12ba0 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 6c  destrian, vehicl
12bb0 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 20  e, passenger or 
12bc0 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c 20  whatever else), 
12bd0 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75  exactly as <i><u
12be0 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69  >city</u></i> si
12bf0 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 20  mply stands for 
12c00 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69  any <i><u>generi
12c10 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75  c destination</u
12c20 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e  ></i> on a given
12c30 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c   Network...<br><
12c40 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63  br>..We can conc
12c50 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 50  eptualy split TP
12c60 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a  S in two halves:
12c70 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70  ..<ol>..<li>comp
12c80 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e  uting all distan
12c90 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 72  ces between pair
12ca0 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f  s of <i>cities</
12cb0 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 79  i>. This is a ty
12cc0 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73  pical <b>Shortes
12cd0 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65  tPath</b> proble
12ce0 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 75  m, and we can du
12cf0 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b 73  ly use the Dijks
12d00 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20  tra's algorithm 
12d10 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a  for this.</li>..
12d20 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 65  <li>then we have
12d30 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 6c   to check for al
12d40 6c 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65  l possible <b>pe
12d50 72 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f  rmutations</b> /
12d60 20 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73   <b>combinations
12d70 3c 2f 62 3e 20 74 6f 20 69 64 65 6e 74 69 66 79  </b> to identify
12d80 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50   the optimal TSP
12d90 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   solution.</li>.
12da0 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c  .</ol>..Unhappil
12db0 79 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61  y there is a pra
12dc0 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74  ctical difficult
12dd0 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61  y in such a stra
12de0 69 67 68 74 66 6f 72 77 61 72 64 20 61 70 70 72  ightforward appr
12df0 6f 61 63 68 3b 20 74 68 65 20 6e 75 6d 62 65 72  oach; the number
12e00 20 6f 66 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73   of combinations
12e10 20 77 69 6c 6c 20 67 72 6f 77 20 65 78 74 72 65   will grow extre
12e20 6d 65 6c 79 20 66 61 73 74 20 61 73 20 74 68 65  mely fast as the
12e30 20 6e 75 6d 62 65 72 20 6f 66 20 3c 62 3e 3c 69   number of <b><i
12e40 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 62 3e 20  >cities</i></b> 
12e50 69 6e 63 72 65 61 73 65 73 2e 3c 62 72 3e 0d 0a  increases.<br>..
12e60 53 69 6d 70 6c 79 20 63 6f 6d 70 75 74 69 6e 67  Simply computing
12e70 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 54 53   the complete TS
12e80 50 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61  P solution for a
12e90 62 6f 75 74 20 74 65 6e 20 63 69 74 69 65 73 20  bout ten cities 
12ea0 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c  will require a <
12eb0 62 3e 76 65 72 79 20 6c 6f 6e 67 20 74 69 6d 65  b>very long time
12ec0 3c 2f 62 3e 20 65 76 65 6e 20 75 73 69 6e 67 20  </b> even using 
12ed0 61 20 73 75 70 65 72 63 6f 6d 70 75 74 65 72 2e  a supercomputer.
12ee0 3c 62 72 3e 0d 0a 41 6e 64 20 61 74 74 65 6d 70  <br>..And attemp
12ef0 74 69 6e 67 20 74 6f 20 63 6f 6d 70 75 74 65 20  ting to compute 
12f00 61 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 20 66  a TSP solution f
12f10 6f 72 20 61 62 6f 75 74 20 68 75 6e 64 72 65 64  or about hundred
12f20 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71   cities will req
12f30 75 69 72 65 20 61 20 3c 62 3e 70 72 61 63 74 69  uire a <b>practi
12f40 63 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 3c 2f  cally infinite</
12f50 62 3e 20 74 69 6d 65 2e 0d 0a 3c 62 72 3e 3c 62  b> time...<br><b
12f60 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73  r>..Nevertheless
12f70 2c 20 73 6f 6c 76 69 6e 67 20 54 53 50 20 69 73  , solving TSP is
12f80 20 68 69 67 68 6c 79 20 64 65 73 69 72 61 62 6c   highly desirabl
12f90 65 20 66 6f 72 20 6d 61 6e 79 20 61 70 70 6c 69  e for many appli
12fa0 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 3c  cation fields: <
12fb0 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e 20  b>logistics</b> 
12fc0 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f 75  (just think abou
12fd0 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 6e  t courier compan
12fe0 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64 45  ies as DHL, FedE
12ff0 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c 20  X, UPS or TNT), 
13000 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 6e  <b>field mainten
13010 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 73  ance</b> / <b>as
13020 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c 62  sistance</b>, <b
13030 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 6f  >waste collectio
13040 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f 6c  n</b>, <b>school
13050 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 61  bus</b> / <b>sha
13060 72 65 64 20 74 61 78 69 20 73 65 72 76 69 63 65  red taxi service
13070 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d 0a  s</b> etc.<br>..
13080 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 20  Many algorithms 
13090 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74  have been invent
130a0 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20 64  ed during last d
130b0 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64 20  ecades intended 
130c0 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63 74  to produce pract
130d0 69 63 61 6c 2c 20 61 6c 74 68 6f 75 67 68 20 61  ical, although a
130e0 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70  pproximate / imp
130f0 65 72 66 65 63 74 2c 20 54 53 50 20 73 6f 6c 75  erfect, TSP solu
13100 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f  tions in a reaso
13110 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65  nably short time
13120 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20  ...Many of them 
13130 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20  strongly depend 
13140 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  on <a href="http
13150 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
13160 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73  .org/wiki/Heuris
13170 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f  tic">heuristic</
13180 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68  a> and / or <a h
13190 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e  ref="https://en.
131a0 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69  wikipedia.org/wi
131b0 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72  ki/Randomness">r
131c0 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a  andomness</a>...
131d0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72  <br><br>..<b>Vir
131e0 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
131f0 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66  supports two dif
13200 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72  ferent TSP algor
13210 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ithms:..<ul>..<l
13220 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20  i><b>TSP NN</b> 
13230 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c  (<i>aka</i> <b><
13240 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62  i>Nearest Neighb
13250 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e  our</i></b>)<br>
13260 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22  ..This <a href="
13270 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
13280 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65  edia.org/wiki/Ne
13290 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f  arest_neighbour_
132a0 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74  algorithm">first
132b0 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69   algorithm</a> i
132c0 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72  s straightforwar
132d0 64 2c 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65  d, simple and ve
132e0 72 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20  ry fast; it can 
132f0 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76  effectively solv
13300 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74  e huge TSP solut
13310 69 6f 6e 73 20 28 61 20 74 68 6f 75 73 61 6e 64  ions (a thousand
13320 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f   <i>cities</i> o
13330 72 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20  r even more) in 
13340 61 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d  a very short tim
13350 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74  e.<br>..<u>Short
13360 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e   description</u>
13370 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61  :..<ul>..<li>sta
13380 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c  rting from the <
13390 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f  u><i>base city</
133a0 69 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69  i></u> the <u><i
133b0 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75  >salesman</i></u
133c0 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75  > goes to the <u
133d0 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ><i>city</i></u>
133e0 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20   presenting the 
133f0 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e  <i><u>lesser con
13400 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e  nection cost</u>
13410 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </i>.</li>..<li>
13420 74 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69  the already visi
13430 74 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f  ted <i><u>city</
13440 75 3e 3c 2f 69 3e 20 69 73 20 72 65 6d 6f 76 65  u></i> is remove
13450 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c  d from the list,
13460 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75   and then the <u
13470 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e  ><i>salesman</i>
13480 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65  </u> goes to the
13490 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79   next <u><i>city
134a0 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74  </i></u> present
134b0 69 6e 67 2c 20 61 67 61 69 6e 2c 20 74 68 65 20  ing, again, the 
134c0 6e 65 78 74 20 3c 69 3e 3c 75 3e 6c 65 73 73 65  next <i><u>lesse
134d0 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 73  r connection cos
134e0 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d  t</u></i>.</li>.
134f0 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 63  .<li>the cycle c
13500 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 61  ontinues until a
13510 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73  ll  <i><u>cities
13520 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 20  </u></i> in the 
13530 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e 20 76  list have been v
13540 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  isited.</li>..<l
13550 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 3c  i>finally, the <
13560 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69  u><i>salesman</i
13570 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 6f  ></u> returns to
13580 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 61 6c   his/her initial
13590 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79   <u><i>base city
135a0 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c  </i></u></li>..<
135b0 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  /ul>..<u>Note</u
135c0 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e 6c 69  > it's very unli
135d0 6b 65 6c 79 20 74 68 61 74 20 54 53 50 20 4e 4e  kely that TSP NN
135e0 20 77 69 6c 6c 20 66 69 6e 64 20 74 68 65 20 3c   will find the <
135f0 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f  b>optimal</b> so
13600 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 63  lution, but it c
13610 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 20  an quickly find 
13620 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20  some reasonable 
13630 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f  <b>approximate</
13640 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e  b> solution (<i>
13650 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 65  few is surely be
13660 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e  tter than nothin
13670 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20  g</i>).<br>..In 
13680 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79  the most unlucky
13690 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f 75   case TSP NN cou
136a0 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75  ld possibly retu
136b0 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20  rn the <b>worst 
136c0 70 6f 73 73 69 62 6c 65 20 73 6f 6c 75 74 69 6f  possible solutio
136d0 6e 3c 2f 62 3e 2c 20 62 75 74 20 74 68 65 20 73  n</b>, but the s
136e0 70 65 63 69 66 69 63 20 69 6d 70 6c 65 6d 65 6e  pecific implemen
136f0 74 61 74 69 6f 6e 20 61 64 6f 70 74 65 64 20 62  tation adopted b
13700 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  y VirtualRouting
13710 20 63 68 65 63 6b 73 20 61 67 61 69 6e 73 74 20   checks against 
13720 74 68 69 73 20 70 6f 73 73 69 62 69 6c 69 74 79  this possibility
13730 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 65 61 63  :..<ul>..<li>eac
13740 68 20 54 53 50 20 4e 4e 20 69 73 20 61 6c 77 61  h TSP NN is alwa
13750 79 73 20 63 6f 6d 70 75 74 65 64 20 74 77 69 63  ys computed twic
13760 65 20 62 79 20 72 61 6e 64 6f 6d 6c 79 20 63 68  e by randomly ch
13770 6f 6f 73 69 6e 67 20 61 20 64 69 66 66 65 72 65  oosing a differe
13780 6e 74 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69  nt <u><i>base ci
13790 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 74  ty</i></u> and t
137a0 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e 67 20  hen normalizing 
137b0 74 68 65 20 73 6f 6c 75 74 69 6f 6e 3b 20 74 68  the solution; th
137c0 65 20 62 65 73 74 20 6f 66 20 74 68 65 20 74 77  e best of the tw
137d0 6f 20 73 6f 6c 75 74 69 6f 6e 73 20 69 73 20 74  o solutions is t
137e0 68 65 6e 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c  hen returned.</l
137f0 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 69 6d  i>..<li>this sim
13800 70 6c 65 2c 20 62 75 74 20 65 66 66 65 63 74 69  ple, but effecti
13810 76 65 2c 20 70 72 65 63 61 75 74 69 6f 6e 20 65  ve, precaution e
13820 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20  nsures that the 
13830 3c 62 3e 77 6f 72 73 74 20 70 6f 73 73 69 62 6c  <b>worst possibl
13840 65 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77  e solution</b> w
13850 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 72 65 74  ill never be ret
13860 75 72 6e 65 64 2c 20 77 69 74 68 20 61 20 6d 6f  urned, with a mo
13870 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 61 73  derately increas
13880 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d  ed execution tim
13890 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  e.</li>..</ul></
138a0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20  li>..<li><b>TSP 
138b0 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  GA</b> (<i>aka</
138c0 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 63  i> <b><i>Genetic
138d0 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c 2f   Algorithm</i></
138e0 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 3c  b>).<br>..This <
138f0 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
13900 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
13910 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 6c  /wiki/Genetic_al
13920 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e 61  gorithm">alterna
13930 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c 2f  tive algorithm</
13940 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20  a> is much more 
13950 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 68  complex and soph
13960 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 20 69  isticated, and i
13970 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 70 69  s directly inspi
13980 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 61  red by biologica
13990 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 68 20  l concepts such 
139a0 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 70  as <b>sexual rep
139b0 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c  roduction</b>, <
139c0 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 74 69  b>genetic mutati
139d0 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e  ons</b> and <b>n
139e0 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e  atural selection
139f0 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68  </b>.<br>..<u>Sh
13a00 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 3c  ort description<
13a10 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /u>:..<ul>..<li>
13a20 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 6c 20  a first initial 
13a30 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73  set of solutions
13a40 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70 75   (<i><u>the popu
13a50 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20  lation</u></i>) 
13a60 69 73 20 63 72 65 61 74 65 64 20 62 79 20 75 73  is created by us
13a70 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 65 72  ing TSP NN after
13a80 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69   randomly choosi
13a90 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73  ng the <u><i>bas
13aa0 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61  e city</i></u> a
13ab0 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a  nd then normaliz
13ac0 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 69 6f  ing each solutio
13ad0 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  n.</li>..<li>the
13ae0 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 73 74  n during each st
13af0 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 75 74  ep of the execut
13b00 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 3e  ion loop (<i><u>
13b10 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f  generation</u></
13b20 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 6f 6c  i>) pairs of sol
13b30 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 78  utions <i><u>sex
13b40 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 65 3c  ually reproduce<
13b50 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 20 62  /i></u> giving b
13b60 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e 63 68  irth to <u><i>ch
13b70 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f 6e 73  ildren solutions
13b80 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72 6f 64  </i></u>; reprod
13b90 75 63 74 69 6f 6e 20 69 73 20 73 75 62 6a 65 63  uction is subjec
13ba0 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72 6f 6d  t to <u><i>chrom
13bb0 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65 72 73  osome crossovers
13bc0 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 69 3e  </i></u> and <i>
13bd0 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61 74 69  <u>random mutati
13be0 6f 6e 73 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69  ons</u></i>.</li
13bf0 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68 20  >..<li>for each 
13c00 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e  <i><u>generation
13c10 3c 2f 75 3e 3c 2f 69 3e 20 61 20 3c 69 3e 3c 75  </u></i> a <i><u
13c20 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69  >natural selecti
13c30 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 28 3c 69 3e 61  on</u></i> (<i>a
13c40 6b 61 20 3c 75 3e 65 6c 69 74 69 73 74 20 73 65  ka <u>elitist se
13c50 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29  lection</u></i>)
13c60 20 70 72 6f 63 65 73 73 20 65 6e 73 75 72 65 73   process ensures
13c70 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 3c   that only the <
13c80 69 3e 3c 75 3e 62 65 73 74 20 66 69 74 3c 2f 75  i><u>best fit</u
13c90 3e 3c 2f 69 3e 20 73 6f 6c 75 74 69 6f 6e 73 20  ></i> solutions 
13ca0 63 61 6e 20 66 75 72 74 68 65 72 20 70 72 6f 70  can further prop
13cb0 61 67 61 74 65 20 74 68 65 69 72 20 3c 75 3e 3c  agate their <u><
13cc0 69 3e 67 65 6e 65 73 3c 2f 69 3e 3c 2f 75 3e 20  i>genes</i></u> 
13cd0 74 6f 20 74 68 65 20 6e 65 78 74 20 3c 75 3e 3c  to the next <u><
13ce0 69 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 69 3e  i>generation</i>
13cf0 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </u>.</li>..<li>
13d00 61 66 74 65 72 20 61 20 63 65 72 74 61 69 6e 20  after a certain 
13d10 6e 75 6d 62 65 72 20 6f 66 20 3c 69 3e 3c 75 3e  number of <i><u>
13d20 67 65 6e 65 72 61 74 69 6f 6e 73 3c 2f 69 3e 3c  generations</i><
13d30 2f 75 3e 20 28 6c 65 74 27 73 20 73 61 79 20 61  /u> (let's say a
13d40 62 6f 75 74 20 73 6f 6d 65 20 68 75 6e 64 72 65  bout some hundre
13d50 64 74 68 20 69 74 65 72 61 74 69 6f 6e 73 29 20  dth iterations) 
13d60 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 73  the <b>optimal s
13d70 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 28 6f 72 20  olution</b> (or 
13d80 61 74 20 6c 65 61 73 74 20 61 20 3c 62 3e 66 61  at least a <b>fa
13d90 69 72 6c 79 20 67 6f 6f 64 20 73 75 62 2d 6f 70  irly good sub-op
13da0 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f  timal solution</
13db0 62 3e 29 20 73 68 6f 75 6c 64 20 66 69 6e 61 6c  b>) should final
13dc0 6c 79 20 65 6d 65 72 67 65 2c 20 61 6e 64 20 73  ly emerge, and s
13dd0 6f 20 74 68 65 20 6c 6f 6f 70 20 63 61 6e 20 65  o the loop can e
13de0 78 69 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  xit.</li>..</ul>
13df0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f  </li>..<li><u>No
13e00 74 65 3c 2f 75 3e 3a 20 54 53 50 20 47 41 20 69  te</u>: TSP GA i
13e10 73 20 75 73 75 61 6c 6c 79 20 65 78 70 65 63 74  s usually expect
13e20 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 62  ed to identify b
13e30 65 74 74 65 72 20 73 6f 6c 75 74 69 6f 6e 73 20  etter solutions 
13e40 74 68 61 6e 20 54 53 50 20 4e 4e 20 63 61 6e 20  than TSP NN can 
13e50 64 6f 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20  do, but it will 
13e60 73 75 72 65 6c 79 20 72 65 71 75 69 72 65 20 6d  surely require m
13e70 75 63 68 20 6d 6f 72 65 20 74 69 6d 65 20 74 6f  uch more time to
13e80 20 63 6f 6d 70 6c 65 74 65 2e 3c 2f 6c 69 3e 20   complete.</li> 
13e90 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72  ..</ul>..<br><br
13ea0 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65 78 61  >..Let's now exa
13eb0 6d 69 6e 65 20 61 20 70 72 61 63 74 69 63 61 6c  mine a practical
13ec0 20 65 78 61 6d 70 6c 65 20 6f 66 20 54 53 50 20   example of TSP 
13ed0 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69  solving using Vi
13ee0 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 20 0d 0a  rtualRouting. ..
13ef0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
13f00 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65  TE byfoot SET Re
13f10 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a  quest = 'TSP';..
13f20 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
13f30 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
13f40 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
13f50 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
13f60 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
13f70 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
13f80 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
13f90 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
13fa0 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
13fb0 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
13fc0 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27  1 AND NodeTo = '
13fd0 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38  183286,181999,18
13fe0 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37  4030,183882,1787
13ff0 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
14000 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74  >..A VirtualRout
14010 69 6e 67 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71  ing <b>TSP</b> q
14020 75 65 72 79 20 68 61 73 20 74 68 65 20 73 61 6d  uery has the sam
14030 65 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d  e identical form
14040 20 6f 66 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64   of a <b>multi-d
14050 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71  estination</b> q
14060 75 65 72 79 3b 20 74 68 65 20 3c 69 3e 3c 75 3e  uery; the <i><u>
14070 62 61 73 65 20 63 69 74 79 3c 75 3e 3c 2f 69 3e  base city<u></i>
14080 20 69 73 20 61 6c 77 61 79 73 20 65 78 70 65 63   is always expec
14090 74 65 64 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e  ted to correspon
140a0 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  d to <b>NodeFrom
140b0 3c 2f 62 3e 20 61 6e 64 20 61 6c 6c 20 6f 74 68  </b> and all oth
140c0 65 72 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c  er <i><u>cities<
140d0 2f 75 3e 3c 2f 69 3e 20 74 6f 20 62 65 20 76 69  /u></i> to be vi
140e0 73 69 74 65 64 20 61 72 65 20 65 78 70 65 63 74  sited are expect
140f0 65 64 20 74 6f 20 62 65 20 65 6e 75 6d 65 72 61  ed to be enumera
14100 74 65 64 20 69 6e 74 6f 20 61 20 3c 62 3e 6d 75  ted into a <b>mu
14110 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c  lti-destination<
14120 2f 62 3e 20 6c 69 73 74 20 61 73 73 69 67 6e 65  /b> list assigne
14130 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f  d to <b>NodeTo</
14140 62 3e 2e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  b>...<u>Note</u>
14150 3a 20 79 6f 75 20 6d 75 73 74 20 65 78 70 6c 69  : you must expli
14160 63 69 74 6c 79 20 73 65 74 20 74 68 65 20 63 75  citly set the cu
14170 72 72 65 6e 74 20 3c 62 3e 52 65 71 75 65 73 74  rrent <b>Request
14180 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f  </b> as <b>TSP</
14190 62 3e 2c 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62  b>, <b>TSP NN</b
141a0 3e 20 6f 72 20 3c 62 3e 54 53 50 20 47 41 3c 2f  > or <b>TSP GA</
141b0 62 3e 20 28 54 53 50 20 61 6e 64 20 54 53 50 20  b> (TSP and TSP 
141c0 4e 4e 20 61 72 65 20 73 79 6e 6f 6e 79 6d 73 29  NN are synonyms)
141d0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
141e0 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
141f0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
14200 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
14210 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
14220 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
14230 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
14240 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
14250 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
14260 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68  >Request</th><th
14270 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
14280 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
14290 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
142a0 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  0a0">Delimiter</
142b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
142c0 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64  #d0d0a0">RouteId
142d0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
142e0 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
142f0 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
14300 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
14310 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
14320 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
14330 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
14340 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
14350 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
14360 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
14370 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
14380 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
14390 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
143a0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
143b0 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
143c0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
143d0 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
143e0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
143f0 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
14400 64 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64  d>TSP NN</td><td
14410 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20  >Full</td><td>, 
14420 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78  &#91;dec=44, hex
14430 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64  =2c&#93;</td><td
14440 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
14450 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14460 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
14470 3e 54 53 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74  >TSP Solution</t
14480 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14490 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
144a0 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
144b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
144c0 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
144d0 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 35 34 2e  gn="right">1254.
144e0 34 33 33 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42  433933</td><td>B
144f0 4c 4f 42 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d  LOB sz=2000 GEOM
14500 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
14510 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
14520 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
14530 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14540 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14550 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72  NULL<td align="r
14560 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20  ight">1</td><td 
14570 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14580 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14590 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
145a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
145b0 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
145c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
145d0 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4030</td><td ali
145e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33  gn="right">176.3
145f0 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c  64755</td><td>BL
14600 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54  OB sz=304 GEOMET
14610 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
14620 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14630 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14640 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14650 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14660 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14670 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
14680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14690 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
146a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
146b0 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64  ight">224014</td
146c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
146d0 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
146e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
146f0 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
14700 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e  lign="right">94.
14710 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e  812424</td><td>N
14720 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
14730 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f  PIETRO ARETINO</
14740 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14750 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14760 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14770 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14780 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14790 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
147a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
147b0 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
147c0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
147d0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36  gn="right">22486
147e0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
147f0 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
14800 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14810 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e  ght">182043</td>
14820 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14830 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e  ">37.095287</td>
14840 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14850 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
14860 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14870 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14880 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14890 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
148a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
148b0 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
148c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
148d0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
148e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
148f0 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74  right">226070</t
14900 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14910 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c  ht">182043</td><
14920 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14930 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34  align="right">44
14950 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e  .457044</td><td>
14960 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41  NULL</td><td>PIA
14970 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e  ZZA SANT'AGOSTIN
14980 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
14990 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
149a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
149b0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
149c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
149d0 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
149e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
149f0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
14a00 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
14a10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14a20 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
14a30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14a40 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
14a50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14a60 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e 3c  139.114938</td><
14a70 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20 47  td>BLOB sz=496 G
14a80 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
14a90 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
14aa0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14ab0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14ac0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14ad0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14ae0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14af0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14b00 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
14b10 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
14b20 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37  gn="right">22607
14b30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
14b40 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
14b50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14b60 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
14b70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14b80 22 3e 35 35 2e 36 38 39 30 30 39 3c 2f 74 64 3e  ">55.689009</td>
14b90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14ba0 3e 56 49 41 20 47 49 55 53 45 50 50 45 20 47 41  >VIA GIUSEPPE GA
14bb0 52 49 42 41 4c 44 49 3c 2f 74 64 3e 0d 0a 3c 2f  RIBALDI</td>..</
14bc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14bd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14be0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14bf0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14c10 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
14c20 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
14c30 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
14c40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
14c50 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5512</td><td ali
14c60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32  gn="right">18262
14c70 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
14c80 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f  "right">182933</
14c90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14ca0 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f  ght">34.184194</
14cb0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14cc0 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
14cd0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14ce0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14cf0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14d00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14d10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14d20 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14d40 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
14d50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14d60 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74  right">225511</t
14d70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14d80 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c  ht">182933</td><
14d90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14da0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
14db0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39  align="right">49
14dc0 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e  .241735</td><td>
14dd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
14de0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
14df0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14e00 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14e10 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14e20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14e30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14e40 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">3</td><td ali
14e50 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
14e60 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
14e70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14e80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14e90 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
14ea0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
14eb0 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
14ec0 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38  "right">217.6728
14ed0 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  85</td><td>BLOB 
14ee0 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c  sz=688 GEOMETRY<
14ef0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14f00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14f10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14f20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14f30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14f40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14f50 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
14f60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
14f70 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</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 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74  t">222635</td><t
14fa0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14fb0 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61  181999</td><td a
14fc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
14fd0 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  998</td><td alig
14fe0 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 36 32  n="right">101.62
14ff0 39 37 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9750</td><td>NUL
15000 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
15010 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
15020 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15030 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15040 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15050 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15060 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15070 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
15080 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
15090 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
150a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
150b0 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  780</td><td alig
150c0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38  n="right">181998
150d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
150e0 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74  right">183560</t
150f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15100 68 74 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74  ht">73.733572</t
15110 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15120 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49  td>VIA DELL'ANFI
15130 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  TEATRO</td>..</t
15140 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15150 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15160 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15170 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69  ><td>NULL<td ali
15180 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
15190 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
151a0 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
151b0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
151c0 22 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f  "right">225827</
151d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
151e0 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e  ght">183560</td>
151f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15200 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
15210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
15220 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64  2.309564</td><td
15230 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
15240 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52  A DELL'ANFITEATR
15250 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
15260 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
15270 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15280 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15290 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
152a0 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
152b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
152c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
152d0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
152e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
152f0 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
15300 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15310 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
15320 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15330 33 37 38 2e 33 31 33 36 38 34 3c 2f 74 64 3e 3c  378.313684</td><
15340 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47  td>BLOB sz=272 G
15350 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
15360 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
15370 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
15380 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15390 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
153a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
153b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
153c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
153d0 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
153e0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
153f0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31  gn="right">22441
15400 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
15410 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
15420 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15430 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
15440 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15450 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64  ">136.372057</td
15460 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15470 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
15480 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
15490 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
154a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
154b0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
154c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
154d0 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64  gn="right">5</td
154e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
154f0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
15500 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
15510 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f  "right">219171</
15520 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15530 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
15540 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15550 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
15560 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
15570 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64  3.285538</td><td
15580 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
15590 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
155a0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
155b0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
155c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
155d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
155e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
155f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74  ign="right">5</t
15600 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15610 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
15620 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
15630 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c  ="right">219058<
15640 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15650 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
15660 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15670 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
15680 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15690 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c  148.656089</td><
156a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
156b0 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
156c0 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
156d0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
156e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
156f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15700 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
15710 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
15720 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15730 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
15740 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
15750 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
15760 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
15770 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15780 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64  ight">183882</td
15790 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
157a0 74 22 3e 31 38 38 2e 32 31 36 38 33 31 3c 2f 74  t">188.216831</t
157b0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 30  d><td>BLOB sz=40
157c0 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
157d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
157e0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
157f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15800 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15810 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15820 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15830 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >6</td><td align
15840 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
15850 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
15860 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
15870 34 35 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4538</td><td ali
15880 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
15890 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
158a0 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f  "right">181972</
158b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
158c0 67 68 74 22 3e 35 30 2e 39 30 30 36 36 33 3c 2f  ght">50.900663</
158d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
158e0 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20  <td>VIA ANTONIO 
158f0 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d  GUADAGNOLI</td>.
15900 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
15910 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15920 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15930 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15940 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  d>..<td align="r
15950 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20  ight">6</td><td 
15960 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
15970 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
15980 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15990 74 22 3e 32 32 34 35 33 37 3c 2f 74 64 3e 3c 74  t">224537</td><t
159a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
159b0 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61  181972</td><td a
159c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
159d0 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  000</td><td alig
159e0 6e 3d 22 72 69 67 68 74 22 3e 38 36 2e 33 30 31  n="right">86.301
159f0 30 35 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  051</td><td>NULL
15a00 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c  </td><td>VIA DEL
15a10 20 4e 49 4e 46 45 4f 3c 2f 74 64 3e 0d 0a 3c 2f   NINFEO</td>..</
15a20 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
15a30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15a40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15a50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15a60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15a70 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >6</td><td align
15a80 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
15a90 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
15aa0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
15ab0 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5527</td><td ali
15ac0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
15ad0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
15ae0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f  "right">183882</
15af0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15b00 67 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f  ght">51.015117</
15b10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15b20 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45  <td>VIA LICIO NE
15b30 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  NCETTI</td>..</t
15b40 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15b50 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15b60 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15b70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15b80 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15b90 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
15ba0 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
15bb0 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
15bc0 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72  NULL<td align="r
15bd0 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64  ight">183882</td
15be0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15bf0 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
15c00 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15c10 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
15c20 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47  td>BLOB sz=240 G
15c30 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
15c40 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
15c50 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
15c60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15c70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15c80 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
15c90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c  align="right">7<
15ca0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15cb0 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
15cc0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
15cd0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32  gn="right">22552
15ce0 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
15cf0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f  "right">183882</
15d00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15d10 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
15d20 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15d30 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e  ">51.015117</td>
15d40 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15d50 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45  >VIA LICIO NENCE
15d60 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TTI</td>..</tr>.
15d70 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15d80 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15d90 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15da0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
15db0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f  lign="right">7</
15dc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15dd0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
15de0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
15df0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36  n="right">222636
15e00 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15e10 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
15e20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15e30 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
15e40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15e50 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e  >103.735722</td>
15e60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15e70 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
15e80 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
15e90 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
15ea0 0a 4c 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b  .Let's now quick
15eb0 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
15ec0 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
15ed0 64 20 62 79 20 61 6e 79 20 54 53 50 20 71 75 65  d by any TSP que
15ee0 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  ry:..<ul>..<li>t
15ef0 68 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75  he general layou
15f00 74 20 69 73 20 6d 6f 72 65 20 6f 72 20 6c 65 73  t is more or les
15f10 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f  s the same as yo
15f20 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65  u've already see
15f30 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  n in the case of
15f40 20 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74 68   <b>ShortestPath
15f50 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 3c 2f 6c  </b> queries.</l
15f60 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66  i>..<li>the <b>f
15f70 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20  irst row</b> of 
15f80 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73  the resultset is
15f90 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69   someway excepti
15fa0 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65  onal, and is the
15fb0 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 74 68 65   only row of the
15fc0 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 65   resultset prese
15fd0 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c  nting <b>NOT NUL
15fe0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20  L</b> values in 
15ff0 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  the <b>Algorithm
16000 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74  </b>, <b>Request
16010 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73  </b>, <b>Options
16020 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 6c 69  </b> and <b>Deli
16030 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  miter</b> column
16040 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f 6e 74 61  s.<br>..It conta
16050 69 6e 73 20 74 68 65 20 3c 62 3e 54 53 50 20 73  ins the <b>TSP s
16060 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 61 73 20 61  olution</b> as a
16070 20 77 68 6f 6c 65 3a 20 63 6f 6c 75 6d 6e 20 3c   whole: column <
16080 62 3e 43 6f 73 74 3c 2f 62 3e 20 69 73 20 74 68  b>Cost</b> is th
16090 65 20 3c 75 3e 74 6f 74 61 6c 20 63 6f 73 74 3c  e <u>total cost<
160a0 2f 75 3e 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 3c  /u> and column <
160b0 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 69  b>Geometry</b> i
160c0 73 20 74 68 65 20 3c 75 3e 6f 76 65 72 61 6c 6c  s the <u>overall
160d0 20 73 6f 6c 75 74 69 6f 6e 20 70 61 74 68 3c 2f   solution path</
160e0 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  u>.</li>..<li>co
160f0 6c 75 6d 6e 73 20 3c 62 3e 52 6f 75 74 65 49 64  lumns <b>RouteId
16100 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 52 6f 75 74  </b> and <b>Rout
16110 65 52 6f 77 3c 2f 62 3e 20 68 61 76 65 20 74 68  eRow</b> have th
16120 65 20 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74  e same interpret
16130 61 74 69 6f 6e 20 61 73 20 69 6e 20 3c 62 3e 6d  ation as in <b>m
16140 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
16150 20 53 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62   ShortestPath</b
16160 3e 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69  > queries, but i
16170 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20  n this specific 
16180 63 61 73 65 20 65 61 63 68 20 3c 75 3e 3c 69 3e  case each <u><i>
16190 72 6f 75 74 65 3c 2f 69 3e 3c 2f 75 3e 20 63 6f  route</i></u> co
161a0 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63  rresponds to a c
161b0 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65  onnection betwee
161c0 6e 20 74 77 6f 20 3c 69 3e 3c 75 3e 63 69 74 69  n two <i><u>citi
161d0 65 73 3c 2f 75 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d  es</u></i>.<br>.
161e0 0a 41 6c 6c 20 3c 69 3e 3c 75 3e 72 6f 75 74 65  .All <i><u>route
161f0 73 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 6f 72  s</u></i> are or
16200 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c  dered accordingl
16210 79 20 74 6f 20 74 68 65 20 72 75 6e 6e 69 6e 67  y to the running
16220 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65   sequence of the
16230 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 20 3c   TSP solution. <
16240 62 3e 52 6f 75 74 65 49 64 3d 30 3c 2f 62 3e 20  b>RouteId=0</b> 
16250 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 6f  identifies the o
16260 76 65 72 61 6c 6c 20 54 53 50 20 73 6f 6c 75 74  verall TSP solut
16270 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ion.</li>..</ul>
16280 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  <br><br>..<verba
16290 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
162a0 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20  oot SET Request 
162b0 3d 20 27 54 53 50 20 47 41 27 3b 0d 0a 0d 0a 53  = 'TSP GA';....S
162c0 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
162d0 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e   Request, Option
162e0 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f  s, Delimiter, Ro
162f0 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c  uteId, RouteRow,
16300 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
16310 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
16320 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
16330 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
16340 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
16350 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
16360 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33  ND NodeTo = '183
16370 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33  286,181999,18403
16380 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27  0,183882,178754'
16390 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
163a0 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 67  If you wish to g
163b0 65 74 20 61 20 3c 62 3e 54 53 50 20 47 41 3c 2f  et a <b>TSP GA</
163c0 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 79 6f 75 20  b> solution you 
163d0 73 69 6d 70 6c 65 20 68 61 76 65 20 74 6f 20 73  simple have to s
163e0 65 74 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62  et <b>Request</b
163f0 3e 20 61 73 20 3c 62 3e 54 53 50 20 47 41 3c 2f  > as <b>TSP GA</
16400 62 3e 3b 20 61 6e 64 20 79 6f 75 20 63 61 6e 20  b>; and you can 
16410 73 65 74 20 61 67 61 69 6e 20 3c 62 3e 52 65 71  set again <b>Req
16420 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54  uest</b> as <b>T
16430 53 50 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 50  SP</b> or <b>TSP
16440 20 4e 4e 3c 2f 62 3e 20 74 6f 20 72 65 76 65 72   NN</b> to rever
16450 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 73 69  t back to the si
16460 6d 70 6c 65 72 20 2f 20 66 61 73 74 65 72 20 61  mpler / faster a
16470 6c 67 6f 72 69 74 68 6d 2e 0d 0a 3c 62 72 3e 0d  lgorithm...<br>.
16480 0a 41 6c 73 6f 20 69 6e 20 74 68 65 20 63 61 73  .Also in the cas
16490 65 20 6f 66 20 54 53 50 20 79 6f 75 20 63 61 6e  e of TSP you can
164a0 20 65 76 65 6e 74 75 61 6c 6c 79 20 61 63 74 69   eventually acti
164b0 76 61 74 65 20 74 68 65 20 3c 62 3e 4f 70 74 69  vate the <b>Opti
164c0 6f 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20  ons</b> already 
164d0 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65  explained in the
164e0 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78   ShortestPath ex
164f0 61 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e  amples.<br>..<u>
16500 4e 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f  Note</u>:TSP pro
16510 62 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79  blems will alway
16520 73 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68  s imply using th
16530 65 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c  e <b>Dijkstra's<
16540 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65  /b> algorithm, e
16550 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74  ven when the alt
16560 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f  ernative <b>A*</
16570 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20  b> algorithm is 
16580 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74  currently select
16590 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ed...<verbatim>.
165a0 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
165b0 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53  ET Request = 'TS
165c0 50 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e  P', Options = 'N
165d0 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c  O LINKS';....SEL
165e0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
165f0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
16600 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
16610 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
16620 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
16630 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
16640 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
16650 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
16660 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
16670 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
16680 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38   NodeTo = '18328
16690 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c  6,181999,184030,
166a0 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
166b0 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
166c0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
166d0 65 20 73 68 6f 77 73 20 61 20 70 61 72 74 69 61  e shows a partia
166e0 6c 20 72 65 73 75 6c 74 73 65 74 20 74 68 61 74  l resultset that
166f0 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20   is returned by 
16700 74 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65  the same TSP que
16710 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70  ry used in the p
16720 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20  revious example 
16730 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74  after enabling t
16740 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f  he <b>NO LINKS</
16750 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c  b> option. <br><
16760 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
16770 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
16780 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
16790 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
167a0 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
167b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
167c0 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
167d0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
167e0 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74  #d0d0a0">Request
167f0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16800 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f  ="#d0d0a0">Optio
16810 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ns</th><th bgcol
16820 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c  or="#d0d0a0">Del
16830 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62  imiter</th><th b
16840 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
16850 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68  >RouteId</th><th
16860 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
16870 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
16880 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
16890 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
168a0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
168b0 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
168c0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
168d0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
168e0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
168f0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
16900 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
16910 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
16920 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
16930 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
16940 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
16950 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
16960 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
16970 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72  tr>..<td>Dijkstr
16980 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e  a</td><td>TSP NN
16990 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b  </td><td>No Link
169a0 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  s</td><td>, &#91
169b0 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
169c0 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
169d0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
169e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
169f0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50  t">0</td><td>TSP
16a00 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74   Solution</td><t
16a10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16a20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
16a30 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
16a40 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
16a50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16a60 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39  right">1254.4339
16a70 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  33</td><td>BLOB 
16a80 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59  sz=2000 GEOMETRY
16a90 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16aa0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
16ab0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
16ac0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16ad0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16ae0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16af0 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
16b00 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16b10 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
16b20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16b30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
16b40 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
16b50 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
16b60 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16b70 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35  right">176.36475
16b80 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  5</td><td>BLOB s
16b90 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f  z=304 GEOMETRY</
16ba0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16bb0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
16bc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16bd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16be0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  L</td><td>NULL<t
16bf0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16c00 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
16c10 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
16c20 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
16c30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
16c40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
16c50 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
16c60 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
16c70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16c80 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c  ght">139.114938<
16c90 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
16ca0 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  496 GEOMETRY</td
16cb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
16cc0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
16cd0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16ce0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16cf0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16d00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16d10 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">3</td><td ali
16d20 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
16d30 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
16d40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
16d50 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
16d60 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
16d70 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
16d80 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
16d90 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38  "right">217.6728
16da0 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  85</td><td>BLOB 
16db0 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c  sz=688 GEOMETRY<
16dc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16dd0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
16de0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16df0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16e00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16e20 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
16e30 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
16e40 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
16e50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16e60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16e70 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
16e80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
16e90 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
16ea0 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33  gn="right">378.3
16eb0 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c  13684</td><td>BL
16ec0 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54  OB sz=272 GEOMET
16ed0 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
16ee0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
16ef0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
16f00 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16f10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16f20 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16f30 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c  ="right">5</td><
16f40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16f50 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
16f60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16f70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16f80 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
16f90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16fa0 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
16fb0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
16fc0 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64  8.216831</td><td
16fd0 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f  >BLOB sz=400 GEO
16fe0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
16ff0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
17000 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
17010 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
17020 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
17030 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
17040 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
17050 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
17060 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
17070 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
17080 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
17090 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74  right">183882</t
170a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
170b0 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
170c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
170d0 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e  >154.750839</td>
170e0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20  <td>BLOB sz=240 
170f0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
17100 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
17110 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
17120 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d  ><br><br>..The m
17130 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63  ap below graphic
17140 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70  ally shows the p
17150 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f  revious <b>TSP</
17160 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72  b> queries...<br
17170 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  ><br>..<img src=
17180 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
17190 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
171a0 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
171b0 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66  tsp1.jpg" alt="f
171c0 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ig4">..<ul>..<li
171d0 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c  >Red star: the <
171e0 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f  u><i>base-city</
171f0 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65  i></u> (from whe
17200 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c  re the <u><i>sal
17210 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62  esman</i></u>) b
17220 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72  egins his/her tr
17230 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72  ip.</li>..<li>Gr
17240 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75  een dots: the <u
17250 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f  ><i>cities</i></
17260 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64  u> to be visited
17270 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c  .</li>..<li>Yell
17280 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50  ow line: the TSP
17290 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20   solution (that 
172a0 69 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63  is always a circ
172b0 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e  ular path).</li>
172c0 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61  ..</ul><br>..<ta
172d0 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  ble bgcolor="#ff
172e0 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e  b060" cellspacin
172f0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69  g="10" cellpaddi
17300 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d  ng="6"><tr><td>.
17310 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f  .<h3>Warning: ho
17320 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68  w to correctly h
17330 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75  andling TSP resu
17340 6c 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74  ltsets with spat
17350 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d  ialite_gui</h3>.
17360 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65  .You should neve
17370 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72  r forget or over
17380 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c  look that both <
17390 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64  b>TSP NN</b> and
173a0 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61   <b>TSP GA</b> a
173b0 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74  re <u><i>heurist
173c0 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69  ic algorithms</i
173d0 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65  ></u> heavily re
173e0 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72  lying on <u><i>r
173f0 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f  andom<i></u> cho
17400 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  ices.<br>..This 
17410 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76  could easily hav
17420 65 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20  e the practical 
17430 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74  consequence that
17440 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65   resolving twice
17450 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74   (or even more t
17460 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69  imes) the same i
17470 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65  dentical TSP que
17480 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61  ry could eventua
17490 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65  lly return diffe
174a0 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e  rent resultsets.
174b0 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e  <br>..There is n
174c0 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63  othing intrinsic
174d0 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68  ally wrong in th
174e0 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73  is, it simply is
174f0 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71   a direct conseq
17500 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c  uence of using <
17510 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c  u><i>randomness<
17520 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20  /i></u>; we are 
17530 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e  simply bargainin
17540 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f  g <b>exactness</
17550 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64  b> and <b>reprod
17560 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f  ucibility</b> fo
17570 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f  r <b>quickness</
17580 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e  b>.<br><br>..<b>
17590 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f  spatialite_gui</
175a0 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64  b> on its own ad
175b0 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20  opts a <b>paged 
175c0 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65  strategy</b> whe
175d0 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72  n showing huge r
175e0 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20  esultsets; this 
175f0 72 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69  requires repeati
17600 6e 67 20 74 68 65 20 69 6e 69 74 69 61 6c 20 53  ng the initial S
17610 51 4c 20 71 75 65 72 79 20 65 61 63 68 20 74 69  QL query each ti
17620 6d 65 20 74 68 61 74 20 61 20 3c 62 3e 6e 65 77  me that a <b>new
17630 20 70 61 67 65 20 6f 66 20 35 30 30 20 72 6f 77   page of 500 row
17640 73 3c 2f 62 3e 20 68 61 73 20 74 6f 20 62 65 20  s</b> has to be 
17650 73 68 6f 77 6e 20 6f 6e 20 74 68 65 20 63 75 72  shown on the cur
17660 72 65 6e 74 20 77 69 6e 64 6f 77 20 70 61 6e 65  rent window pane
17670 6c 2e 3c 62 72 3e 0d 0a 54 68 65 73 65 20 74 77  l.<br>..These tw
17680 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 67  o things don't g
17690 6f 20 74 6f 67 65 74 68 65 72 20 77 65 6c 6c 3b  o together well;
176a0 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 75 72   so don't be sur
176b0 70 72 69 73 65 64 20 77 68 65 6e 20 65 76 65 6e  prised when even
176c0 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 69  tually discoveri
176d0 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 61 74 69  ng that <b>spati
176e0 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77 69  alite_gui</b> wi
176f0 6c 6c 20 62 65 68 61 76 65 20 62 69 7a 61 72 72  ll behave bizarr
17700 65 6c 79 20 77 68 69 6c 65 20 70 72 65 73 65 6e  ely while presen
17710 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c 74  ting some result
17720 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
17730 61 20 54 53 50 20 71 75 65 72 79 2e 20 0d 0a 3c  a TSP query. ..<
17740 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
17750 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71  E byfoot SET Req
17760 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d  uest = 'TSP';...
17770 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 6d 79  .CREATE TABLE my
17780 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41 53  _tsp_solution AS
17790 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
177a0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
177b0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
177c0 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
177d0 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
177e0 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
177f0 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
17800 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
17810 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
17820 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
17830 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27  1 AND NodeTo = '
17840 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38  183286,181999,18
17850 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37  4030,183882,1787
17860 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f  54';.......  <no
17870 77 20 71 75 65 72 79 20 22 6d 79 5f 74 73 70 5f  w query "my_tsp_
17880 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67 20  solution" using 
17890 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3e 20  spatialite_gui> 
178a0 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41 42   .......DROP TAB
178b0 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69  LE my_tsp_soluti
178c0 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  on;..</verbatim>
178d0 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72  ..<u>Hint</u>: r
178e0 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 70 75  esolving this pu
178f0 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 73 20  zzling issue is 
17900 68 6f 77 65 76 65 72 20 62 61 73 69 63 61 6c 6c  however basicall
17910 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d  y simple:..<ol>.
17920 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79 20  .<li>you simply 
17930 68 61 76 65 20 74 6f 20 74 61 6b 65 20 61 20 3c  have to take a <
17940 62 3e 73 74 61 74 69 63 20 73 6e 61 70 73 68 6f  b>static snapsho
17950 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54 53  t</b> of your TS
17960 50 20 72 65 73 75 6c 74 73 65 74 20 62 79 20 75  P resultset by u
17970 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 45 41  sing the <b>CREA
17980 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d 65  TE TABLE <i>name
17990 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 20 71  </i> AS <i>TSP q
179a0 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69  uery<i></b>.</li
179b0 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75 20  >..<li>then you 
179c0 63 61 6e 20 66 72 65 65 6c 79 20 65 78 61 6d 69  can freely exami
179d0 6e 65 20 74 68 65 20 61 62 6f 76 65 20 73 6e 61  ne the above sna
179e0 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  pshot.</li>..<li
179f0 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f 75  >and finally you
17a00 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52 4f   can duly <b>DRO
17a10 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 73 68  P</b> the snapsh
17a20 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20  ot once it's no 
17a30 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e 20 28  longer useful. (
17a40 6f 72 20 75 73 65 20 3c 62 3e 43 52 45 41 54 45  or use <b>CREATE
17a50 20 54 45 4d 50 4f 52 41 52 59 20 54 41 42 4c 45   TEMPORARY TABLE
17a60 20 6e 61 6d 65 20 41 53 20 3c 69 3e 54 53 50 20   name AS <i>TSP 
17a70 71 75 65 72 79 3c 2f 69 3e 3c 2f 62 3e 2c 20 77  query</i></b>, w
17a80 68 65 72 65 20 74 68 65 20 54 41 42 4c 45 20 77  here the TABLE w
17a90 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 61  ill be removed a
17aa0 74 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 6e  t the session en
17ab0 64 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a  d)</li>..</ol>..
17ac0 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  </td></tr>..</ta
17ad0 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  ble>..<br>..<tab
17ae0 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
17af0 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
17b00 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
17b10 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
17b20 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c  <h3>More about L
17b30 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e  inear Referencin
17b40 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75  g and VirtualRou
17b50 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73  ting Linestrings
17b60 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65  </h3> ..You have
17b70 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
17b80 20 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d   a previous exam
17b90 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e  ple that all LIN
17ba0 45 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 64  ESTRINGs created
17bb0 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69   by VirtualRouti
17bc0 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c  ng support the <
17bd0 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d  b>M</b> (<b><i>m
17be0 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20  easure</i></b>) 
17bf0 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e  coordinate inten
17c00 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67  ded as a <b>prog
17c10 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e  ressive cost</b>
17c20 20 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 78   for each vertex
17c30 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64  . And you alread
17c40 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20  y know the they 
17c50 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c  can support <b><
17c60 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e  i>linear referen
17c70 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62  cing</i></b> (<b
17c80 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e  >LR</b>) SQL fun
17c90 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4e 6f 77  ctions.<br>..Now
17ca0 20 6c 65 74 27 73 20 64 69 67 20 69 6e 20 66 75   let's dig in fu
17cb0 72 74 68 65 72 2e 0d 0a 3c 68 33 3e 54 72 61 6a  rther...<h3>Traj
17cc0 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 73 3c 2f  ectory objects</
17cd0 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 6a 65 63  h3>..A <b>Trajec
17ce0 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 6e 79 20  tory</b> is any 
17cf0 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 70 70 6f  Linestring suppo
17d00 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f 6f 72 64  rting <b>M coord
17d10 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 74 68 20  inates</b> with 
17d20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c 79 20 69  a continuously i
17d30 6e 63 72 65 61 73 69 6e 67 20 74 72 65 6e 64 2e  ncreasing trend.
17d40 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 6c 65 72  <br>..In simpler
17d50 20 77 6f 72 64 73 2c 20 74 68 65 20 3c 62 3e 4d   words, the <b>M
17d60 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 20 65 61  -value</b> of ea
17d70 63 68 20 76 65 72 74 65 78 20 28 65 78 63 65 70  ch vertex (excep
17d80 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 29 20  t the last one) 
17d90 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 73 73 65  must be <b>lesse
17da0 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 65 20 4d  r</b> than the M
17db0 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65  -Value of the ne
17dc0 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c 76 65 72  xt vertex...<ver
17dd0 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a  batim>..SELECT *
17de0 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c   FROM my_tsp_sol
17df0 75 74 69 6f 6e 20 57 48 45 52 45 20 53 54 5f 49  ution WHERE ST_I
17e00 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
17e10 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 31 3b 0d  (geometry) = 1;.
17e20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
17e30 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61  ----..1..</verba
17e40 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e  tim>..As you can
17e50 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20 62 79   easily check by
17e60 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 49   calling <b>ST_I
17e70 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
17e80 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 4c 69 6e  ()</b> every Lin
17e90 65 73 74 72 69 6e 67 20 63 72 65 61 74 65 64 20  estring created 
17ea0 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
17eb0 67 20 69 73 20 61 20 3c 62 3e 76 61 6c 69 64 20  g is a <b>valid 
17ec0 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 2e 0d  Trajectory</b>..
17ed0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
17ee0 45 43 54 20 53 54 5f 54 72 61 6a 65 63 74 6f 72  ECT ST_Trajector
17ef0 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e  yInterpolatePoin
17f00 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 30 30 2e  t(Geometry, 100.
17f10 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 73 70 5f  0)..FROM my_tsp_
17f20 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 52 45 20  solution..WHERE 
17f30 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d 0a 3c 2f  RouteId = 0;..</
17f40 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f 20 79 6f  verbatim>..So yo
17f50 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63  u just have to c
17f60 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 6a 65 63  all <b>ST_Trajec
17f70 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50  toryInterpolateP
17f80 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72  oint()</b> in or
17f90 64 65 72 20 74 6f 20 63 72 65 61 74 65 20 61 20  der to create a 
17fa0 50 4f 49 4e 54 20 70 72 65 63 69 73 65 6c 79 20  POINT precisely 
17fb0 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65 20 4c  located on the L
17fc0 69 6e 65 73 74 72 69 6e 67 20 61 74 20 74 68 65  inestring at the
17fd0 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 74 3c 2f   given <b>cost</
17fe0 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 68 72  b>...<br><br><hr
17ff0 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73  ><br><br>..The s
18000 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61  ide map graphica
18010 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73  lly shows the es
18020 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e  timated position
18030 73 20 65 76 65 72 79 20 31 30 30 6d 20 61 73 73  s every 100m ass
18040 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70  uming the same p
18050 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20  ath returned by 
18060 74 68 65 20 6c 61 74 65 73 74 20 54 53 50 20 71  the latest TSP q
18070 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c 74 64 3e  uery...</td><td>
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
201f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
202f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
203f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
204f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
205f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
206f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
207a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
207b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
207c0 20 20 20 20 20 20 20 0d 0a 3c 69 6d 67 20 73 72         ..<img sr
207d0 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
207e0 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
207f0 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
20800 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 6c 74 3d  s/tsp2.jpg" alt=
20810 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f  "fig5">..</td></
20820 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  tr></table>..<br
20830 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d  ><br>..<hr><br>.
20840 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 70 32  .<h1><a name="p2
20850 70 22 3e 38 20 2d 20 53 6f 6c 76 69 6e 67 20 50  p">8 - Solving P
20860 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 72  oint-to-Point pr
20870 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d  oblems</a></h1>.
20880 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50  .A <b>Point-to-P
20890 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 69  oint</b> query i
208a0 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74  s very similar t
208b0 6f 20 61 20 6d 6f 73 74 20 75 73 75 61 6c 20 3c  o a most usual <
208c0 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61  b>single-destina
208d0 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
208e0 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78  th</b> query, ex
208f0 63 65 70 74 20 74 68 61 74 3a 0d 0a 3c 75 6c 3e  cept that:..<ul>
20900 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 73 69 63 20  ..<li>A classic 
20910 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
20920 65 72 79 20 72 65 71 75 69 72 65 73 20 74 6f 20  ery requires to 
20930 73 70 65 63 69 66 79 20 61 20 3c 62 3e 4e 6f 64  specify a <b>Nod
20940 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69  eFrom</b> (<u><i
20950 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29  >origin</i></u>)
20960 20 61 6e 64 20 61 20 3c 62 3e 4e 6f 64 65 54 6f   and a <b>NodeTo
20970 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74  </b> (<u><i>dest
20980 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29  ination</i></u>)
20990 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 50 6f  .</li>..<li>A Po
209a0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65  int-to-Point que
209b0 72 79 20 68 61 73 20 61 20 6d 6f 72 65 20 72 65  ry has a more re
209c0 6c 61 78 65 64 20 72 65 71 75 69 72 65 6d 65 6e  laxed requiremen
209d0 74 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71 75  t, and just requ
209e0 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20  ires to specify 
209f0 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  a <b>PointFrom</
20a00 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e  b> (<u><i>origin
20a10 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20  </i></u>) and a 
20a20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28  <b>PointTo</b> (
20a30 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f  <u><i>destinatio
20a40 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d  n</i></u>).<br>.
20a50 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c  .Both <b>Points<
20a60 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65 6c  /b> can be freel
20a70 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76 65  y positioned eve
20a80 72 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61 70  rywhere on a map
20a90 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72 65  , and are not re
20aa0 71 75 69 72 65 64 20 74 6f 20 70 72 65 63 69 73  quired to precis
20ab0 65 6c 79 20 69 6e 74 65 72 73 65 63 74 20 65 69  ely intersect ei
20ac0 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f  ther a <b>Node</
20ad0 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b  b> nor a <b>Link
20ae0 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e 64 65  </b> of the unde
20af0 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  rlaying Network.
20b00 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d  <br>..The Point-
20b10 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69  to-Point's <u><i
20b20 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c  >internal logic<
20b30 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65  /i></u> will the
20b40 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  n automatically 
20b50 69 64 65 6e 74 69 66 79 20 28 69 66 20 70 6f 73  identify (if pos
20b60 73 69 62 6c 65 29 20 74 68 65 20 61 70 70 72 6f  sible) the appro
20b70 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66 6f 72  priate Nodes for
20b80 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53 68 6f   computing a Sho
20b90 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74  rtest Path solut
20ba0 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ion.<br>..<u>Not
20bb0 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f 20 50  e</u>: the two P
20bc0 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62  oints <b>must</b
20bd0 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 3c  > use the same <
20be0 62 3e 53 52 49 44 3c 2f 62 3e 20 6f 66 20 74 68  b>SRID</b> of th
20bf0 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74  e underlying Net
20c00 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  work.</li>..</ul
20c10 3e 0d 0a 3c 68 33 3e 48 6f 77 20 69 74 20 77 6f  >..<h3>How it wo
20c20 72 6b 73 20 69 6e 20 70 72 61 63 74 69 63 65 3c  rks in practice<
20c30 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  /h3>..<ol>..<li>
20c40 61 20 66 69 72 73 74 20 3c 75 3e 3c 69 3e 73 70  a first <u><i>sp
20c50 61 74 69 61 6c 20 73 65 61 72 63 68 3c 2f 69 3e  atial search</i>
20c60 3c 2f 75 3e 20 62 61 73 65 64 20 6f 6e 20 74 68  </u> based on th
20c70 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  e <b>PointFrom</
20c80 62 3e 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20  b> will attempt 
20c90 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20  to identify all 
20ca0 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61 6c  <b>Links</b> fal
20cb0 6c 69 6e 67 20 77 69 74 68 69 6e 20 61 20 67 69  ling within a gi
20cc0 76 65 6e 20 3c 62 3e 74 6f 6c 65 72 61 6e 63 65  ven <b>tolerance
20cd0 20 72 61 64 69 75 73 3c 2f 62 3e 20 66 72 6f 6d   radius</b> from
20ce0 20 74 68 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69 3e   the Point.</li>
20cf0 0d 0a 3c 6c 69 3e 61 20 73 65 63 6f 6e 64 20 73  ..<li>a second s
20d00 69 6d 69 6c 61 72 20 73 70 61 74 69 61 6c 20 73  imilar spatial s
20d10 65 61 72 63 68 20 77 69 6c 6c 20 61 74 74 65 6d  earch will attem
20d20 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61  pt to identify a
20d30 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  ll <b>Links</b> 
20d40 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 3c  related to the <
20d50 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f  b>PointTo</b>.</
20d60 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62 3e  li>..<li>all <b>
20d70 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67  Nodes</b> belong
20d80 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69  ing to any <b>Li
20d90 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  nk</b> identifie
20da0 64 20 62 79 20 74 68 65 20 66 69 72 73 74 20 73  d by the first s
20db0 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69  patial search wi
20dc0 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64  ll be considered
20dd0 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e   as possible <b>
20de0 4e 6f 64 65 46 72 6f 6d 20 63 61 6e 64 69 64 61  NodeFrom candida
20df0 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  tes</b>.</li>..<
20e00 6c 69 3e 61 6e 64 20 73 79 6d 6d 65 74 72 69 63  li>and symmetric
20e10 61 6c 6c 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f 64  ally, all <b>Nod
20e20 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67  es</b> belonging
20e30 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c   to any <b>Link<
20e40 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62  /b> identified b
20e50 79 20 74 68 65 20 73 65 63 6f 6e 64 20 73 70 61  y the second spa
20e60 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c  tial search will
20e70 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61   be considered a
20e80 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f  s possible <b>No
20e90 64 65 54 6f 20 63 61 6e 64 69 64 61 74 65 73 3c  deTo candidates<
20ea0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61  /b>.</li>..<li>a
20eb0 20 66 75 6c 6c 20 70 65 72 6d 75 74 61 74 69 6f   full permutatio
20ec0 6e 20 6f 66 20 61 6c 6c 20 53 68 6f 72 74 65 73  n of all Shortes
20ed0 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e 73  t Path solutions
20ee0 20 63 6f 6e 6e 65 63 74 69 6e 67 20 6f 6e 65 20   connecting one 
20ef0 74 68 65 20 46 72 6f 6d 20 63 61 6e 64 69 64 61  the From candida
20f00 74 65 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  tes to one of th
20f10 65 20 54 6f 20 63 61 6e 64 69 64 61 74 65 73 20  e To candidates 
20f20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 63 6f 6d  will be then com
20f30 70 75 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  puted.</li>..<li
20f40 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 74 68 65  >and finally the
20f50 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 50 6f 69 6e   <b>optimal Poin
20f60 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74  t-to-Point solut
20f70 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  ion</b> will be 
20f80 73 65 6c 65 63 74 65 64 20 62 79 20 69 64 65 6e  selected by iden
20f90 74 69 66 79 69 6e 67 20 77 68 69 63 68 20 73 70  tifying which sp
20fa0 65 63 69 66 69 63 20 63 61 6e 64 69 64 61 74 65  ecific candidate
20fb0 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 3c 62   presents the <b
20fc0 3e 6c 65 73 73 65 72 20 43 6f 73 74 3c 2f 62 3e  >lesser Cost</b>
20fd0 20 6f 66 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f 6c   of them all.</l
20fe0 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c  i>..</ol><br>..<
20ff0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
21000 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63  ffb060" cellspac
21010 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
21020 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
21030 3e 0d 0a 3c 68 33 3e 42 65 20 61 77 61 72 65 3c  >..<h3>Be aware<
21040 2f 68 33 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67  /h3>..Attempting
21050 20 74 6f 20 73 6f 6c 76 65 20 50 6f 69 6e 74 2d   to solve Point-
21060 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73  to-Point queries
21070 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72   strictly requir
21080 65 73 20 74 68 61 74 20 61 6e 20 61 70 70 72 6f  es that an appro
21090 70 72 69 61 74 65 20 3c 62 3e 53 70 61 74 69 61  priate <b>Spatia
210a0 6c 20 49 6e 64 65 78 3c 2f 62 3e 20 74 6f 20 65  l Index</b> to e
210b0 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f  ffectively suppo
210c0 72 74 20 61 6c 6c 20 4c 69 6e 6b 73 20 6f 66 20  rt all Links of 
210d0 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
210e0 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 49 66  Network.<br>..If
210f0 20 73 75 63 68 20 61 20 70 72 65 2d 72 65 71 75   such a pre-requ
21100 69 72 65 6d 65 6e 74 20 69 73 20 6e 6f 74 20 66  irement is not f
21110 75 6c 66 69 6c 6c 65 64 20 74 68 65 20 61 62 6f  ulfilled the abo
21120 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e  ve mentioned <u>
21130 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63  <i>spatial searc
21140 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c  hes</i></u> will
21150 20 66 61 69 6c 20 6d 69 73 65 72 61 62 6c 79 2c   fail miserably,
21160 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
21170 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50  y all Point-to-P
21180 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c  oint queries wil
21190 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69  l be unable to i
211a0 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73  dentify any poss
211b0 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74  ible Candidate t
211c0 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d  o be evaluated..
211d0 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65  .<h3>Always reme
211e0 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66  mber</h3>..Caref
211f0 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e  ully check if an
21200 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 70 61   appropriate Spa
21210 74 69 61 6c 20 49 6e 64 65 78 20 61 6c 6c 72 65  tial Index allre
21220 61 64 79 20 65 78 69 73 74 73 20 62 65 66 6f 72  ady exists befor
21230 65 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  e attempting to 
21240 65 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69 6e  execute any Poin
21250 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79  t-to-Point query
21260 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74  ...<br><br>..</t
21270 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d  d></tr></table>.
21280 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
21290 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
212a0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
212b0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
212c0 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  ><tr><td align="
212d0 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d  center" colspan=
212e0 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20  "2">..<h2>Basic 
212f0 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e 69  concepts, techni
21300 63 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64 20  cal details and 
21310 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72 79  related glossary
21320 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  </h2>..</td></tr
21330 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65  >..<tr><td>..The
21340 20 73 69 64 65 20 66 69 67 75 72 65 20 73 68 6f   side figure sho
21350 77 73 20 61 20 68 79 70 6f 74 68 65 74 69 63 61  ws a hypothetica
21360 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  l Point-to-Point
21370 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74   solution almost
21380 20 70 72 65 63 69 73 65 6c 79 20 62 61 73 65 64   precisely based
21390 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   on the followin
213a0 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f  g sequence of No
213b0 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e  des:<br>..<b><i>
213c0 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e  N1-N2-N3-N4-N5-N
213d0 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e  6-N7-N8-N9-N10-N
213e0 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e  11-N12-N13-N14-N
213f0 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e  15</i></b>..<br>
21400 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61  <br>..However, a
21410 73 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 74  s you can see, t
21420 68 65 72 65 20 61 72 65 20 74 77 6f 20 6e 6f 74  here are two not
21430 69 63 65 61 62 6c 65 20 65 78 63 65 70 74 69 6f  iceable exceptio
21440 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54  ns:..<ul>..<li>T
21450 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20  he <b>first</b> 
21460 4c 69 6e 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67  Link (connecting
21470 20 3c 62 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62   <b>N1</b> to <b
21480 3e 4e 32 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20  >N2</b>) is not 
21490 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 71 75 69  completely requi
214a0 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 74  red by the Solut
214b0 69 6f 6e 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61  ion.<br>..Just a
214c0 20 73 6d 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28   small portion (
214d0 64 72 61 77 6e 20 69 6e 20 72 65 64 29 20 6f 66  drawn in red) of
214e0 20 74 68 69 73 20 4c 69 6e 6b 20 69 73 20 65 66   this Link is ef
214f0 66 65 63 74 69 76 65 6c 79 20 72 65 71 75 69 72  fectively requir
21500 65 64 2e 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d  ed.<br>..The rem
21510 61 69 6e 69 6e 67 20 70 61 72 74 20 28 64 72 61  aining part (dra
21520 77 6e 20 69 6e 20 67 72 61 79 29 20 69 73 6e 27  wn in gray) isn'
21530 74 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 65  t covered by the
21540 20 53 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   Solution.</li>.
21550 0a 3c 6c 69 3e 45 78 61 63 74 6c 79 20 74 68 65  .<li>Exactly the
21560 20 73 61 6d 65 20 69 73 20 74 72 75 65 20 66 6f   same is true fo
21570 72 20 74 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62  r the <b>last</b
21580 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e  > Link connectin
21590 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20  g <b>N14</b> to 
215a0 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e  <b>N15</b>.</li>
215b0 0d 0a 3c 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74  ..<li>That's not
215c0 20 61 6c 6c 3a 20 74 68 65 72 65 20 61 72 65 20   all: there are 
215d0 74 77 6f 20 73 68 6f 72 74 20 73 65 67 6d 65 6e  two short segmen
215e0 74 73 20 28 64 72 61 77 6e 20 69 6e 20 67 72 65  ts (drawn in gre
215f0 65 6e 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c  en) connecting <
21600 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  b>Pfrom</b> and 
21610 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f  <b>Pto</b> (<i>o
21620 72 69 67 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69  rigin</i> and <i
21630 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e  >destination</i>
21640 20 50 6f 69 6e 74 73 29 20 72 65 73 70 65 63 74   Points) respect
21650 69 76 65 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e  ively to the <b>
21660 66 69 72 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62  first</b> and <b
21670 3e 6c 61 73 74 3c 2f 62 3e 20 70 61 72 74 69 61  >last</b> partia
21680 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  l Links.</li>..<
21690 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20  /ul>..<br>..All 
216a0 74 68 69 73 20 69 73 6e 27 74 20 73 75 72 70 72  this isn't surpr
216b0 69 73 69 6e 67 2c 20 73 69 6e 63 65 20 69 74 20  ising, since it 
216c0 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d 6f  simply is the mo
216d0 73 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65 63  st obvious direc
216e0 74 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66  t consequence of
216f0 20 74 68 65 20 76 65 72 79 20 62 61 73 69 63 20   the very basic 
21700 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20 74  assumptions at t
21710 68 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69 6e  he basis of Poin
21720 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69  t-to-Point queri
21730 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e  es:..<ul>..<li>N
21740 65 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50 6f  either the <b>Po
21750 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20  intFrom</b> nor 
21760 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  the <b>PointTo</
21770 62 3e 20 61 72 65 20 72 65 71 75 69 72 65 64 20  b> are required 
21780 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72  to exactly inter
21790 73 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f  sect a <b>Node</
217a0 62 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75  b>.<br>..Consequ
217b0 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69 72  ently the <b>fir
217c0 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61  st</b> and <b>la
217d0 73 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20  st</b> Links of 
217e0 74 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e  the overall Poin
217f0 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74  t-to-Point Solut
21800 69 6f 6e 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62  ion could only b
21810 65 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f  e partially invo
21820 6c 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69  lved.<br>..In Vi
21830 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72  rtualRouting jar
21840 67 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75  gon these two <u
21850 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d  ><i>special item
21860 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65  s</i></u> are re
21870 73 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65  spectively calle
21880 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  d:..<ul>..<li><b
21890 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53  >Partial Link (S
218a0 74 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a  tart)</b></li>..
218b0 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c  <li><b>Partial L
218c0 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c  ink (End)</b></l
218d0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d  i>..</ul></li> .
218e0 0a 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c 62  .<li>Both the <b
218f0 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61  >PointFrom</b> a
21900 6e 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54  nd the <b>PointT
21910 6f 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74 69  o</b> can legiti
21920 6d 61 74 65 6c 79 20 68 61 76 65 20 62 65 65 6e  mately have been
21930 20 61 74 20 61 6e 79 20 61 72 62 69 74 72 61 72   at any arbitrar
21940 79 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61  y position and a
21950 72 65 20 6e 65 76 65 72 20 72 65 71 75 69 72 65  re never require
21960 64 20 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74  d to exactly int
21970 65 72 73 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b  ersect a <b>Link
21980 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  </b>.<br>..This 
21990 63 61 6e 20 65 61 73 69 6c 79 20 69 6d 70 6c 79  can easily imply
219a0 20 74 68 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65   that an <u><i>e
219b0 78 74 72 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f  xtra short leg</
219c0 69 3e 3c 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20  i></u> could be 
219d0 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65  required in orde
219e0 72 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65  r to connect the
219f0 20 46 72 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20   From/To Points 
21a00 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  to the correspon
21a10 64 69 6e 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d  ding Links.<br>.
21a20 0a 49 6e 20 56 69 72 75 74 61 6c 52 6f 75 74 69  .In VirutalRouti
21a30 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 20  ng jargon these 
21a40 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61  two <u><i>specia
21a50 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20  l items</i></u> 
21a60 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c 79  are respectively
21a70 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a   called:..<ul>..
21a80 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50  <li><b>Ingress P
21a90 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ath</b></li>..<l
21aa0 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68  i><b>Egress Path
21ab0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  </b></li>..</ul>
21ac0 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e  </li> ..<li><u>N
21ad0 6f 74 65 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66  ote</u>: none of
21ae0 20 74 68 65 6d 20 61 72 65 20 73 74 72 69 63 74   them are strict
21af0 6c 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 74 65  ly mandatory ite
21b00 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  ms:..<ul>..<li>t
21b10 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62  he <b>Ingress</b
21b20 3e 20 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65  > and/or <b>Egre
21b30 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 72 65  ss Paths</b> are
21b40 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 77 68   not required wh
21b50 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  en the correspon
21b60 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74  ding Point exact
21b70 6c 79 20 69 6e 74 65 72 73 65 63 74 73 20 61 20  ly intersects a 
21b80 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Link.</li>..<li>
21b90 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73  <b>Partial Links
21ba0 3c 2f 62 3e 20 28 65 69 74 68 65 72 20 3c 62 3e  </b> (either <b>
21bb0 28 53 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c  (Start)</b> or <
21bc0 62 3e 28 45 6e 64 29 3c 2f 62 3e 29 20 61 72 65  b>(End)</b>) are
21bd0 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20   never required 
21be0 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70  when the corresp
21bf0 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61  onding Point exa
21c00 63 74 6c 79 20 6d 61 74 63 68 65 73 20 61 20 4e  ctly matches a N
21c10 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ode.</li>..</ul>
21c20 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f  </li>..</ul>..</
21c30 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20  td>..<td>..<img 
21c40 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
21c50 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
21c60 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66  a-sins/routing-f
21c70 69 67 73 2f 70 32 70 2d 73 74 72 75 63 74 2e 70  igs/p2p-struct.p
21c80 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72  ng" alt="p2p-str
21c90 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  uct">..</td></tr
21ca0 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d  >..<tr><td>..A m
21cb0 6f 72 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76  ore comprehensiv
21cc0 65 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20 65  e and detailed e
21cd0 78 70 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65 64  xplanation based
21ce0 20 6f 6e 20 74 68 65 20 73 69 64 65 20 66 69 67   on the side fig
21cf0 75 72 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ure:..<ul>..<li>
21d00 3c 62 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c  <b>L1</b> is a L
21d10 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e  ink connecting N
21d20 6f 64 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61  odes <b>N1</b> a
21d30 6e 64 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c  nd <b>N2</b>.</l
21d40 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62  i>..<li><b>Pt</b
21d50 3e 20 69 73 20 6f 6e 65 20 62 65 74 77 65 65 6e  > is one between
21d60 20 50 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f   PointFrom or Po
21d70 69 6e 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  intTo.</li>..</u
21d80 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a  l>..<br>..<ol>..
21d90 3c 6c 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f  <li>The Point-to
21da0 2d 50 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20  -Point internal 
21db0 6c 6f 67 69 63 20 77 69 6c 6c 20 73 74 61 72 74  logic will start
21dc0 20 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20   by identifying 
21dd0 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20  <b>i</b>,..that 
21de0 69 73 20 74 68 65 20 50 6f 69 6e 74 20 69 6e 74  is the Point int
21df0 65 72 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c  ersecting <b>L1<
21e00 2f 62 3e 20 61 6e 64 20 70 72 65 73 65 6e 74 69  /b> and presenti
21e10 6e 67 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64  ng the minimum d
21e20 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20  istance between 
21e30 74 68 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e  the Link and <b>
21e40 50 74 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70  Pt</b>..(corresp
21e50 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65  onding to the re
21e60 73 75 6c 74 20 72 65 74 75 72 6e 65 64 20 62 79  sult returned by
21e70 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e   calling the <b>
21e80 53 54 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50  ST_Line_Locate_P
21e90 6f 69 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66  oint()</b> SQL f
21ea0 75 6e 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a  unction).</li>..
21eb0 3c 6c 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b  <li>Now the Link
21ec0 20 3c 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20   <b>L1</b> will 
21ed0 62 65 20 73 70 6c 69 74 20 69 6e 20 74 77 6f 20  be split in two 
21ee0 68 61 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f  halves <b>L1-a</
21ef0 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f  b> and <b>L1-b</
21f00 62 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74  b> accordingly t
21f10 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f  o the position o
21f20 66 20 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72  f <b>i</b>..(cor
21f30 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68  responding to th
21f40 65 20 72 65 73 75 6c 74 73 20 72 65 74 75 72 6e  e results return
21f50 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
21f60 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62  e <b>ST_Line_Sub
21f70 73 74 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c  string()</b> SQL
21f80 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d   function).<br>.
21f90 0a 42 6f 74 68 20 68 61 6c 76 65 73 20 77 69 6c  .Both halves wil
21fa0 6c 20 6e 6f 77 20 62 65 20 63 6f 6e 73 69 64 65  l now be conside
21fb0 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20  red as possible 
21fc0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73  <b>Partial Links
21fd0 20 28 53 74 61 72 74 29 20 63 61 6e 64 69 64 61   (Start) candida
21fe0 74 65 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20  tes</b> leading 
21ff0 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20  respectively to 
22000 3c 62 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e  <b>N1</b> or <b>
22010 4e 32 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69  N2</b>;..directi
22020 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f  ons will be auto
22030 6d 61 74 69 63 61 6c 6c 79 20 69 6e 76 65 72 74  matically invert
22040 65 64 20 61 73 20 72 65 71 75 69 72 65 64 2c 20  ed as required, 
22050 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 72  but only if ther
22060 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d  e are no <b>one-
22070 77 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74  way</b> restrict
22080 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20  ions.<br>..(the 
22090 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20  directions will 
220a0 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76  be obviously inv
220b0 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73  erted in the cas
220c0 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20  e of <b>Partial 
220d0 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20  Links (End)</b> 
220e0 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29  / <b>NodeTo</b>)
220f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66  </li>..<li>And f
22100 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68  inally a straigh
22110 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f  t segment <b>p</
22120 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62  b> connecting <b
22130 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c  >Pt</b> to <b>i<
22140 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  /b> will be cons
22150 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e  tructed...So <b>
22160 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f  p</b> exactly co
22170 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65  rresponds to the
22180 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68   <b>Ingress Path
22190 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62  </b> if <b>Pt</b
221a0 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  > is <b>PointFro
221b0 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65  m</b>.<br>..(the
221c0 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c   direction shoul
221d0 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69  d be obviously i
221e0 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63  nverted in the c
221f0 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67  ase of the <b>Eg
22200 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20  ress Path</b> / 
22210 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c  <b>PointTo</b>)<
22220 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
22230 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73  d>..<td>..<img s
22240 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
22250 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
22260 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
22270 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e  gs/split-link.pn
22280 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75  g" alt="p2p-stru
22290 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  ct">..</td></tr>
222a0 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
222b0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
222c0 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73  ="#ffb060" cells
222d0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
222e0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
222f0 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e  <td>..<h3>Warnin
22300 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52  g</h3>..VirtualR
22310 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76  outing when solv
22320 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50  ing a Point-to-P
22330 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
22340 61 20 70 72 65 63 69 73 65 20 65 73 74 69 6d 61  a precise estima
22350 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73  tion of <b>Costs
22360 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20  </b> related to 
22370 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61  <b>Ingress</b> a
22380 6e 64 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74  nd <b>Egress Pat
22390 68 73 3c 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62  hs</b> and to <b
223a0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f  >Partial Links</
223b0 62 3e 2e 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72  b>.<br>..But Vir
223c0 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 63  tualRouting is c
223d0 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65  ompletely unable
223e0 20 74 6f 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70   to compute comp
223f0 6c 65 78 20 28 61 6e 64 20 75 6e 73 70 65 63 69  lex (and unspeci
22400 66 69 65 64 29 20 43 6f 73 74 20 66 6f 72 6d 75  fied) Cost formu
22410 6c 61 73 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  las, and consequ
22420 65 6e 74 6c 79 20 69 74 20 77 69 6c 6c 20 73 69  ently it will si
22430 6d 70 6c 79 20 61 73 73 75 6d 65 20 61 20 43 6f  mply assume a Co
22440 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  st corresponding
22450 20 74 6f 20 74 68 65 20 47 65 6f 6d 65 74 72 69   to the Geometri
22460 63 20 4c 65 6e 67 74 68 20 6f 66 20 73 75 63 68  c Length of such
22470 20 69 74 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d   items.<br><br>.
22480 0a 3c 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f  .<b>Conclusion</
22490 62 3e 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b  b>: only Network
224a0 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f  s based on <b>Co
224b0 73 74 73 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f  sts</b> correspo
224c0 6e 64 69 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d  nding to <b>Geom
224d0 65 74 72 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62  etric Lengths</b
224e0 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c  > can effectivel
224f0 79 20 73 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d  y support Point-
22500 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73  to-Point queries
22510 2e 3c 62 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65  .<br>..Any diffe
22520 72 65 6e 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e  rent Network con
22530 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20  figuration will 
22540 73 75 72 65 6c 79 20 6c 65 61 64 20 74 6f 20 77  surely lead to w
22550 72 6f 6e 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69  rong and inconsi
22560 73 74 65 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a  stent results...
22570 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
22580 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  /tr></table>..<b
22590 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  r><br>..Let's no
225a0 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63  w examine a prac
225b0 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66  tical example of
225c0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
225d0 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69  solving using Vi
225e0 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c  rtualRouting...<
225f0 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
22600 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
22610 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52  uest, Options, R
22620 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77  outeId, RouteRow
22630 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
22640 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
22650 65 54 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20  eTo, PointFrom, 
22660 50 6f 69 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e  PointTo, Toleran
22670 63 65 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  ce, Cost, Geomet
22680 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
22690 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69  yfoot..WHERE Poi
226a0 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54  ntFrom = (SELECT
226b0 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65   geom FROM house
226c0 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e  _nr_vw WHERE mun
226d0 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45  icipality = 'ARE
226e0 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73  ZZO' AND address
226f0 20 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e   = 'VIA DE'' CEN
22700 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44  CI 13')..    AND
22710 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45   PointTo = (SELE
22720 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75  CT geom FROM hou
22730 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d  se_nr_vw WHERE m
22740 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41  unicipality = 'A
22750 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65  REZZO' AND addre
22760 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49  ss = 'VIA ANTONI
22770 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f  O GUADAGNOLI 19/
22780 42 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  B');..</verbatim
22790 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f  >..A <b>Point-to
227a0 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79  -Point</b> query
227b0 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f   has the same fo
227c0 72 6d 20 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c  rm of a <b>singl
227d0 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68  e-destination Sh
227e0 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20  ortest Path</b> 
227f0 71 75 65 72 79 2c 20 65 78 63 65 70 74 20 74 68  query, except th
22800 61 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  at <b>NodeFrom</
22810 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f  b> and <b>NodeTo
22820 3c 2f 62 3e 20 61 72 65 20 6e 6f 77 20 72 65 70  </b> are now rep
22830 6c 61 63 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e  laced by <b>Poin
22840 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  tFrom</b> and <b
22850 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72  >PointTo</b>.<br
22860 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
22870 74 68 65 20 73 61 6d 70 6c 65 20 44 42 2d 66 69  the sample DB-fi
22880 6c 65 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 48  le supports <b>H
22890 6f 75 73 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e  ouse Numbers</b>
228a0 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 64 69 72  , so you can dir
228b0 65 63 74 6c 79 20 75 73 65 20 48 6f 75 73 65 20  ectly use House 
228c0 4e 75 6d 62 65 72 20 63 6f 6f 72 64 69 6e 61 74  Number coordinat
228d0 65 73 20 61 73 20 72 65 66 65 72 65 6e 63 65 20  es as reference 
228e0 50 6f 69 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72  Points...<br><br
228f0 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
22900 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
22910 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
22920 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
22930 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
22940 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  query.<br><br>..
22950 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
22960 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
22970 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
22980 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
22990 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
229a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
229b0 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
229c0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
229d0 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
229e0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
229f0 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
22a00 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22a10 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c  d0d0a0">RouteId<
22a20 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22a30 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
22a40 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
22a50 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
22a60 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
22a70 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
22a80 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
22a90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
22aa0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
22ab0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22ac0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
22ad0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22ae0 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74  a0">PointFrom</t
22af0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22b00 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c  d0d0a0">PointTo<
22b10 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22b20 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61  "#d0d0a0">Tolera
22b30 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  nce</th><th bgco
22b40 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
22b50 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
22b60 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
22b70 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67  metry</th><th bg
22b80 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
22b90 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  Name</th></tr>..
22ba0 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74  <tr>..<td>Dijkst
22bb0 72 61 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74  ra</td><td>Point
22bc0 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e  2Point Path</td>
22bd0 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
22be0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22bf0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22c00 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22c10 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c  >Point2Point Sol
22c20 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55  ution</td><td>NU
22c30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22c40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22c50 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20  ><td>BLOB sz=68 
22c60 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
22c70 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d  >BLOB sz=68 GEOM
22c80 45 54 52 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  ETRY</td><td ali
22c90 67 6e 3d 22 72 69 67 68 74 22 3e 32 30 2e 30 30  gn="right">20.00
22ca0 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  0000</td><td ali
22cb0 67 6e 3d 22 72 69 67 68 74 22 3e 36 35 32 2e 38  gn="right">652.8
22cc0 31 35 31 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c  15139</td><td>BL
22cd0 4f 42 20 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45  OB sz=1552 GEOME
22ce0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
22cf0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22d00 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22d10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22d20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22d30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22d40 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22d50 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49  ght">1</td><td>I
22d60 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e  ngress Path</td>
22d70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22d80 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22d90 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22da0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22db0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22dc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22dd0 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64  2.301687</td><td
22de0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22df0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
22e00 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22e10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22e20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22e30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22e40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22e50 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
22e60 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53  >Partial Link (S
22e70 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c  tart)</td><td al
22e80 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32  ign="right">2242
22e90 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  64</td><td>NULL<
22ea0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22eb0 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64  ight">182630</td
22ec0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22ed0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22ee0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22ef0 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32  n="right">46.082
22f00 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  761</td><td>NULL
22f10 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27  </td><td>VIA DE'
22f20 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74   CENCI</td>..</t
22f30 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
22f40 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22f50 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22f60 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22f70 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
22f80 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
22f90 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
22fa0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22fb0 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61  223758</td><td a
22fc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
22fd0 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  630</td><td alig
22fe0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
22ff0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23000 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23010 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
23020 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34  align="right">24
23030 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e  .198115</td><td>
23040 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
23050 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
23060 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
23070 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
23080 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
23090 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
230a0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
230b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
230c0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
230d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
230e0 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74  t">225512</td><t
230f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23100 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61  182629</td><td a
23110 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
23120 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  933</td><td>NULL
23130 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23140 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23150 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23160 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c  >34.184194</td><
23170 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23180 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
23190 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
231a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
231b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
231c0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
231d0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
231e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
231f0 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >5</td><td>Link<
23200 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23210 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64  ight">225511</td
23220 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23230 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74  t">182933</td><t
23240 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23250 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e  181999</td><td>N
23260 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23270 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23280 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23290 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74  ht">49.241735</t
232a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
232b0 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
232c0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
232d0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
232e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
232f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
23300 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
23310 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23320 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
23330 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
23340 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c  ="right">222635<
23350 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23360 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
23370 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23380 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74  t">181998</td><t
23390 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
233a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
233b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
233c0 72 69 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35  right">101.62975
233d0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
233e0 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
233f0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
23400 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
23410 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
23420 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23430 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23440 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
23450 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
23460 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
23470 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
23480 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  780</td><td alig
23490 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38  n="right">181998
234a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
234b0 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74  right">183560</t
234c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
234d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
234e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
234f0 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33  gn="right">73.73
23500 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3572</td><td>NUL
23510 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
23520 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74  LL'ANFITEATRO</t
23530 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
23540 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
23550 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23560 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
23570 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
23580 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23590 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">8</td><td>Link
235a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
235b0 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f 74  right">225827</t
235c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
235d0 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c  ht">183560</td><
235e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
235f0 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e  >183286</td><td>
23600 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23610 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23620 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23630 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f  ght">42.309564</
23640 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23650 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46  <td>VIA DELL'ANF
23660 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ITEATRO</td>..</
23670 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
23680 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23690 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
236a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
236b0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
236c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74  ign="right">9</t
236d0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
236e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
236f0 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20  >224897</td><td 
23700 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
23710 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
23720 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32  gn="right">18312
23730 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
23740 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23760 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
23770 32 2e 34 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64  2.444609</td><td
23780 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
23790 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
237a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
237b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
237c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
237d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
237e0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
237f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23800 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  ">10</td><td>Lin
23810 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
23820 22 72 69 67 68 74 22 3e 32 32 34 32 33 32 3c 2f  "right">224232</
23830 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23840 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e  ght">183128</td>
23850 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23860 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64  ">182890</td><td
23870 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
23880 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
23890 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
238a0 69 67 68 74 22 3e 31 30 33 2e 36 31 32 32 32 31  ight">103.612221
238b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
238c0 64 3e 3c 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c  d><td>VIA NICCOL
238d0 4f 27 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  O' ARETINO</td>.
238e0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
238f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23900 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23910 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23920 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
23930 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
23940 31 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61  1</td><td>Partia
23950 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64  l Link (End)</td
23960 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23970 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74  t">224019</td><t
23980 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23990 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e  182890</td><td>N
239a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
239b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
239c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
239d0 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
239e0 74 22 3e 39 35 2e 37 36 30 32 32 32 3c 2f 74 64  t">95.760222</td
239f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23a00 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
23a10 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
23a20 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
23a30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23a40 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23a50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23a60 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
23a70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c  lign="right">12<
23a80 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50  /td><td>Egress P
23a90 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ath</td><td>NULL
23aa0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23ab0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23ac0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23ae0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
23af0 22 72 69 67 68 74 22 3e 37 2e 33 31 36 37 30 39  "right">7.316709
23b00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23b10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
23b20 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
23b30 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  ..<br>..Let's no
23b40 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  w quickly examin
23b50 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
23b60 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
23b70 61 62 6f 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74  above <b>Point-t
23b80 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72  o-Point</b> quer
23b90 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  y:..<ul>..<li>th
23ba0 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74  e general layout
23bb0 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74   is almost exact
23bc0 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79  ly the same as y
23bd0 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65  ou've already se
23be0 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  en in the case o
23bf0 66 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 71  f ShortestPath q
23c00 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ueries.</li>..<l
23c10 69 3e 69 6e 20 74 68 65 20 73 70 65 63 69 66 69  i>in the specifi
23c20 63 20 63 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d  c case of Point-
23c30 74 6f 2d 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e  to-Point the <b>
23c40 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66  first row</b> of
23c50 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77   the resultset w
23c60 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61  ill always conta
23c70 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  in the following
23c80 73 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  s <b>NOT NULL</b
23c90 3e 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e  > columns:..<ul>
23ca0 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f  ..<li><b>NodeFro
23cb0 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64  m</b> and <b>Nod
23cc0 65 54 6f 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f  eTo</b>: the two
23cd0 20 47 65 6f 6d 65 74 72 69 65 73 20 64 65 66 69   Geometries defi
23ce0 6e 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f  ning the <u><i>o
23cf0 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e  rigin</i></u> an
23d00 64 20 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74  d <u><i>destinat
23d10 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e  ion</i></u> Poin
23d20 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ts.</li>..<li><b
23d30 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20  >Tolerance</b>: 
23d40 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 69 73 74  the maximum dist
23d50 61 6e 63 65 20 61 6c 6c 6f 77 65 64 20 62 65 74  ance allowed bet
23d60 77 65 65 6e 20 74 68 65 20 72 65 66 65 72 65 6e  ween the referen
23d70 63 65 64 20 50 6f 69 6e 74 73 20 61 6e 64 20 43  ced Points and C
23d80 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c  andidate Links.<
23d90 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
23da0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c  ..<li>the <b>Rol
23db0 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e  e</b> column can
23dc0 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74   assume one of t
23dd0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c  he following val
23de0 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ues:..<ul>..<li>
23df0 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53  <b>Point2Point S
23e00 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65  olution</b>: the
23e10 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 6d 6d   header row summ
23e20 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75  arizing the Solu
23e30 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
23e40 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50  ..<ul>..<li><b>P
23e50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62  ointFrom</b>, <b
23e60 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64  >PointTo</b> and
23e70 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62   <b>Tolerance</b
23e80 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68  > columns will h
23e90 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
23ea0 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20  /b> values only 
23eb0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
23ec0 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  w.</li>..</ul></
23ed0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72  li>..<li><b>Ingr
23ee0 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
23ef0 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23f00 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
23f10 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20  Origin Point to 
23f20 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c  the first Link.<
23f30 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72  /li>..<li><b>Egr
23f40 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
23f50 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23f60 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
23f70 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65  last Link to the
23f80 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69   Destination Poi
23f90 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62  nt...<ul>..<li>b
23fa0 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 73 20  oth the Ingress 
23fb0 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 20 50  and the Egress P
23fc0 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c  ath rows will al
23fd0 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c  ways have <b>NUL
23fe0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20  L</b> values on 
23ff0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e  <b>LinkRowid</b>
24000 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  , <b>NodeFrom</b
24010 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
24020 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69  /b> columns.</li
24030 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
24040 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69  li><b>Partial Li
24050 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20  nk (Start)</b>: 
24060 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74  the partial sect
24070 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74  ion of the first
24080 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c   Link...<ul>..<l
24090 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20  i>this specific 
240a0 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  row will always 
240b0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f  have a <b>NULL</
240c0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20  b> value on the 
240d0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
240e0 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  column.</li>..</
240f0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
24100 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45  >Partial Link (E
24110 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72  nd)</b>: the par
24120 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20  tial section of 
24130 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a  the last Link...
24140 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73  <ul>..<li>this s
24150 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c  pecific row will
24160 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c   always have a <
24170 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65  b>NULL</b> value
24180 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54   on the <b>NodeT
24190 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c  o</b> column.</l
241a0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
241b0 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a  <li><b>Link</b>:
241c0 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20   any other Link 
241d0 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20  required by the 
241e0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53  Point-to-Point S
241f0 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a  olution...<ul>..
24200 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f  <li>all these ro
24210 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68  ws will always h
24220 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
24230 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62  /b> values on <b
24240 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20  >LinkRowid</b>, 
24250 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
24260 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
24270 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d  > columns.</li>.
24280 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
24290 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  l></li>..</ul>..
242a0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  <br><br><br>..<b
242b0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c  >Point-to-Point<
242c0 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20  /b> queries can 
242d0 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62  be customized, b
242e0 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61  ut the configura
242f0 74 69 6f 6e 20 72 75 6c 65 73 20 64 69 66 66 65  tion rules diffe
24300 72 20 73 6c 69 67 68 74 6c 79 20 66 72 6f 6d 20  r slightly from 
24310 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c  what you have al
24320 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68  ready seen in th
24330 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  e previous examp
24340 6c 65 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  les...<ul>..<li>
24350 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
24360 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74  : only <b>Dijkst
24370 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72  ra</b> is suppor
24380 74 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d  ted by <b>Point-
24390 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e  to-Point</b>, an
243a0 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63  d will be implic
243b0 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65  itly assumed eve
243c0 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72  n when the alter
243d0 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e  native <b>A*</b>
243e0 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75   algorithm is cu
243f0 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64  rrently selected
24400 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62  .<br>..This is b
24410 65 63 61 75 73 65 20 74 68 65 20 69 6e 74 65 72  ecause the inter
24420 6e 61 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69  nal logic of Poi
24430 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75  nt-to-Point requ
24440 69 72 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69  ires multi-desti
24450 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69  nation queries i
24460 6e 20 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75  n order to evalu
24470 61 74 65 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65  ate all possible
24480 20 43 61 6e 64 69 64 61 74 65 20 53 6f 6c 75 74   Candidate Solut
24490 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ions.</li>..<li>
244a0 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20  <b>Options</b>: 
244b0 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c  the usual <b>FUL
244c0 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45  L</b>, <b>SIMPLE
244d0 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b  </b>, <b>NO LINK
244e0 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20  S</b> and <b>NO 
244f0 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61  GEOMETRIES</b> a
24500 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64  re supported and
24510 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73   will have the s
24520 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e  ame effect as in
24530 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74   single-destinat
24540 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  ion queries.</li
24550 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61  >..<li><b>Tolera
24560 6e 63 65 3c 2f 62 3e 3a 20 74 68 69 73 20 73 65  nce</b>: this se
24570 74 74 69 6e 67 20 69 73 20 73 70 65 63 69 66 69  tting is specifi
24580 63 20 74 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  c to Point-to-Po
24590 69 6e 74 2c 20 61 6e 64 20 64 65 66 69 6e 65 73  int, and defines
245a0 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c   the maximum all
245b0 6f 77 61 62 6c 65 20 64 69 73 74 61 6e 63 65 20  owable distance 
245c0 62 65 74 77 65 65 6e 20 61 20 72 65 66 65 72 65  between a refere
245d0 6e 63 65 20 50 6f 69 6e 74 20 61 6e 64 20 43 61  nce Point and Ca
245e0 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 62  ndidate Links.<b
245f0 72 3e 0d 0a 49 74 20 64 65 66 61 75 6c 74 73 20  r>..It defaults 
24600 74 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20  to <b>20.0m</b> 
24610 69 66 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c  if not explicitl
24620 79 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  y set.</li>..</u
24630 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  l>..<verbatim>..
24640 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
24650 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20  T Options = 'NO 
24660 47 45 4f 4d 45 54 52 49 45 53 27 2c 20 54 6f 6c  GEOMETRIES', Tol
24670 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3b 0d 0a  erance = 25.5;..
24680 0d 0a 53 45 4c 45 43 54 20 52 65 71 75 65 73 74  ..SELECT Request
24690 2c 20 4f 70 74 69 6f 6e 73 2c 20 54 6f 6c 65 72  , Options, Toler
246a0 61 6e 63 65 2c 20 52 6f 75 74 65 52 6f 77 2c 20  ance, RouteRow, 
246b0 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
246c0 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
246d0 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
246e0 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
246f0 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e  foot..WHERE Poin
24700 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20  tFrom = (SELECT 
24710 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f  geom FROM house_
24720 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69  nr_vw WHERE muni
24730 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a  cipality = 'AREZ
24740 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20  ZO' AND address 
24750 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43  = 'VIA DE'' CENC
24760 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20  I 13')..    AND 
24770 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43  PointTo = (SELEC
24780 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73  T geom FROM hous
24790 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75  e_nr_vw WHERE mu
247a0 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52  nicipality = 'AR
247b0 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73  EZZO' AND addres
247c0 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f  s = 'VIA ANTONIO
247d0 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43   GUADAGNOLI 19/C
247e0 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ');..</verbatim>
247f0 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following 
24800 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20  table shows the 
24810 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
24820 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20  ed by the above 
24830 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
24840 75 65 72 79 20 61 66 74 65 72 20 73 65 6c 65 63  uery after selec
24850 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 20  ting <b>Options 
24860 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  = 'NO GEOMETRIES
24870 27 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c  '</b> and <b>Tol
24880 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3c 2f 62  erance = 25.5</b
24890 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  ><br><br>..<tabl
248a0 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
248b0 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
248c0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
248d0 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
248e0 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
248f0 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
24900 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
24910 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
24920 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
24930 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54  olor="#d0d0a0">T
24940 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68  olerance</th><th
24950 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
24960 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
24970 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
24980 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
24990 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
249a0 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
249b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
249c0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
249d0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
249e0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
249f0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
24a00 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
24a10 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
24a20 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
24a30 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
24a40 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
24a50 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
24a60 74 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e 74 32 50  tr>..<td>Point2P
24a70 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74  oint Path</td><t
24a80 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c  d>No Geometries<
24a90 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24aa0 69 67 68 74 22 3e 32 35 2e 35 30 30 30 30 30 3c  ight">25.500000<
24ab0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24ac0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
24ad0 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75  Point2Point Solu
24ae0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
24af0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24b00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24b10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24b20 22 3e 36 35 31 2e 30 36 37 30 38 32 3c 2f 74 64  ">651.067082</td
24b30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24b40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
24b50 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24b60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24b70 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24b80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24b90 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67  t">1</td><td>Ing
24ba0 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74  ress Path</td><t
24bb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24bc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24bd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24be0 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c  right">2.301687<
24bf0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24c00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
24c10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24c20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24c30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24c40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24c50 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
24c60 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74  Partial Link (St
24c70 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  art)</td><td ali
24c80 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36  gn="right">22426
24c90 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
24ca0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24cb0 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e  ght">182630</td>
24cc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24cd0 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e  ">46.082761</td>
24ce0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24cf0 3e 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f  >VIA DE' CENCI</
24d00 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
24d10 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
24d20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24d30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24d40 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
24d50 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
24d60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24d70 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61  223758</td><td a
24d80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
24d90 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  630</td><td alig
24da0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
24db0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24dc0 72 69 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35  right">24.198115
24dd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24de0 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
24df0 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
24e00 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24e10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24e20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24e30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
24e40 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
24e50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24e60 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c  ht">225512</td><
24e70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24e80 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
24e90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
24ea0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
24eb0 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38  gn="right">34.18
24ec0 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4194</td><td>NUL
24ed0 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
24ee0 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
24ef0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24f00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24f10 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24f20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24f30 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">5</td><td>Lin
24f40 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
24f50 22 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f  "right">225511</
24f60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24f70 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e  ght">182933</td>
24f80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24f90 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
24fa0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
24fb0 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64  9.241735</td><td
24fc0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
24fd0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
24fe0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
24ff0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
25000 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
25010 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
25020 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
25030 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
25040 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38  ign="right">2258
25050 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
25060 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
25070 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
25080 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
25090 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
250a0 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64  t">95.592204</td
250b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
250c0 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
250d0 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
250e0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
250f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
25100 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
25110 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
25120 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">7</td><td>Lin
25130 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
25140 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f  "right">219171</
25150 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
25160 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
25170 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
25180 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
25190 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
251a0 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64  3.285538</td><td
251b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
251c0 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
251d0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
251e0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
251f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
25200 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
25210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
25220 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
25230 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
25240 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
25250 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
25260 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
25270 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
25280 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
25290 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36  gn="right">148.6
252a0 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  56089</td><td>NU
252b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
252c0 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
252d0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
252e0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
252f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
25300 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
25310 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74  ign="right">9</t
25320 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69  d><td>Partial Li
25330 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64  nk (End)</td><td
25340 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
25350 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  24019</td><td al
25360 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
25370 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  90</td><td>NULL<
25380 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
25390 69 67 68 74 22 3e 31 35 30 2e 32 36 30 36 34 31  ight">150.260641
253a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
253b0 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49  d><td>VIA ANTONI
253c0 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64  O GUADAGNOLI</td
253d0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
253e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
253f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
25400 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
25410 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e  ="right">10</td>
25420 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 3c  <td>Egress Path<
25430 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
25440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
25450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
25460 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 32  lign="right">7.2
25470 36 34 31 31 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55  64118</td><td>NU
25480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
25490 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
254a0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  able>..<br><br>.
254b0 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
254c0 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
254d0 20 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 2d 74   the two Point-t
254e0 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  o-Point Solution
254f0 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  s returned by th
25500 65 20 70 72 65 76 69 6f 75 73 20 71 75 65 72 69  e previous queri
25510 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  es...<br><br>..<
25520 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f  img src="https:/
25530 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
25540 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69  /gaia-sins/routi
25550 6e 67 2d 66 69 67 73 2f 70 6f 69 6e 74 2d 74 6f  ng-figs/point-to
25560 2d 70 6f 69 6e 74 2e 6a 70 67 22 20 61 6c 74 3d  -point.jpg" alt=
25570 22 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22  "point-to-point"
25580 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  >..<ul>..<li>the
25590 20 67 72 65 65 6e 20 6c 69 6e 65 20 63 6f 72 72   green line corr
255a0 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66  esponds to the f
255b0 69 72 73 74 20 73 6f 6c 75 74 69 6f 6e 20 28 3c  irst solution (<
255c0 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20  i>PointTo = VIA 
255d0 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 3c  GUADAGNOLI 19/B<
255e0 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /i>).</li>..<li>
255f0 74 68 65 20 79 65 6c 6c 6f 77 20 6c 69 6e 65 20  the yellow line 
25600 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74  corresponds to t
25610 68 65 20 73 65 63 6f 6e 64 20 73 6f 6c 75 74 69  he second soluti
25620 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d  on (<i>PointTo =
25630 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20   VIA GUADAGNOLI 
25640 31 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d  19/C</i>).</li>.
25650 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75  .</ul>..<br>..<u
25660 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74  >Note</u>: Point
25670 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65  -to-Point querie
25680 73 20 61 72 65 20 76 65 72 79 20 73 65 6e 73 69  s are very sensi
25690 74 69 76 65 2c 20 61 6e 64 20 61 20 76 65 72 79  tive, and a very
256a0 20 62 6c 61 6e 64 20 73 68 69 66 74 20 61 66 66   bland shift aff
256b0 65 63 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74  ecting the posit
256c0 69 6f 6e 20 6f 66 20 61 20 72 65 66 65 72 65 6e  ion of a referen
256d0 63 65 20 50 6f 69 6e 74 20 63 6f 75 6c 64 20 65  ce Point could e
256e0 61 73 69 6c 79 20 63 61 75 73 65 20 64 72 61 6d  asily cause dram
256f0 61 74 69 63 20 63 68 61 6e 67 65 73 20 69 6e 20  atic changes in 
25700 74 68 65 20 53 6f 6c 75 74 69 6f 6e 27 73 20 50  the Solution's P
25710 61 74 68 20 28 61 73 20 69 73 20 69 6e 20 74 68  ath (as is in th
25720 69 73 20 63 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c  is case)...<br><
25730 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  br>..<hr><br>..<
25740 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
25750 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
25760 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61  fossil/libspatia
25770 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34  lite/wiki?name=4
25780 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f  .3.0-doc">back</
25790 61 3e 0a 5a 20 31 38 66 36 65 31 31 35 38 36 30  a>.Z 18f6e115860
257a0 39 63 37 64 37 30 31 66 31 63 65 62 30 39 62 61  9c7d701f1ceb09ba
257b0 65 66 65 34 33 0a                                efe43.