Hex Artifact Content
Not logged in

Artifact 16145dbf67b2de2378c1a5f8bd563bb7e27344c4:

Wiki page [VirtualRouting] by sandro 2018-04-25 10:36:27.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 31 30 3a  D 2018-04-25T10:
0010: 33 36 3a 32 37 2e 39 37 34 0a 4c 20 56 69 72 74  36:27.974.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 33 65 33  ualRouting.P 3e3
0030: 36 66 32 34 33 36 30 35 36 32 33 33 34 61 64 35  6f24360562334ad5
0040: 66 38 61 36 62 65 39 63 65 32 39 65 37 31 33 63  f8a6be9ce29e713c
0050: 35 65 32 38 32 0a 55 20 73 61 6e 64 72 6f 0a 57  5e282.U sandro.W
0060: 20 31 35 31 33 32 35 0a 3c 61 20 68 72 65 66 3d   151325.<a href=
0070: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
0080: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f  a-gis.it/fossil/
0090: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69  libspatialite/wi
00a0: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f  ki?name=4.3.0-do
00b0: 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c  c">back</a><hr><
00c0: 62 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f  br>..<h1>Table o
00d0: 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d  f Contents</h1>.
00e0: 0a 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69  .1 - <a href="#i
00f0: 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69  ntro">Introducti
0100: 6f 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20  on</a><br>..2 - 
0110: 3c 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65  <a href="#sample
0120: 22 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73  ">The sample/tes
0130: 74 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20  t DB</a><br>..3 
0140: 2d 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61  - <a href="#crea
0150: 74 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72  te">Creating Vir
0160: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
0170: 65 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20  es</a><br>..4 - 
0180: 3c 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74  <a href="#from_t
0190: 6f 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73  o">Solving class
01a0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  ic Shortest Path
01b0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72   problems</a><br
01c0: 3e 0d 0a 35 20 2d 20 3c 61 20 68 72 65 66 3d 22  >..5 - <a href="
01d0: 23 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20  #multi">Solving 
01e0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
01f0: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
0200: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e  problems</a><br>
0210: 0d 0a 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23  ..6 - <a href="#
0220: 69 73 6f 63 68 72 6f 6e 65 22 3e 53 6f 6c 76 69  isochrone">Solvi
0230: 6e 67 20 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f  ng Isochrone pro
0240: 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 37  blems</a><br>..7
0250: 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74 73 70   - <a href="#tsp
0260: 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74  ">Solving TSP (t
0270: 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61  raveling salesma
0280: 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  n) problems</a><
0290: 62 72 3e 0d 0a 38 20 2d 20 3c 61 20 68 72 65 66  br>..8 - <a href
02a0: 3d 22 23 70 32 70 22 3e 53 6f 6c 76 69 6e 67 20  ="#p2p">Solving 
02b0: 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70  Point-to-Point p
02c0: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d  roblems</a><br>.
02d0: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c  .<br><hr>..<h1><
02e0: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31  a name="intro">1
02f0: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c   - Introduction<
0300: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f  /a></h1>..Previo
0310: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53  us versions of S
0320: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74  patiaLite tradit
0330: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65  ionally supporte
0340: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20  d a <b>pure SQL 
0350: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f  routing module</
0360: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65  b> that was name
0370: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  d <a href="https
0380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
0390: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61  it/fossil/libspa
03a0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d  tialite/wiki?nam
03b0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  e=VirtualNetwork
03c0: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75  +reloaded">Virtu
03d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62  alNetwork</a>.<b
03e0: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65  r><br>..Since ve
03f0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f  rsion <b>5.0.0</
0400: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c  b> a brand new <
0410: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65  b>routing module
0420: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e  </b> (more advan
0430: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69  ced and sophisti
0440: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61  cated) is availa
0450: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c  ble, that is cal
0460: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  led <b>VirtualRo
0470: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  uting</b>.<br>..
0480: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65  The now obsolete
0490: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
04a0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20  rk</b> is still 
04b0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72  supported by ver
04c0: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62  sion <b>5.0.0</b
04d0: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63  > so as to not c
04e0: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62  ause an abrupt b
04f0: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20  reak to already 
0500: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61  existing applica
0510: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20  tions, but will 
0520: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69  presumably be di
0530: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75  scontinued in fu
0540: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62  ture versions.<b
0550: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72  r>..Using <b>Vir
0560: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
0570: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69  instead of <b>Vi
0580: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e  rtualNetwirk</b>
0590: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d   is warmly recom
05a0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e  mended for any n
05b0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20  ew development. 
05c0: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61  ..<h2>Theoretica
05d0: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20  l foundations - 
05e0: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72  an ultra-quick r
05f0: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20  ecall</h2>..All 
0600: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
0610: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  ithms</b> (<i>ak
0620: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73  a</i> <b>Shortes
0630: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72  t Path</b> algor
0640: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64  ithms) are based
0650: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74   on the mathemat
0660: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72  ics of the <a hr
0670: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
0680: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
0690: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e  i/Graph_theory">
06a0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e  Graph theory</a>
06b0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70   or to be more p
06c0: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65  recise: on <b>We
06d0: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62  ighted Graphs</b
06e0: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  >...<br>..<img s
06f0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0700: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
0710: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
0720: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20  gs/network.png" 
0730: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a  alt="network">..
0740: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69  <br>..A topologi
0750: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e  cally valid <b>N
0760: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20  etwork</b> is a 
0770: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c  dataset that ful
0780: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77  fills the follow
0790: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73  ing requirements
07a0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c  :..<ul>..<li>All
07b0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61   items in the da
07c0: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64  taset are called
07d0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c   <b>Links</b> (<
07e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63  i>aka</i> <b>Arc
07f0: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20  s</b>), and are 
0800: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72  expected to repr
0810: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e  esent some orien
0820: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a  ted connection j
0830: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f  oining two <b>No
0840: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75  des</b>.<br>..<u
0850: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e  >Example</u>: in
0860: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72   the above figur
0870: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e  e Link <b>L3</b>
0880: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20   connects Nodes 
0890: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>N2</b> and <b
08a0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  >N5</b>.</li>..<
08b0: 6c 69 3e 54 68 65 72 65 66 6f 72 65 20 61 6c 6c  li>Therefore all
08c0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72   <b>Links</b> ar
08d0: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65  e always expecte
08e0: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20  d to explicitly 
08f0: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53  reference a <b>S
0900: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c  tart-Node</b> (<
0910: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64  i>aka</i> <b>Nod
0920: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20  e-From</b>) and 
0930: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  an <b>End-Node</
0940: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
0950: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d  b>Node-To</b>)..
0960: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73  .<ul>..<li>Links
0970: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f   are always <b>o
0980: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64  riented</b>, and
0990: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64   their natural d
09a0: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46  irection is <b>F
09b0: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c  rom-To</b>:..<ul
09c0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e  >..<li>in an <b>
09d0: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
09e0: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20  b> Network each 
09f0: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e  Link is an <b>on
0a00: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63  e-way</b> connec
0a10: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68  tion.<br>..If th
0a20: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20  e connection is 
0a30: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  to be available 
0a40: 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20  in the opposite 
0a50: 64 69 72 65 63 74 69 6f 6e 2c 20 61 20 73 65 63  direction, a sec
0a60: 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20 62 65  ond Link must be
0a70: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c   explicitly decl
0a80: 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78  ared.<br>..<u>Ex
0a90: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e 6b 20  ample</u>: Link 
0aa0: 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73 20 66  <b>X1</b> goes f
0ab0: 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62  rom Node <b>A</b
0ac0: 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f  > to Node <b>B</
0ad0: 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c 62 3e  b>, and Link <b>
0ae0: 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72 6f 6d  X2</b> goes from
0af0: 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e 20 74   Node <b>B</b> t
0b00: 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 3e 2e  o Node <b>A</b>.
0b10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 20  </li>..<li>in a 
0b20: 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c  <b>bidirectional
0b30: 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61 6c 6c  </b> Network all
0b40: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d   Links are assum
0b50: 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20  ed to establish 
0b60: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20  a connection in 
0b70: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 2e  both directions.
0b80: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69 6e 67  <br>..Definiting
0b90: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 20 63   an <b>one-way c
0ba0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20 72 65  onnection</b> re
0bb0: 71 75 69 72 65 73 20 61 6e 20 61 70 70 72 6f 70  quires an approp
0bc0: 72 69 61 74 65 20 61 74 74 72 69 62 75 74 65 20  riate attribute 
0bd0: 74 6f 20 62 65 20 73 65 74 20 28 73 65 65 20 62  to be set (see b
0be0: 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  elow).</li>..</u
0bf0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65  l></li>..<li>The
0c00: 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 61   <b>Start-</b> a
0c10: 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  nd <b>End-Node</
0c20: 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61  b> could eventua
0c30: 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d 65 2c  lly be the same,
0c40: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73   and in this cas
0c50: 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61 20 3c  e we'll have a <
0c60: 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c 2f 62  b>self-closed</b
0c70: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  > Link.</li>..<l
0c80: 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b  i>Network's Link
0c90: 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65 76 65  s <b>can</b> eve
0ca0: 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 61  ntually define a
0cb0: 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74 72 79   linear Geometry
0cc0: 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c   (<b>LINESTRING<
0cd0: 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f 6d 20  /b>) going from 
0ce0: 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64  the <b>Start-Nod
0cf0: 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c 62 3e  e</b> to the <b>
0d00: 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20 62 75  End-Node</b>, bu
0d10: 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f 70 74  t this is an opt
0d20: 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c 20 6e  ional feature, n
0d30: 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 72  ot a mandatory r
0d40: 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c 69 3e  equirement.</li>
0d50: 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20 61 62  ..<li>What is ab
0d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65  solutely require
0d70: 64 20 69 73 20 74 68 61 74 20 65 61 63 68 20 3c  d is that each <
0d80: 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75 73 74 20  b>Link</b> must 
0d90: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72  explicitly refer
0da0: 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e 6f 64 65  ence its <b>Node
0db0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  s</b>.</li>..</u
0dc0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 4e  l></li>..<li>A N
0dd0: 65 74 77 6f 72 6b 20 73 75 70 70 6f 72 74 69 6e  etwork supportin
0de0: 67 20 47 65 6f 6d 65 74 72 69 65 73 20 69 73 20  g Geometries is 
0df0: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  a <b>Spatial Net
0e00: 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68 65 72 77  work</b>; otherw
0e10: 69 73 65 20 61 20 4e 65 74 77 6f 72 6b 20 6c 61  ise a Network la
0e20: 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f 6d 65 74  cking any Geomet
0e30: 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f 67 69 63  ry is a <b>Logic
0e40: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 0d  al Network</b>..
0e50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20  .<ul>..<li>In a 
0e60: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f  <b>Spatial Netwo
0e70: 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73  rk</b> all Links
0e80: 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 68 61 76   <b>must</b> hav
0e90: 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  e a correspondin
0ea0: 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e  g Geometry.</li>
0eb0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 4c 6f  ..<li>In a <b>Lo
0ec0: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  gical Network</b
0ed0: 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 61  > all Links <b>a
0ee0: 72 65 20 73 74 72 69 63 74 6c 79 20 66 6f 72 62  re strictly forb
0ef0: 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20 68 61 76  idden</b> to hav
0f00: 65 20 61 6e 79 20 47 65 6f 6d 65 74 72 79 2e 3c  e any Geometry.<
0f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c  /li>..<li>In a <
0f20: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
0f30: 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68 65 20 3c  k</b> both the <
0f40: 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c 2f 62 3e  b>StartPoint</b>
0f50: 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f 69 6e 74   and <b>EndPoint
0f60: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
0f70: 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e  k's <b>LINESTRIN
0f80: 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73  G</b> are always
0f90: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 61   expected to exa
0fa0: 63 74 6c 79 20 63 6f 69 6e 63 69 64 65 20 77 69  ctly coincide wi
0fb0: 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  th the correspon
0fc0: 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62  ding <b>Nodes</b
0fd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  >.</li>..</ul></
0fe0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62  li>..<li>In a <b
0ff0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b  >Spatial Network
1000: 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65 72 65 6e  </b> all referen
1010: 63 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20  ces to the same 
1020: 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62 79 20 64  <b>Node</b> by d
1030: 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b 73 20 3c  ifferent Links <
1040: 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 61 6e  b>must</b> be an
1050: 20 65 78 61 63 74 20 6d 61 74 63 68 2e 3c 62 72   exact match.<br
1060: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75  >..<u>Example</u
1070: 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35 3c 2f 62  >: Node <b>N5</b
1080: 3e 20 69 73 20 73 68 61 72 65 64 20 62 79 20 4c  > is shared by L
1090: 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62 3e 2c 20  inks <b>L3</b>, 
10a0: 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62 3e 4c 37  <b>L6</b>, <b>L7
10b0: 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f 62 3e 20  </b>, <b>L9</b> 
10c0: 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62 3e 2c 20  and <b>L10</b>, 
10d0: 73 6f 20 61 6c 6c 20 74 68 65 69 72 20 63 6f 72  so all their cor
10e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49 4e 45 53  responding LINES
10f0: 54 52 49 4e 47 53 20 61 72 65 20 65 78 70 65 63  TRINGS are expec
1100: 74 65 64 20 74 6f 20 68 61 76 65 20 74 68 65 20  ted to have the 
1110: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78  corresponding ex
1120: 74 72 65 6d 69 74 79 20 28 3c 62 3e 53 74 61 72  tremity (<b>Star
1130: 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 45 6e 64  t-</b> or <b>End
1140: 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64 69 6e 67  -</b>, depending
1150: 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e 74 61 74   on the orientat
1160: 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74 68 61 74  ion) points that
1170: 20 6d 75 73 74 20 65 78 61 63 74 6c 79 20 6d 61   must exactly ma
1180: 74 63 68 20 74 68 65 20 6f 74 68 65 72 2e 3c 62  tch the other.<b
1190: 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f 6c 6f 67  r>..A <b>topolog
11a0: 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e  ical inconsisten
11b0: 63 79 3c 2f 62 3e 20 65 78 69 73 74 73 20 69 66  cy</b> exists if
11c0: 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 63 6f   any of these co
11d0: 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74  nditions are not
11e0: 20 73 61 74 69 73 66 69 65 64 2c 20 77 68 69 63   satisfied, whic
11f0: 68 20 6c 65 61 64 73 20 74 6f 20 61 6e 20 3c 62  h leads to an <b
1200: 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20 4e 65 74  >invalid</b> Net
1210: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  work.</li>..<li>
1220: 41 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  Accordingly to t
1230: 68 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65  he above premise
1240: 73 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20  s, <b>Nodes</b> 
1250: 61 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74  are never expect
1260: 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69  ed to be explici
1270: 74 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20  tly declared in 
1280: 61 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65  a separate Table
1290: 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69  .<br>..Just a si
12a0: 6e 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61  ngle Table decla
12b0: 72 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b  ring all <b>Link
12c0: 73 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65  s</b> is require
12d0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75  d in order to fu
12e0: 6c 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70  lly define a top
12f0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
1300: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41   Network.<br>..A
1310: 6c 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e  ll the Nodes can
1320: 20 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20   then be easily 
1330: 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74  extracted from t
1340: 68 65 20 4c 69 6e 6b 27 73 20 64 65 66 69 6e 69  he Link's defini
1350: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f  tions and the co
1360: 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61  ordinates for ea
1370: 63 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64  ch Node can be d
1380: 69 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65  irectly set by e
1390: 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78  xtracting the ex
13a0: 74 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74  treme Point of t
13b0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
13c0: 20 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72   Linestrings.<br
13d0: 3e 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74  >..If any mismat
13e0: 63 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74  ch is detected t
13f0: 68 65 20 4e 65 74 77 6f 72 6b 20 77 69 6c 6c 20  he Network will 
1400: 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 3c  become invalid.<
1410: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c  /li>..<li>A <b>L
1420: 69 6e 6b 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69  ink</b> may legi
1430: 74 69 6d 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e  timately self-in
1440: 74 65 72 73 65 63 74 20 69 74 73 65 6c 66 20 28  tersect itself (
1450: 65 2e 67 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c  e.g. forming a l
1460: 6f 6f 70 29 2c 20 61 73 20 73 68 6f 77 6e 20 69  oop), as shown i
1470: 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75  n the above figu
1480: 72 65 20 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31  re by Link <b>L1
1490: 35 3c 2f 62 3e 20 28 6f 72 61 6e 67 65 20 73 70  5</b> (orange sp
14a0: 6f 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  ot).</li>..<li>T
14b0: 77 6f 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  wo <b>Links</b> 
14c0: 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79  may legitimately
14d0: 20 69 6e 74 65 72 73 65 63 74 20 77 68 65 72 65   intersect where
14e0: 20 6e 6f 20 4e 6f 64 65 20 65 78 69 73 74 73 2c   no Node exists,
14f0: 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20   as exemplified 
1500: 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67  on the above fig
1510: 75 72 65 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e  ure by Links <b>
1520: 4c 34 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37  L4</b> and <b>L7
1530: 3c 2f 62 3e 20 28 67 72 65 65 6e 20 73 70 6f 74  </b> (green spot
1540: 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 75 73 75  ).<br>..This usu
1550: 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 77 68 65  ally happens whe
1560: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 77 6f  n one of the two
1570: 20 4c 69 6e 6b 73 20 6f 76 65 72 70 61 73 73 65   Links overpasse
1580: 73 20 74 68 65 20 6f 74 68 65 72 2c 20 6f 72 20  s the other, or 
1590: 77 68 65 72 65 20 73 6f 6d 65 20 74 65 63 68 6e  where some techn
15a0: 69 63 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e  ical restriction
15b0: 20 65 78 69 73 74 73 20 28 65 2e 67 2e 20 74 77   exists (e.g. tw
15c0: 6f 20 69 6e 73 75 6c 61 74 65 64 20 77 69 72 65  o insulated wire
15d0: 73 20 69 6e 20 61 6e 20 45 6c 65 63 74 72 69 63  s in an Electric
15e0: 61 6c 20 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69  al Network).</li
15f0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c  >..<li><b>Links<
1600: 2f 62 3e 20 61 72 65 6e 27 74 20 73 74 72 69 63  /b> aren't stric
1610: 74 6c 79 20 72 65 71 75 69 72 65 64 20 74 6f 20  tly required to 
1620: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  be associated wi
1630: 74 68 20 61 6e 79 20 73 70 65 63 69 66 69 63 20  th any specific 
1640: 61 74 74 72 69 62 75 74 65 2c 20 62 75 74 20 74  attribute, but t
1650: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74  he following att
1660: 72 69 62 75 74 65 73 20 61 72 65 20 61 6c 6d 6f  ributes are almo
1670: 73 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 73  st universally s
1680: 75 70 70 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d  upported:..<ul>.
1690: 0a 3c 6c 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f  .<li>a <b>name</
16a0: 62 3e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74  b> identifying t
16b0: 68 65 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75  he Link.<br>..<u
16c0: 3e 45 78 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74  >Examples</u>: t
16d0: 68 65 20 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e  he <i>road topon
16e0: 79 6d 3c 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72  ym</i> in a <b>r
16f0: 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c  oad network</b>,
1700: 20 6f 72 20 74 68 65 20 3c 69 3e 72 69 76 65 72   or the <i>river
1710: 20 6e 61 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20   name</i> in an 
1720: 3c 62 3e 68 79 64 72 6f 67 72 61 70 68 69 63 20  <b>hydrographic 
1730: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69  network</b>.</li
1740: 3e 0d 0a 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65  >..<li>one (or e
1750: 76 65 6e 20 6d 6f 72 65 29 20 61 70 70 72 6f 70  ven more) approp
1760: 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61  riate <b>cost va
1770: 6c 75 65 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d  lue</b>(s).<br>.
1780: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a  .<u>Example</u>:
1790: 20 74 68 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e   the <i>time</i>
17a0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
17b0: 76 65 72 73 65 20 74 68 65 20 4c 69 6e 6b 20 28  verse the Link (
17c0: 6d 61 79 20 62 65 20 64 69 73 74 69 6e 67 75 69  may be distingui
17d0: 73 68 65 64 20 62 65 74 77 65 65 6e 20 70 65 64  shed between ped
17e0: 65 73 74 72 69 61 6e 73 2c 20 62 69 63 79 63 6c  estrians, bicycl
17f0: 65 73 2c 20 63 61 72 73 2c 20 6c 6f 72 72 69 65  es, cars, lorrie
1800: 73 20 61 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c  s and so on).</l
1810: 69 3e 0d 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f  i>..<li>a pair o
1820: 66 20 3c 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61  f <b>boolean fla
1830: 67 73 3c 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d  gs</b> (<b>from-
1840: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f  to</b> and <b>to
1850: 2d 66 72 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69  -from</b>) are i
1860: 6e 74 65 6e 64 65 6e 64 20 74 6f 20 73 70 65 63  ntendend to spec
1870: 69 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20  ify if the Link 
1880: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64  can be traversed
1890: 20 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69   on both directi
18a0: 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f  ons or just in o
18b0: 6e 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f  ne (<b>one-way</
18c0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  b>).</li>..</ul>
18d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70  </li>..<li><u>Sp
18e0: 65 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20  ecial case</u>: 
18f0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c  a <b>forbidden L
1900: 69 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70  ink</b> is any p
1910: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c  erfectly valid L
1920: 69 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79  ink that for any
1930: 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e   good reason can
1940: 20 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72   never be traver
1950: 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65  sed in both dire
1960: 63 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61  ctions. Practica
1970: 6c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c  l examples:..<ul
1980: 3e 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77  >..<li>Road Netw
1990: 6f 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62  orks: it could b
19a0: 65 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65  e useful represe
19b0: 6e 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72  nting <b>pedestr
19c0: 69 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20  ian streets</b> 
19d0: 61 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c  and <b>bicycle l
19e0: 61 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68  anes</b>, but th
19f0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
1a00: 4c 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c  Links will be al
1a10: 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74  ways forbidden t
1a20: 6f 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f  o car circulatio
1a30: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c  n.</li>..<li>Tel
1a40: 63 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c  com / Electrical
1a50: 20 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72   Networks: sever
1a60: 61 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72  al Links (<b>wir
1a70: 65 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65  es</b>) could be
1a80: 20 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74   physically inst
1a90: 61 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72  alled but tempor
1aa0: 61 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d  arily <b>out-of-
1ab0: 73 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20  service</b> for 
1ac0: 74 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e  technical reason
1ad0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1ae0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e  li>..</ul>..<h4>
1af0: 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69  Logical conclusi
1b00: 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f  ons</h4>..Any to
1b10: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69  pologically vali
1b20: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e  d <b>Network</b>
1b30: 20 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f   (irrespective o
1b40: 66 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20  f whether it is 
1b50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e  a <b>Spatial</b>
1b60: 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f   or <b>Logical</
1b70: 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61  b> type) is a va
1b80: 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e  lid <b>Graph</b>
1b90: 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b  .<br>..A Network
1ba0: 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75   allowing the su
1bb0: 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72  pport (direct or
1bc0: 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f   indirect) of so
1bd0: 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c  me appropriate <
1be0: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e  b>cost value</b>
1bf0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57   is a valid <b>W
1c00: 65 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62  eighted Graph</b
1c10: 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65  >, and can conse
1c20: 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20  quently support 
1c30: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
1c40: 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  ithms</b>.<br>..
1c50: 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f  All Routing algo
1c60: 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e  rithms are inten
1c70: 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ded to identify 
1c80: 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20  the <b>Shortest 
1c90: 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f  Path</b> solutio
1ca0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f  n connecting two
1cb0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e   <b>Nodes</b> in
1cc0: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67   a <b>weighted g
1cd0: 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  raph</b> (<i>aka
1ce0: 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c  </i> <b>Network<
1cf0: 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  /b>).<br><br>..<
1d00: 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62  b><u>Note</u></b
1d10: 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c  >: the term <b><
1d20: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  i>Shortest Path<
1d30: 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65  /i></b> can be e
1d40: 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74  asily misunderst
1d50: 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f  ood.<br>..Due to
1d60: 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73   historical reas
1d70: 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d  ons the most com
1d80: 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  mon application 
1d90: 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e  field for Routin
1da0: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20  g algorithms is 
1db0: 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f  related to <b>Ro
1dc0: 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c  ad Networks</b>,
1dd0: 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f   but also many o
1de0: 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65  ther kinds of Ne
1df0: 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c  tworks exist:..<
1e00: 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72  ul>..<li>Hydrogr
1e10: 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c  aphic Networks.<
1e20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20  /li>..<li>Gas / 
1e30: 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77  Water / Oil Netw
1e40: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  orks.</li>..<li>
1e50: 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f  Electrical Netwo
1e60: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  rks.</li>..<li>T
1e70: 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20  elecomunication 
1e80: 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a  Networks.</li>..
1e90: 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63  <li>Social or Ec
1ea0: 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b  onomical Network
1eb0: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72  s representing r
1ec0: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74  elationships bet
1ed0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73  ween individuals
1ee0: 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f   or companies.</
1ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69  li>..<li>Epidemi
1f00: 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  ological Network
1f10: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  s representing t
1f20: 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f  he propagation o
1f30: 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65  f infective dise
1f40: 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64  ases between ind
1f50: 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75  ividuals or grou
1f60: 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ps.</li>..</ul><
1f70: 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  /li> ..<br>..In 
1f80: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61  all the above ca
1f90: 73 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79  ses we certainly
1fa0: 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77   have valid Netw
1fb0: 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20  orks supporting 
1fc0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68  Routing algorith
1fd0: 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20  ns, but not all 
1fe0: 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c  of them can impl
1ff0: 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65  y something like
2000: 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69   a <i>spatial di
2010: 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67  stance</i> (<i>g
2020: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
2030: 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61  /i>) or a <i>tra
2040: 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72  vel time</i>.<br
2050: 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67  >..In the most g
2060: 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e  eneral acception
2070: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61   <b>costs</b> ca
2080: 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64  n be represented
2090: 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62   by any reasonab
20a0: 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e  le physical quan
20b0: 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20  tity.<br>..So a 
20c0: 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64  more generalized
20d0: 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61   definition is a
20e0: 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75  ssuming that Rou
20f0: 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20  ting algorithms 
2100: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  are intended to 
2110: 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73  identify <b>less
2120: 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75  er cost</b> solu
2130: 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65  tions on a <b>we
2140: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e  ighted graph</b>
2150: 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74  .<br>..The exact
2160: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20   interpretation 
2170: 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20  of the involved 
2180: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69  <b>costs</b> (<i
2190: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67  >aka</i> <b>weig
21a0: 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c  hts</b>) strictl
21b0: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65  y depends on the
21c0: 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e   very specific n
21d0: 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65  ature of each Ne
21e0: 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20  twork...<h3>The 
21f0: 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72  Dijkstra's algor
2200: 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20  ithm</h3>..This 
2210: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72  well known <a hr
2220: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
2230: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
2240: 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61  i/Dijkstra%27s_a
2250: 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69  lgorithm">algori
2260: 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65  thm</a> isn't ne
2270: 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61  cessarily the fa
2280: 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69  stest one, but i
2290: 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73  t always ensures
22a0: 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74   <b>full correct
22b0: 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d  ness</b>:..<ul>.
22c0: 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f  .<li>Any Node-to
22d0: 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  -Node connection
22e0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44   identified by D
22f0: 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72  ijkstra's is cer
2300: 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74  tainly ensured t
2310: 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c  o be <b>optimal<
2320: 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68  /b>.<br>..In oth
2330: 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e  er words, no con
2340: 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74  netction present
2350: 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74  ing a lower cost
2360: 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c   can conceptuall
2370: 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c  y exist.</li>..<
2380: 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61  li>When Dijsjtra
2390: 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e  's fails to iden
23a0: 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20  tify a solution 
23b0: 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e  this surely mean
23c0: 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69  s that no soluti
23d0: 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c  on is possible.<
23e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33  /li>..</ul>..<h3
23f0: 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68  >The A* algorith
2400: 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74  m</h3>..Many alt
2410: 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67  ernative Routing
2420: 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65   algorithms have
2430: 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64   been invented d
2440: 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e  uring the years.
2450: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61  <br>..All them a
2460: 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72  re based on heur
2470: 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e  istic assumption
2480: 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64  s and are intend
2490: 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20  ed to be faster 
24a0: 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c  than Dijkstra's,
24b0: 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65   but none of the
24c0: 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e  m can ensure <b>
24d0: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73  full correctness
24e0: 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61  </b> as Dijkstra
24f0: 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68  's does.<br>..Th
2500: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  e <a href="https
2510: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
2520: 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72  org/wiki/A*_sear
2530: 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a  ch_algorithm">A*
2540: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61   algorithm</a> a
2550: 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65  pplies a mild he
2560: 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61  uristic optimiza
2570: 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65  tion, and can be
2580: 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74   a realistic alt
2590: 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b  ernative to Dijk
25a0: 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63  stra's in many c
25b0: 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  ases.<br><br>..<
25c0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  hr>..<h1><a name
25d0: 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68  ="sample">2 - Th
25e0: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42  e sample/test DB
25f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61  </a></h1>..You a
2600: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66  re expected to f
2610: 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e  ollow the curren
2620: 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74  t tutorial about
2630: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
2640: 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74  ng</b> by direct
2650: 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53  ly testing all S
2660: 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75  QL queries discu
2670: 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68  ssed  below with
2680: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74   the <a href="ht
2690: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
26a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
26b0: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35  routing-sample-5
26c0: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f  .0.0.7z">sample/
26d0: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75  test DB that you
26e0: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72   can download fr
26f0: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c  om here</a><br><
2700: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20  br>..The sample 
2710: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20  DB contains the 
2720: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74  full <b>road net
2730: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54  work</b> of <b>T
2740: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49  uscany Region (I
2750: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72  taly)</b> (<a hr
2760: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2770: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2780: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2790: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74  ownload/grafo_st
27a0: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a  radale/iternet.z
27b0: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74  ip">Iter.Net dat
27c0: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79  aset</a>) kindly
27d0: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20   released under 
27e0: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20  the <b>CC-BY-SA 
27f0: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20  4.0</b> licence 
2800: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74  terms.<br>..Allt
2810: 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e  hough the conten
2820: 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65  ts stored in the
2830: 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65   sample database
2840: 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72   have been rearr
2850: 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69  anged, it is sti
2860: 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68  ll subject to th
2870: 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d  e initial <b>CC-
2880: 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c  BY-SA 4.0</b> cl
2890: 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65  auses (<i>derive
28a0: 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62  d work</i>)...<b
28b0: 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  r><br>..<ul>..<l
28c0: 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73  i>all road names
28d0: 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68   are stored with
28e0: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79  in the <b>topony
28f0: 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72  ms</b> Table.<br
2900: 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d  >..since the sam
2910: 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75  e road names cou
2920: 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69  ld be used in di
2930: 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61  fferent Municipa
2940: 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74  lities, the <b>t
2950: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c  oponyms</b> Tabl
2960: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72  e relationally r
2970: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62  eferences the <b
2980: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c  >municipalities<
2990: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c  /b> Table (via <
29a0: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20  b>PRIMARY</b> / 
29b0: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f  <b>FOREIGN KEY</
29c0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73  b> relationships
29d0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  ).</li>..<li>the
29e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70   <b>roads</b> Sp
29f0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74  atial Table cont
2a00: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38  ains about <b>38
2a10: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c  0,000</b> Links,
2a20: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c   and has the fol
2a30: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d  lowing columns:.
2a40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64  .<ul>..<li><b>id
2a50: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65  </b>: unique ide
2a60: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20  ntifier of each 
2a70: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59  Link (<b>PRIMARY
2a80: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2a90: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f  .<li><b>node_fro
2aa0: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64  m</b> and <b>nod
2ab0: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69  e_to</b>: Node i
2ac0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65  dentifiers...The
2ad0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e   original Iter.N
2ae0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74  et dataset adopt
2af0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63  s very long an c
2b00: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65  omplex alphanume
2b10: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20  ric Node codes; 
2b20: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65  the integer Node
2b30: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e   IDs were obtain
2b40: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
2b50: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  e <b>CreateRouti
2b60: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51  ngNodes()</b> SQ
2b70: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75  L function discu
2b80: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77  ssed in a follow
2b90: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69  ing section.</li
2ba0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70  >..<li><b>id_top
2bb0: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69  onym</b>: relati
2bc0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74  onal reference t
2bd0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  o the correspond
2be0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f  ing road name co
2bf0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65  ntained into the
2c00: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
2c10: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49   Table (<b>FOREI
2c20: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  GN KEY</b>).</li
2c30: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f  >..<li><b>speed_
2c40: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74  kmh</b>: the est
2c50: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73  imated average s
2c60: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62  peed supported b
2c70: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72  y the Link, expr
2c80: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68  essed in <b>km/h
2c90: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  </b>.<br>..<u>No
2ca0: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74  te</u>: <b>negat
2cb0: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69  ive</b> speeds i
2cc0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65  ntend a forbidde
2cd0: 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f  n Link (as it co
2ce0: 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20  uld be the case 
2cf0: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74  of pedestrian st
2d00: 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65  reets or bicycle
2d10: 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20   lanes exluding 
2d20: 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e  motor vehicles).
2d30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e  </li>..<li><b>on
2d40: 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20  eway_fromto</b> 
2d50: 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f  and <b>oneway_to
2d60: 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61  from</b>: boolea
2d70: 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e  n flags determin
2d80: 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20  e if a Link can 
2d90: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
2da0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20  both directions 
2db0: 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e  or just in a sin
2dc0: 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c  gle direction (<
2dd0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c  b>one-way</b>).<
2de0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
2df0: 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c  : all Links decl
2e00: 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f  aring <b>oneway_
2e10: 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64  fromto=0</b> and
2e20: 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f   <b>oneway_tofro
2e30: 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65  m=0</b> are inte
2e40: 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79  nded to be alway
2e50: 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69  s forbidden.</li
2e60: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f  >..<li><b>cost</
2e70: 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c  b>: the <b>time<
2e80: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e  /b> expressed in
2e90: 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20   <b>seconds</b> 
2ea0: 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76  required to trav
2eb0: 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c  erse each Link.<
2ec0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
2ed0: 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65  /u> all costs we
2ee0: 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63  re calculated ac
2ef0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
2f00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75   following formu
2f10: 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28  la: <b>cost = ((
2f20: 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20  ST_Length(geom) 
2f30: 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65  / 1000.0) / spee
2f40: 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c  d_kmh) * 3600.0<
2f50: 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  /b><br>..<u>Note
2f60: 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38   #2</u> all <b>8
2f70: 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74  6,400.0</b> cost
2f80: 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c   values (equival
2f90: 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d  ent to 1 day) im
2fa0: 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69  ply an <b>infini
2fb0: 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68  tive cost</b> th
2fc0: 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c  us intending a <
2fd0: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20  b>forbidden</b> 
2fe0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Link.</li>..<li>
2ff0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c  <b>geom</b>: a <
3000: 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c  b>3D Linestring<
3010: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67  /b> representing
3020: 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66   the Geometry of
3030: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d   each Link.<br>.
3040: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68  .<u>Note</u>: th
3050: 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74  e original <b>It
3060: 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73  er.Net</b> datas
3070: 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44  et is just <b>2D
3080: 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73  </b>; elevations
3090: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64   (<b>Z</b> coord
30a0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74  inates) were int
30b0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61  erpolated by dra
30c0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74  ping the dataset
30d0: 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66   over an <a href
30e0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e  ="http://www502.
30f0: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e  regione.toscana.
3100: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77  it/geoscopio/dow
3110: 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61  nload/altimetria
3120: 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54  /da_ctr10k/gb/DT
3130: 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22  M_Orografico.7z"
3140: 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20  >orographic DEM 
3150: 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73  (10m X 10m cells
3160: 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  )</a></li>..</ul
3170: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ></li>..<li>the 
3180: 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20  <b>roads_vw</b> 
3190: 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73  Spatial View res
31a0: 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69  olves all relati
31b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20  onal references 
31c0: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73  between <b>roads
31d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d  </b>, <b>toponym
31e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e  s</b> and <b>mun
31f0: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c  icipalities</b>,
3200: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66   thus allowing f
3210: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75  or easier SQL qu
3220: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eries.</li>..<li
3230: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
3240: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62  </b> Spatial Tab
3250: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75  le contains abou
3260: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f  t <b>1,480,000</
3270: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73  b> House Numbers
3280: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f  , and has the fo
3290: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a  llowing columns:
32a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  ..<ul>..<li><b>i
32b0: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64  d</b>: unique id
32c0: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68  entifier of each
32d0: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c   House Number (<
32e0: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62  b>PRIMARY KEY</b
32f0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
3300: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65  >id_road</b>: re
3310: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e  lational referen
3320: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73  ce to the corres
3330: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e  ponding Link con
3340: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20  tained into the 
3350: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62  <b>roads</b> Tab
3360: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b  le (<b>FOREIGN K
3370: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
3380: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a  li><b>label</b>:
3390: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62   the textual lab
33a0: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79  el fully qualify
33b0: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e  ing each House N
33c0: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  umber.</li>..<li
33d0: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20  ><b>geom</b>: a 
33e0: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20  <b>3D Point</b> 
33f0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3400: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63   Geometry of eac
3410: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c  h House Number.<
3420: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
3430: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69  /u>: also in thi
3440: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61  s case all eleva
3450: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20  tions (<b>Z</b> 
3460: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72  coordinates) wer
3470: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62  e interpolated b
3480: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61  y draping the da
3490: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73  taset over the s
34a0: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65  ame DEM as above
34b0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
34c0: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  2</u>: strictly 
34d0: 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f  speacking the Ho
34e0: 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20  use Numbers are 
34f0: 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20  not part of the 
3500: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68  Road Network; th
3510: 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20  ey are included 
3520: 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65  in the sample/te
3530: 73 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75  st database as u
3540: 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65  seful examples e
3550: 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69  xplained later i
3560: 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69  n this text.</li
3570: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
3580: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f  li>the <b>house_
3590: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61  nr_vw</b> Spatia
35a0: 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20  l View resolves 
35b0: 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72  all relational r
35c0: 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65  eferences betwee
35d0: 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62  n <b>house_nr</b
35e0: 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c  >, <b>roads</b>,
35f0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
3600: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61   and <b>municipa
3610: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73  lities</b>, thus
3620: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61   allowing for ea
3630: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73  sier SQL queries
3640: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
3650: 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e  br>.. <hr>..<h1>
3660: 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22  <a name="create"
3670: 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69  >3 - Creating Vi
3680: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
3690: 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c  les</a></h1>..Al
36a0: 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  l VirtualRouting
36b0: 20 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73   queries are bas
36c0: 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63  ed on a specific
36d0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
36e0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e  ng Table</b>, an
36f0: 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56  d in turn, the V
3700: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
3710: 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20  ble is based on 
3720: 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  a corresponding 
3730: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
3740: 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20  able</b> which, 
3750: 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c  taken togeather,
3760: 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74   is an efficient
3770: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
3780: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  of the underlyin
3790: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
37a0: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66  So we'll start f
37b0: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67  irst by creating
37c0: 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62   these tables.<b
37d0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c  r><br>..The old,
37e0: 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65   and now superse
37f0: 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e  ded, <b>VirtualN
3800: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69  etwork</b> requi
3810: 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 61  red the use of a
3820: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f   separate CLI to
3830: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74  ol (<b>spatialit
3840: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69  e_network</b>) i
3850: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65  n order to prope
3860: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61  rly initialize a
3870: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20   VirtualNetwork 
3880: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f  Table and its co
3890: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44  mpanion Binary D
38a0: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65  ata Table;..alte
38b0: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61  rnatively <b>spa
38c0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
38d0: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47  supported a <b>G
38e0: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f  UI wizard</b> fo
38f0: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e  r the same task.
3900: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c   Since version <
3910: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61  b>5.0.0</b>, Spa
3920: 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f 72 74  tiaLite  support
3930: 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 61  s this functiona
3940: 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c 20 77  lity directly, w
3950: 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 61 74  ith the <b>Creat
3960: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53  eRouting()</b> S
3970: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76  QL function...<v
3980: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
3990: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
39a0: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62  byfoot_data', 'b
39b0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76  yfoot', 'roads_v
39c0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c  w', 'node_from',
39d0: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d   'nodeto', 'geom
39e0: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c  ', NULL);....SEL
39f0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
3a00: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3a10: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20  -------..ToNode 
3a40: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20  Column "nodeto" 
3a50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69  is not defined i
3a60: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c  n the Input Tabl
3a70: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  e..</verbatim>..
3a80: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69  <u>Note</u>: thi
3a90: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62  s first query (b
3aa0: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d  ased on the <i>m
3ab0: 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20  inimal form</i> 
3ac0: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  of <b>CreateRout
3ad0: 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c  ing</b>) <b><i><
3ae0: 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f  u>deliberately</
3af0: 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61  u></i></b> conta
3b00: 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20  ins an intended 
3b10: 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20  error causing a 
3b20: 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 69 73  failure to  rais
3b30: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c  e an exception.<
3b40: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69  br>..CreateRouti
3b50: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f  ng() can fail fo
3b60: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f  r multiple reaso
3b70: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69  ns, and by calli
3b80: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
3b90: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
3ba0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65  ()</b> you can e
3bb0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74  asily identify t
3bc0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20  he exact reason 
3bd0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63  why the most rec
3be0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61  ent call to Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c  teRouting() fail
3c00: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  ed.<br>..<verbat
3c10: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
3c20: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f  teRouting('byfoo
3c30: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74  t_data', 'byfoot
3c40: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
3c50: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
3c60: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  e_to', 'geom', N
3c70: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  ULL, 'toponym', 
3c80: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  1, 1);..--------
3c90: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45  -----..1....SELE
3ca0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
3cb0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b  _GetLastError();
3cc0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3ce0: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f  ------..NULL..</
3cf0: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20  verbatim>..This 
3d00: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77  second attempt w
3d10: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74  ill succeed, wit
3d20: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  h CreateRouting(
3d30: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31  ) returning <b>1
3d40: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
3d50: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61   <b>TRUE</b>), a
3d60: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61  nd as you can ea
3d70: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74  sily check now t
3d80: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74  he Database cont
3d90: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62  ains two new Tab
3da0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f  les: <b>byfoot</
3db0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74  b> and <b>byfoot
3dc0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  _data</b>.<br>..
3dd0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74  <u>Note</u>: aft
3de0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20  er a successful 
3df0: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f  call to CreateRo
3e00: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74  uting() <b>Creat
3e10: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74  eRouting_GetLast
3e20: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c  Error()</b> will
3e30: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c   always return <
3e40: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c  b>NULL</b>.<br><
3e50: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c  br>..Let's look,
3e60: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c   in more detail,
3e70: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d   of the <i>minim
3e80: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43  al form</i> of C
3e90: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20  reateRouting(); 
3ea0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20  and the meaning 
3eb0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74  of each argument
3ec0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e  :..<ol>..<li><i>
3ed0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a  byfoot_data</i>:
3ee0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
3ef0: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 20   Network Binary 
3f00: 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 62 65  Data Table to be
3f10: 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a   created.</li>..
3f20: 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69  <li><i>byfoot</i
3f30: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  >: the name of t
3f40: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
3f50: 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72  g Table to be cr
3f60: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eated.</li>..<li
3f70: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e  ><i>roads_vw</i>
3f80: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  : the name of th
3f90: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62  e <b>Spatial Tab
3fa0: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61  le</b> or <b>Spa
3fb0: 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65  tial View</b> re
3fc0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75  presenting the u
3fd0: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72  nderlying Networ
3fe0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  k.<br>..<u>Note<
3ff0: 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73  /u>: in this cas
4000: 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73  e we actually us
4010: 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65  ed a Spatial Vie
4020: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  w.</li>..<li><i>
4030: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
4040: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
4050: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4060: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4070: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4080: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c  in <b>node-from<
4090: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e  /b> values.</li>
40a0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f  ..<li><i>node_to
40b0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  </i>: name of th
40c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65  e column (in the
40d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20   above Table or 
40e0: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74  View) expected t
40f0: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64  o contain <b>nod
4100: 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e  e-to</b> values.
4110: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65  </li>..<li><i>ge
4120: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  om</i>: name of 
4130: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
4140: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
4150: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
4160: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c   to contain <b>L
4170: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c  inestrings</b>.<
4180: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65  br>..In the case
4190: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c   of a <b>Logical
41a0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20   Network</b>: a 
41b0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f   <b>NULL</b> sho
41c0: 75 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c  uld be passed..<
41d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c  /li>..<li><i>NUL
41e0: 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  L</i>: name of t
41f0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
4200: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
4210: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
4220: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f  to contain <b>co
4230: 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62  st</b> values.<b
4240: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65  r>..In this case
4250: 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20   we have passed 
4260: 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61  a <b>NULL</b> va
4270: 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  lue, and consequ
4280: 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73  ently the <b>cos
4290: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69  t</b> of each Li
42a0: 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  nk will be assum
42b0: 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65  ed to be represe
42c0: 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67  nted by the <b>g
42d0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
42e0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65  /b> of the corre
42f0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72  sponding Linestr
4300: 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ing.<br>..<u>Not
4310: 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65  e #1</u>: in the
4320: 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b   case of Network
4330: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f  s based on <b>lo
4340: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64  ngitudes</b> and
4350: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62   <b>latitudes</b
4360: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
4370: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20  >geographic</b> 
4380: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
4390: 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20  s) the geometry 
43a0: 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69  length of all Li
43b0: 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62  nestrings will b
43c0: 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d  e precisely <b>m
43d0: 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65  easured on the e
43e0: 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20  llipsoid</b> by 
43f0: 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73  applying the mos
4400: 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65  t accurate <b>ge
4410: 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c  odesic formulas<
4420: 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e  /b> and will con
4430: 73 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70  sequently be exp
4440: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74  ressed in <b>met
4450: 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20  ers</b>. In any 
4460: 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70  other case (<b>p
4470: 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66  rojected</b> Ref
4480: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20  erence Systems) 
4490: 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20  lengths will be 
44a0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65  expressed in the
44b0: 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74   <b>measure unit
44c0: 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20  </b> defined by 
44d0: 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79  the Reference Sy
44e0: 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65  stem (e.g. <b>me
44f0: 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e  ters</b> for <b>
4500: 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69  UTM</b> projecti
4510: 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c  ons and <b>feet<
4520: 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66  /b> for <b>NAD-f
4530: 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e  t</b> projection
4540: 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  s).<br>..<u>Note
4550: 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e   #2</u>: the <b>
4560: 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20  geom-column</b> 
4570: 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75  and <b>cost-colu
4580: 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73  mn</b> arguments
4590: 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77   are never allow
45a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c  ed to be <b>NULL
45b0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65  </b> at the same
45c0: 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   time.</li>..<li
45d0: 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a  ><i>toponym</i>:
45e0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
45f0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
4600: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
4610: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
4620: 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d  tain <b>road-nam
4630: 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72  e</b> values.<br
4640: 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c  >..It could be l
4650: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
4660: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  to <b>NULL</b> i
4670: 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20  f all Links are 
4680: 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d  anonymous.</li>.
4690: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61  .<li><i>1</i>: a
46a0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e   boolean flag in
46b0: 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66  tended to specif
46c0: 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b  y if the Network
46d0: 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68   must support th
46e0: 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68  e <b>A* algorith
46f0: 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65  m</b> or not (se
4700: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  t to <b>TRUE</b>
4710: 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c   by default).</l
4720: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
4730: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67  : a boolean flag
4740: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65   intended to spe
4750: 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77  cify if all Netw
4760: 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20  ork's Links are 
4770: 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62  assumed to be <b
4780: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  >bidirectional</
4790: 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d  b> or not (assum
47a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45  ed to be <b>TRUE
47b0: 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29  </b> by default)
47c0: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a  .</li> ..</ol>..
47d0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
47e0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
47f0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
4800: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
4810: 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61  d>..<h3>Technica
4820: 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65  l note</h3>..The
4830: 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69   internal encodi
4840: 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68  ng adopted by th
4850: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61  e <b>Binary Data
4860: 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e   Table</b> is un
4870: 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74  changed and is t
4880: 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68  he same for both
4890: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
48a0: 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72  k</b> and <b>Vir
48b0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e  tualRouting</b>.
48c0: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61  <br>..You can sa
48d0: 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56  fely base a <b>V
48e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
48f0: 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65  ble</b> on any e
4900: 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44  xisting Binary D
4910: 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74  ata..Table creat
4920: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61  ed by the <b>spa
4930: 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c  tialite-network<
4940: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78  /b> CLI tool, ex
4950: 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e  actly as you can
4960: 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75   base a <b>Virtu
4970: 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c  alNetwork Table<
4980: 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72  /b> on any Binar
4990: 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65  y Data Table cre
49a0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43  ated by the <b>C
49b0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
49c0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e  b> SQL function.
49d0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52  ..<verbatim>..CR
49e0: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
49f0: 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20  LE test_network 
4a00: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74  USING VirtualNet
4a10: 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f  work('some_data_
4a20: 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41  table');....CREA
4a30: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
4a40: 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53   test_routing US
4a50: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ING VirtualRouti
4a60: 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61  ng('some_data_ta
4a70: 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74  ble');..</verbat
4a80: 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f  im>..In order to
4a90: 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65   manually create
4aa0: 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61   your Virtual Ta
4ab0: 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61  bles you just ha
4ac0: 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e  ve to execute an
4ad0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e   appropriate <b>
4ae0: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
4af0: 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56  ABLE ... USING V
4b00: 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c  irtual... (...)<
4b10: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a  /b> statement...
4b20: 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e  <h4>Warning</h4>
4b30: 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66  ..In the case of
4b40: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77   <b>Spatial Netw
4b50: 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f  orks</b> based o
4b60: 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70  n any <b>geograp
4b70: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
4b80: 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20  e System (using 
4b90: 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62  <b>longitudes</b
4ba0: 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64  > and <b>latitud
4bb0: 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73  es</b>) there is
4bc0: 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69   an important di
4bd0: 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e  fference between
4be0: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
4bf0: 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74  les created by t
4c00: 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  he <b>spatialite
4c10: 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49  _network</b> GUI
4c20: 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72   tool and  Binar
4c30: 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72  y Data Tables cr
4c40: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  eated by the <b>
4c50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
4c60: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
4c70: 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f   when <b>costs</
4c80: 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c  b> are implicitl
4c90: 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67  y based on the g
4ca0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20  eometric length 
4cb0: 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69  of the Link's Li
4cc0: 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d  nestring:..<ul>.
4cd0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74  .<li>the <b>spat
4ce0: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f  ialite_network</
4cf0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64  b> CLI tool (and
4d00: 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61   the <b>GUI wiza
4d10: 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74  rd</b> implement
4d20: 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76  ed by previous v
4d30: 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70  ersions of <b>sp
4d40: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
4d50: 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69  ) compute the Li
4d60: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74  nestring's lengt
4d70: 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c  h as an <b>angul
4d80: 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20  ar distance</b> 
4d90: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
4da0: 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69  degrees</b>.</li
4db0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72  >..<li>the <b>Cr
4dc0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62  eateRouting()</b
4dd0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63  > SQL function c
4de0: 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65  omputes the Line
4df0: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20  string's length 
4e00: 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64  as a <b>linear d
4e10: 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72  istance</b> expr
4e20: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72  essed in <b>metr
4e30: 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69  es</b> by applyi
4e40: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75  ng the most accu
4e50: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63  rate <b>geodesic
4e60: 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 6f 6e   formulas</b> on
4e70: 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c   the ellipsoid.<
4e80: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74  /li>..</ul>..</t
4e90: 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c  d></tr></table><
4ea0: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  br><br>..<verbat
4eb0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
4ec0: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72  teRouting('bycar
4ed0: 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c  _data', 'bycar',
4ee0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f   'roads_vw', 'no
4ef0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f  de_from', 'node_
4f00: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f  to', 'geom', 'co
4f10: 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  st', 'toponym', 
4f20: 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72  1, 1, 'oneway_fr
4f30: 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74  omto', 'oneway_t
4f40: 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d  ofrom', 0);..---
4f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f60: 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  -..1..</verbatim
4f70: 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67  >..After calling
4f80: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
4f90: 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 74 6c  g()</b> correctl
4fa0: 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 73 65  y,  the Database
4fb0: 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 75   contains two fu
4fc0: 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c 62  rther Tables: <b
4fd0: 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 3c  >bycar</b> and <
4fe0: 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 3e  b>bycar_data</b>
4ff0: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65  .<br>..This time
5000: 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 65   you've used the
5010: 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f 72   <i>complete for
5020: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52  m</i> of CreateR
5030: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20  outing(); let's 
5040: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74  see in more dept
5050: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65  h all the argume
5060: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65  nts and their me
5070: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  aning:..<ol>..<l
5080: 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 3c  i><i>bycar_data<
5090: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f  /i>: same as abo
50a0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  ve.</li>..<li><i
50b0: 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d 65  >bycar</i>: same
50c0: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
50d0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77  .<li><i>roads_vw
50e0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
50f0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
5100: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a  i>node_from</i>:
5110: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
5120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
5130: 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 61  e_to</i>: same a
5140: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c  s above.</li>..<
5150: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
5160: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f  same as above.</
5170: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74  li>..<li><i>cost
5180: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
5190: 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 61  ove...In this ca
51a0: 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 72  se we have refer
51b0: 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 70  enced a column p
51c0: 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 61  reloaded with va
51d0: 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69  lues correspondi
51e0: 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 6d  ng to the <b>tim
51f0: 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 69  e</b> measured i
5200: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e  n <b>seconds</b>
5210: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
5220: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e  verse each Link.
5230: 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74  </li> ..<li><i>t
5240: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65  oponym</i>: same
5250: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
5260: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73  .<li><i>1</i>: s
5270: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69  ame as above (<i
5280: 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e 29  >A* enabled</i>)
5290: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31  .</li>..<li><i>1
52a0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
52b0: 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 74  ove (<i>bidirect
52c0: 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29  ional Links</i>)
52d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f  .</li>..<li><i>o
52e0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e  neway_fromto</i>
52f0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
5300: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f  lumn (in the abo
5310: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77  ve Table or View
5320: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  ) expected to co
5330: 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c  ntain boolean fl
5340: 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69  ags specifying i
5350: 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20  f each Link can 
5360: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
5370: 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  the <b>from-to</
5380: 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20  b> direction or 
5390: 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  not.</li>..<li><
53a0: 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c  i>oneway_tofrom<
53b0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
53c0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
53d0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
53e0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
53f0: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e   contain boolean
5400: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e   flags specifyin
5410: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63  g if each Link c
5420: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
5430: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 6f  in the <b>to-fro
5440: 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20  m</b> direction 
5450: 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e  or not.<br>..<u>
5460: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f 74  Note #1</u>: bot
5470: 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e  h <b>from-to</b>
5480: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c   and <b>to-from<
5490: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73  /b> column names
54a0: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61   can be legitima
54b0: 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e 4e  tely set as <b>N
54c0: 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c 62  ULL</b> if no <b
54d0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73  >one-way</b> res
54e0: 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 20  trictions apply 
54f0: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 4e  to the current N
5500: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e  etwork.<br>..<u>
5510: 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 74  Note #2</u>: Net
5520: 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 3e  works of the <b>
5530: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
5540: 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 65  b> type are neve
5550: 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 66  r enabled to ref
5560: 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 61  erence <b>one-wa
5570: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 74  y</b> columns (t
5580: 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 79  hey should alway
5590: 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e 4e  s be set to <b>N
55a0: 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ULL</b>).</li>..
55b0: 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20  <li><i>0</i>: a 
55c0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74  boolean flag int
55d0: 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 65  ending an <b>ove
55e0: 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a 61  rwrite authoriza
55f0: 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d  tion</b>...<ul>.
5600: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c  .<li>If set to <
5610: 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 65  b>FALSE</b> an e
5620: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65  xception will be
5630: 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 3c   raised if the <
5640: 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  b>Binary Data Ta
5650: 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 74  ble</b> and/or t
5660: 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75  he <b>VirtualRou
5670: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 61  ting Table</b> a
5680: 6c 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c  lready exist.</l
5690: 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74  i>..<li>If set t
56a0: 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76  o <b>TRUE</b> ev
56b0: 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e  entually existin
56c0: 67 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65  g Tables will be
56d0: 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 72 6f 72  , to avoid error
56e0: 73 2c 20 64 72 6f 70 70 65 64 20 62 65 66 6f 72  s, dropped befor
56f0: 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 65  e starting the e
5700: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43  xecution of <b>C
5710: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
5720: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  b>.</li>..</ul><
5730: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72  /li>..</ol>..<br
5740: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
5750: 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c  r="#ffffc0" cell
5760: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
5770: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
5780: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c  ><td>..<h3>Highl
5790: 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20  ight: where you 
57a0: 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65  are</h3>..You've
57b0: 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74 77   just created tw
57c0: 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  o VirtualRouting
57d0: 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e   Tables based on
57e0: 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69   different setti
57f0: 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61  ngs; both them a
5800: 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c  re perfectly val
5810: 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c  id and reasonabl
5820: 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20  e, but they are 
5830: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66  intended for dif
5840: 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a  ferent purposes:
5850: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62  ..<ul>..<li><b>b
5860: 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65  yfoot</b> is spe
5870: 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64  cifically intend
5880: 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74  ed for <b>pedest
5890: 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e  rians</b>:..<ul>
58a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20  ..<li>all Links 
58b0: 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d  are always assum
58c0: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69  ed to be accessi
58d0: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64  ble in <b>both d
58e0: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74  irections</b>; t
58f0: 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f  here are no <b>o
5900: 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20  ne-ways</b> and 
5910: 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c  no <b>forbidden<
5920: 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d  /b> Links.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74  .<li>the <b>cost
5940: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
5950: 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72 65  k is directly re
5960: 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74 73  presented by its
5970: 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65   geometric <b>le
5980: 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20  ngth</b>, which 
5990: 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69  is consistent wi
59a0: 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f  th the assumptio
59b0: 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63  n of an almost c
59c0: 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73 75  onstant speed su
59d0: 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75  bstantially immu
59e0: 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20  ne from adverse 
59f0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20  road conditions 
5a00: 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67  and traffic cong
5a10: 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  estion.</li>..</
5a20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
5a30: 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70  >bycar</b> is sp
5a40: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e  ecifically inten
5a50: 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72  ded for <b>motor
5a60: 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a   vehicles</b>:..
5a70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c  <ul>..<li>many L
5a80: 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74 65  inks are expecte
5a90: 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62  d to be accessib
5aa0: 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69  le in <b>both di
5ab0: 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74  rections</b> but
5ac0: 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61   others could ea
5ad0: 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20  sily be subject 
5ae0: 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  to <b>one-way</b
5af0: 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f  > restrictions o
5b00: 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65  r even be comple
5b10: 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65  tely <b>forbidde
5b20: 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  n</b>.</li>..<li
5b30: 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63  >the cost of eac
5b40: 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73  h Link is expres
5b50: 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61  sed as an estima
5b60: 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69  ted <b>travel ti
5b70: 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20  me</b>, because 
5b80: 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70 65  the expected spe
5b90: 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20  eds can greatly 
5ba0: 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79  vary accordingly
5bb0: 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61   to specific roa
5bc0: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72  d conditions, tr
5bd0: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e  affic congestion
5be0: 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c   and legal regul
5bf0: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ations.</li>..</
5c00: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ul></li>..</ul>.
5c10: 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75  .<br>..<u>Conclu
5c20: 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67  sion</u>: a sing
5c30: 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  le VirtualRoutin
5c40: 67 20 54 61 62 6c 65 20 63 61 6e 6e 6f 74 20 61  g Table cannot a
5c50: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72  dequately suppor
5c60: 74 20 61 6c 6c 20 72 65 71 75 69 72 65 6d 65 6e  t all requiremen
5c70: 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69  ts and expectati
5c80: 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74  ons of different
5c90: 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66   users.<br>..Def
5ca0: 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69  ining more Routi
5cb0: 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64  ng Tables with d
5cc0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67  ifferent setting
5cd0: 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e  s for the same N
5ce0: 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69  etwork usually i
5cf0: 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20  s a good design 
5d00: 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74  choice leading t
5d10: 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63  o more realistic
5d20: 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c   results.<br>..<
5d30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
5d40: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  le>..<br><br>..<
5d50: 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74  h3>Utility funct
5d60: 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69  ion for automati
5d70: 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f  cally setting No
5d80: 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54  deFrom and NodeT
5d90: 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 74 20 63  o IDs</h3>..It c
5da0: 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 68 61 74  ould happen that
5db0: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65   a <b>Spatial Ne
5dc0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73  twork</b> repres
5dd0: 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 6f 70 6f  entation is topo
5de0: 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73  logically consis
5df0: 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d 70 6c 65  tent, but comple
5e00: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 6f 66 20  tely lacking of 
5e10: 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  any <b>NodeFrom<
5e20: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
5e30: 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e  o</b> definition
5e40: 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 20  s.<br>..In such 
5e50: 61 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73  a case you can s
5e60: 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 62 75  uccessfully rebu
5e70: 69 6c 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20  ild the missing 
5e80: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f   NodeFrom and No
5e90: 64 65 54 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73  deTo definitions
5ea0: 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 4e 65   from a valid Ne
5eb0: 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67  twork by calling
5ec0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
5ed0: 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e  utingNodes()</b>
5ee0: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a   SQL function...
5ef0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
5f00: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
5f10: 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62  Nodes(NULL, 'tab
5f20: 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27  le_name', 'geom'
5f30: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27  , 'node_from', '
5f40: 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f  node_to');..____
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5f60: 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62  _____..1..</verb
5f70: 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61  atim>..Let's exa
5f80: 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e  mine all argumen
5f90: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61  ts and their mea
5fa0: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  ning:..<ol>..<li
5fb0: 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61  ><i>NULL</i>: na
5fc0: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74  me of the <b>Att
5fd0: 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e  ached-DB</b> con
5fe0: 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74  taining the Spat
5ff0: 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a  ial Table.<br>..
6000: 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69  It can be legiti
6010: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62  mately set to <b
6020: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69  >NULL</b>, and i
6030: 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20  n this case the 
6040: 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69  <b>MAIN</b> DB i
6050: 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d  s assumed.</li>.
6060: 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61  .<li><i>table_na
6070: 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  me</i>: name of 
6080: 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c  the Spatial Tabl
6090: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  e.</li>..<li><i>
60a0: 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20  geom</li>: name 
60b0: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28  of the column ((
60c0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
60d0: 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c  le) containing <
60e0: 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62  b>Linestrings</b
60f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  >.</li>..<li><i>
6100: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
6110: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
6120: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
6130: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
6140: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
6150: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
6160: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
6170: 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  IDs.</li>..<li><
6180: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e  i>node_to</i>: n
6190: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
61a0: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
61b0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
61c0: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
61d0: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
61e0: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44  <b>NodeTo</b> ID
61f0: 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  s.<br>..<u>Note<
6200: 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64  /u>: both <b>Nod
6210: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  eFrom</b> and <b
6220: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75  >NodeTo</b> colu
6230: 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62  mns should not b
6240: 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65  e already define
6250: 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54  d in the above T
6260: 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  able.</li>..</ol
6270: 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  >..<b>CreateRout
6280: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77  ingNodes()</b> w
6290: 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c  ill return <b>1<
62a0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  /b> (<i>aka</i> 
62b0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20  <b>TRUE</b>) on 
62c0: 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65  success; an exce
62d0: 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61  ption will be ra
62e0: 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e  ised on failure.
62f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
6300: 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20  >: you can call 
6310: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
6320: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c  _GetLastError()<
6330: 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73  /b> so to precis
6340: 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65  ely identify the
6350: 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e   cause accountin
6360: 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62  g for failure.<b
6370: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  r><br><br>..<tab
6380: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
6390: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
63a0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
63b0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
63c0: 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e  <h3>Handling dyn
63d0: 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68  amic Networks</h
63e0: 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 63 6f  3>..A Network co
63f0: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74  uld be subject t
6400: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e  o rather frequen
6410: 74 20 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20  t changes, such 
6420: 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6e  as:..<ul>..<li>n
6430: 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 20 74 6f  ew Links need to
6440: 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c 69 3e 0d   be added.</li>.
6450: 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 20 4c 69  .<li>obsolete Li
6460: 6e 6b 73 20 61 72 65 20 72 65 71 75 69 72 65 64  nks are required
6470: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 3c   to be removed.<
6480: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 20  /li>..<li>other 
6490: 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 65 69 76  Links may receiv
64a0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f  e a different Co
64b0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e  st.</li>..<li>on
64c0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20  e-ways could be 
64d0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69  reversed, the di
64e0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65  scipline of pede
64f0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75  strian areas cou
6500: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61  ld be modified a
6510: 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  nd so on.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 3e 0d 0a  </ul></li><br>..
6530: 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  A VirtualRouting
6540: 20 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73   Table is always
6550: 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70   based on a comp
6560: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74  anion Binary Dat
6570: 61 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73  a Table, that is
6580: 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c   intrinsically <
6590: 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e  b>static</b>, an
65a0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79  d consequently y
65b0: 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20  ou are required 
65c0: 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74  to re-create bot
65d0: 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d 20 74  h of them from t
65e0: 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 6f  ime to time in o
65f0: 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 20  rder to support 
6600: 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e 67  all recent chang
6610: 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 65  es affecting the
6620: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
6630: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f  work.<br>..The o
6640: 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 79  ptimal frequency
6650: 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68   for the refresh
6660: 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 20 52  ing of the the R
6670: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 64 65  outing Tables de
6680: 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c 79 20  pends  strictly 
6690: 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20  on the specific 
66a0: 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75  requirements, bu
66b0: 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 65 72  t these two over
66c0: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61  all approaches a
66d0: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70  re commonly adop
66e0: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ted:..<ol>..<li>
66f0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79  <b>low frequency
6700: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
6710: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c  st fit for slowl
6720: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f  y evolving Netwo
6730: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  rks.<br>..In thi
6740: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69  s case re-creati
6750: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54  ng the Network T
6760: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e  ables once a mon
6770: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20  th / week / day 
6780: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61  could be reasona
6790: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63  bly enough...Rec
67a0: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c  reating the Tabl
67b0: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20  es from scratch 
67c0: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73  usually requires
67d0: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73   several seconds
67e0: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20   (or even less, 
67f0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65  depending on the
6800: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73   number of Links
6810: 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 69 6f  ).<br>..An optio
6820: 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 74 69  nal refresh acti
6830: 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 70 6c  vity could be pl
6840: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61  anned at low tra
6850: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e  ffic hours (e.g.
6860: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68   during the nigh
6870: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74  t), and <b>Creat
6880: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63  eRouting()</b> c
6890: 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e 61 6c  ould be optional
68a0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61  ly called by ena
68b0: 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 77 72  bling the overwr
68c0: 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e  ite option.</li>
68d0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d  ..<li><b>medium-
68e0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72  high frequency r
68f0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74  efresh</b>: best
6900: 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 6c 79   fit for swiftly
6910: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72   evolving Networ
6920: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61  ks.<br>..Re-crea
6930: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6940: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72   Tables once per
6950: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d   hour (or even m
6960: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20  ore frequently) 
6970: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c  could be strictl
6980: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20  y required, and 
6990: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20  frequent <b>out 
69a0: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70  of service</b> p
69b0: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69  eriods while wai
69c0: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66  ting for the ref
69d0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20  resh process to 
69e0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65  complete could e
69f0: 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 6e 61  asily become una
6a00: 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a  cceptable.<br>..
6a10: 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 79 6f  In such cases yo
6a20: 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 61 20  u could adopt a 
6a30: 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65  <b>multi-threade
6a40: 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d  d strategy</b>:.
6a50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68  .<ul>..<li><b>th
6a60: 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e  read #1</b> (<i>
6a70: 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a  the reader</i>):
6a80: 20 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65   this first thre
6a90: 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  ad is intended t
6aa0: 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e  o service any in
6ab0: 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72  coming Routing r
6ac0: 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20  equest. It will 
6ad0: 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65  be always active
6ae0: 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65  , and will targe
6af0: 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56  t a well known V
6b00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
6b10: 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f  ble (e.g. <b>my_
6b20: 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65  routing</b> base
6b30: 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69  d on <b>my_routi
6b40: 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c  ng_data</b>).</l
6b50: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61  i>..<li><b>threa
6b60: 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65  d #2</b> (<i>the
6b70: 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68   writer</i>): th
6b80: 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64  is second thread
6b90: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65   is just intende
6ba0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62  d to re-create b
6bb0: 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c  oth Network Tabl
6bc0: 65 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64  es at predefined
6bd0: 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20   intervals, and 
6be0: 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 74 68  it will sleep th
6bf0: 65 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e  e next interval.
6c00: 3c 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e  <br>..At each in
6c10: 74 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66  terval a copy of
6c20: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6c30: 62 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61  bles, will be ma
6c40: 64 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d  de and, when com
6c50: 70 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76  pleated, will ov
6c60: 65 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67  erwrite the orig
6c70: 69 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74  inal Tables (act
6c80: 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68  ivating a semaph
6c90: 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20  ore during this 
6ca0: 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74  short-timed last
6cb0: 20 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20   step is highly 
6cc0: 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72  recommended).<br
6cd0: 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b  >..Something lik
6ce0: 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f  e this pseudo-co
6cf0: 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d  de exemplifies:.
6d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
6d10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
6d20: 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  g('new_my_routin
6d30: 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79  g_data', 'new_my
6d40: 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b  _routing', ...);
6d50: 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68  ....--> start th
6d60: 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74  e semaphore so t
6d70: 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72  o lock the other
6d80: 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e   thread....BEGIN
6d90: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6da0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20  _routing;..DROP 
6db0: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6dc0: 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43  _data;..SELECT C
6dd0: 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27  loneTable('MAIN'
6de0: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  , 'new_my_routin
6df0: 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75  g_data', 'my_rou
6e00: 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d  ting_data', 0);.
6e10: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
6e20: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6e30: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f   USING VirtualRo
6e40: 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e  uting('my_routin
6e50: 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20  g_data');..DROP 
6e60: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75  TABLE new_my_rou
6e70: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c  ting;..DROP TABL
6e80: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67  E new_my_routing
6e90: 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d  _data;..COMMIT;.
6ea0: 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68  ...--> remove th
6eb0: 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76  e semaphore..</v
6ec0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74  erbatim>..<u>Not
6ed0: 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  e</u>: strictly 
6ee0: 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61  respecting the a
6ef0: 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66  bove sequence of
6f00: 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20   SQL operations 
6f10: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65  is absolutely re
6f20: 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c  quired.</li> ..<
6f30: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  /ul></li>..</ol>
6f40: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
6f50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  table>..<br>..<t
6f60: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
6f70: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
6f80: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
6f90: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
6fa0: 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68  ..<h3>Warning: h
6fb0: 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  ow to correctly 
6fc0: 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62  drop Network Tab
6fd0: 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64  les</h3>..When d
6fe0: 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61  ropping a Virtua
6ff0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 61  lRouting Table a
7000: 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e  nd its companion
7010: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
7020: 6c 65 20 73 74 72 69 63 74 6c 79 20 72 65 73 70  le strictly resp
7030: 65 63 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65  ecting the corre
7040: 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53  ct sequence of S
7050: 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65  QL commands is e
7060: 73 73 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46  ssential.<br>..F
7070: 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74  ailing to strict
7080: 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 65  ly respect the e
7090: 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65  xpected sequence
70a0: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75   will surely cau
70b0: 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74  se you several t
70c0: 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65  roubles and seve
70d0: 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e  re headaches, an
70e0: 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20  d will possibly 
70f0: 6c 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65  lead to a comple
7100: 74 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64  tely corrupted d
7110: 61 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d  atabase....<ol>.
7120: 0a 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20  .<li>first DROP 
7130: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  the VirtualRouti
7140: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ng Table.</li>..
7150: 3c 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f  <li>the companio
7160: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  n Binary Data Ta
7170: 62 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20  ble can only be 
7180: 73 61 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66  safely DROPed af
7190: 74 65 72 20 74 68 65 20 56 69 72 74 75 61 6c 52  ter the VirtualR
71a0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73  outing Table has
71b0: 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f   been removed.</
71c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77  li>..<li><u>Be w
71d0: 61 72 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f  arned</u>: if yo
71e0: 75 20 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72  u DROP the Binar
71f0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 69 72  y Data Table fir
7200: 73 74 2c 20 74 68 65 20 56 69 72 74 75 61 6c 52  st, the VirtualR
7210: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 77 69 6c  outing Table wil
7220: 6c 20 62 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64  l be <b>orphaned
7230: 3c 2f 62 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20  </b> and can no 
7240: 6c 6f 6e 67 65 72 20 62 65 20 44 52 4f 50 65 64  longer be DROPed
7250: 20 21 3c 62 72 3e 0d 0a 3c 62 3e 42 65 20 77 61   !<br>..<b>Be wa
7260: 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 3e  rned !!</b></li>
7270: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f  ..</ol>..</td></
7280: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7290: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
72a0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
72b0: 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c  from_to">4 - Sol
72c0: 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 6f  ving classic Sho
72d0: 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c  rtest Path probl
72e0: 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68  ems</a></h1>..Th
72f0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 53  e most classic S
7300: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
7310: 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f  blem requires to
7320: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70   identify the op
7330: 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e  timal connection
7340: 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f   between an <b>O
7350: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
7360: 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 74  nd a <b>Destinat
7370: 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72  ion Node</b>.<br
7380: 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c 79  >..We can easily
7390: 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 20   translate such 
73a0: 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61  a problem into a
73b0: 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 72   simple SQL quer
73c0: 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d 65  y targeting some
73d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
73e0: 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69  Table...<verbati
73f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46  m>..SELECT * ..F
7400: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
7410: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
7420: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
7430: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
7440: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  atim>..<table bo
7450: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
7460: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
7470: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
7480: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
7490: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
74a0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
74b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
74c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
74d0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
74e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
74f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
7500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
7510: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
7520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7530: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
7540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
7560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
7580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
75a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
75b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
75c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
75d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
75e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
75f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
7600: 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  ointFrom</th><th
7610: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7620: 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c  0">PointTo</th><
7630: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7640: 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f  0a0">Tolerance</
7650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7660: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
7670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7680: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
7690: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
76a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
76b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
76c0: 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
76d0: 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50  d><td>Shortest P
76e0: 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c  ath</td><td>Full
76f0: 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
7700: 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
7710: 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
7720: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
7750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
7760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7770: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
7780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7790: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
77a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
77b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
77c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
77d0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
77e0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
77f0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
7800: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
7810: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7860: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
7880: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
7890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
78a0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
78b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
78c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
78d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
78e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
78f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
7920: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
7930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
7940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
7950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
7960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
7970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
79a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
79c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
79d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
79e0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
79f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7a00: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
7a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7a20: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e  >178880</td><td>
7a30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7a40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7a50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7a60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
7a70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7a80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
7a90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
7aa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
7ab0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7ad0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
7ae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7b00: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
7b10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
7b20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
7b30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7b40: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
7b50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7b60: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
7b70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7b80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7b90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
7ba0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
7bb0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
7bc0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
7bd0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
7be0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7bf0: 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b  br>..Let's quick
7c00: 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
7c10: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
7c20: 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 52  d by the above R
7c30: 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c  outing query:..<
7c40: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  ul>..<li>the <b>
7c50: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c  first row</b> (<
7c60: 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72  i>aka</i> header
7c70: 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 63   row) has a spec
7c80: 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69  ial interpretati
7c90: 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e  on, and is inten
7ca0: 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65  ded to summarize
7cb0: 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75   the travel solu
7cc0: 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
7cd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74  </li>..<li>all t
7ce0: 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20  he <b>following 
7cf0: 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 65  rows</b> represe
7d00: 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b  nt a single Link
7d10: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69   required to bui
7d20: 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20  ld the solution 
7d30: 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 4c  (optima path); L
7d40: 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64  inks are ordered
7d50: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
7d60: 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 63  the travel direc
7d70: 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20  tion connecting 
7d80: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74  the Origin and t
7d90: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c  he Destination.<
7da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
7db0: 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  s <b>Algorithm</
7dc0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f  b>, <b>Request</
7dd0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  b>, <b>Options</
7de0: 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72  b>, <b>Delimiter
7df0: 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72  </b>, <b>PointFr
7e00: 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  om</b>, <b>Point
7e10: 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72  To</b>, <b>Toler
7e20: 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ance</b> and <b>
7e30: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65  Geometry</b> are
7e40: 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c   always set to <
7e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70  b>NULL</b> excep
7e60: 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 66 69  t that in the fi
7e70: 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72  rst row of the r
7e80: 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d  esultset:..<ul>.
7e90: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41  .<li>column <b>A
7ea0: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63  lgorithm</b> acc
7eb0: 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 52 6f  ounts for the Ro
7ec0: 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20  uting Algorithm 
7ed0: 75 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72  used by the curr
7ee0: 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e 44 69  ent query (<i>Di
7ef0: 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20  jkstra's</i> or 
7f00: 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e  <i>A*</i>).</li>
7f10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
7f20: 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 65 63  Request</b> spec
7f30: 69 66 69 65 73 20 74 68 65 20 65 78 61 63 74 20  ifies the exact 
7f40: 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 63 75  nature of the cu
7f50: 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 6e 20  rrent query (in 
7f60: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61  this specific ca
7f70: 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 20 50  se <i>Shortest P
7f80: 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ath</i>).</li>..
7f90: 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65  <li>we'll ignore
7fa0: 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 73   for now columns
7fb0: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c   <b>Options</b>,
7fc0: 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62   <b>Delimiter</b
7fd0: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c  >, <b>PointFrom<
7fe0: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c  /b>, <b>PointTo<
7ff0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72  /b> and <b>Toler
8000: 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 69 72 20  ance</b>: their 
8010: 72 65 73 70 65 63 74 69 76 65 20 6d 65 61 6e 69  respective meani
8020: 6e 67 73 20 77 69 6c 6c 20 62 65 20 65 78 70 6c  ngs will be expl
8030: 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69  ained in followi
8040: 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f  ng paragraphs.</
8050: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
8060: 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20  <b>Geometry</b> 
8070: 63 6f 6e 74 61 69 6e 73 20 61 20 3c 62 3e 4c 49  contains a <b>LI
8080: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 72 65 70  NESTRING</b> rep
8090: 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74  resentation of t
80a0: 68 65 20 77 68 6f 6c 65 20 74 72 61 76 65 6c 20  he whole travel 
80b0: 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c  solution.<br>..<
80c0: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6f 6e 20 3c  u>Note</u>: on <
80d0: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72  b>Logical Networ
80e0: 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 73 75 70 70  ks</b> (not supp
80f0: 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 69 65  orting Geometrie
8100: 73 29 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f  s) <b>Geometry</
8110: 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62  b> will always b
8120: 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f  e <b>NULL</b>.</
8130: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
8140: 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72  .<li>we'll ignor
8150: 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e  e for now column
8160: 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 3b   <b>RouteId</b>;
8170: 20 69 74 73 20 6d 65 61 6e 69 6e 67 20 77 69 6c   its meaning wil
8180: 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69  l be explained i
8190: 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61  n following para
81a0: 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  graphs.</li>..<l
81b0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74  i>column <b>Rout
81c0: 65 52 6f 77 3c 2f 62 3e 20 73 69 6d 70 6c 79 20  eRow</b> simply 
81d0: 69 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 69  is the progressi
81e0: 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65  ve number of the
81f0: 20 72 6f 77 20 69 6e 20 74 68 65 20 74 72 61 76   row in the trav
8200: 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 61 6c 77  el solution (alw
8210: 61 79 73 20 3c 62 3e 30 3c 2f 62 3e 20 69 6e 20  ays <b>0</b> in 
8220: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e  the header row).
8230: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
8240: 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 61  n <b>Role</b> ca
8250: 6e 20 62 65 20 3c 69 3e 52 6f 75 74 65 3c 2f 69  n be <i>Route</i
8260: 3e 20 28 68 65 61 64 65 72 20 72 6f 77 29 20 6f  > (header row) o
8270: 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 3e 20 28 61  r <i>Link</i> (a
8280: 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77  ll following row
8290: 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  s).</li>..<li>co
82a0: 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69  lumn <b>LinkRowi
82b0: 64 3c 2f 62 3e 20 72 65 66 65 72 65 6e 63 65 73  d</b> references
82c0: 20 74 68 65 20 3c 62 3e 52 4f 57 49 44 3c 2f 62   the <b>ROWID</b
82d0: 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70  > of the corresp
82e0: 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 28 61 6c 77  onding Link (alw
82f0: 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ays set to <b>NU
8300: 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65  LL</b> in the he
8310: 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d  ader row).</li>.
8320: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e  .<li>column <b>N
8330: 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  odeFrom</b> and 
8340: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 68 61  <b>NodeTo</b> ha
8350: 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ve the following
8360: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a   interpretation:
8370: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74  ..<ul>..<li>in t
8380: 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 74 68  he header row th
8390: 65 79 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f  ey correspond to
83a0: 20 68 65 20 3c 62 3e 4f 72 69 67 69 6e 3c 2f 62   he <b>Origin</b
83b0: 3e 20 61 6e 64 20 3c 62 3e 44 65 73 74 69 6e 61  > and <b>Destina
83c0: 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 65 73 2e 3c  tion</b> Nodes.<
83d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c  /li>..<li>in all
83e0: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72   the following r
83f0: 6f 77 73 20 74 68 65 79 20 61 72 65 20 69 6e 74  ows they are int
8400: 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79  ended to specify
8410: 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 6f   the direction o
8420: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69  f the current Li
8430: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  nk.</li>..</ul><
8440: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
8450: 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68 61 73   <b>Cost</b> has
8460: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69   the following i
8470: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a  nterpretation:..
8480: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65  <ul>..<li>in the
8490: 20 68 65 61 64 65 72 20 74 6f 77 20 69 74 20 63   header tow it c
84a0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
84b0: 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c  e <b>total cost<
84c0: 2f 62 3e 20 6f 66 20 74 68 65 20 74 72 61 76 65  /b> of the trave
84d0: 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20  l.</li>..<li>in 
84e0: 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  all the followin
84f0: 67 20 72 6f 77 73 20 69 74 20 72 65 70 72 65 73  g rows it repres
8500: 65 6e 74 73 20 74 68 65 20 73 70 65 63 69 66 69  ents the specifi
8510: 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20 63 75  c cost of the cu
8520: 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e  rrent Link.</li>
8530: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
8540: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61 6d 65  i>column <b>Name
8550: 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68  </b> contains th
8560: 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66  e description of
8570: 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69 6e   the current Lin
8580: 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72 6f 61  k (usually a roa
8590: 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69 73 20  d name), and is 
85a0: 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c 3c 2f  always <b>NULL</
85b0: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72  b> in the header
85c0: 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f   row.<br>..<u>No
85d0: 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c 64 20  te</u> it could 
85e0: 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c 62 3e  be always be <b>
85f0: 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68 65 20  NULL</b> if the 
8600: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
8610: 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 73 75  able does not su
8620: 70 70 6f 72 74 73 20 6e 61 6d 65 73 2e 3c 2f 6c  pports names.</l
8630: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
8640: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  </ul>..<br><br>.
8650: 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 74  .Testing the ret
8660: 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a  urn connection j
8670: 75 73 74 20 72 65 71 75 69 72 65 73 20 73 77 61  ust requires swa
8680: 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e  pping the Origin
8690: 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61   and the Destina
86a0: 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 78  tion; in this ex
86b0: 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73  ample you'll jus
86c0: 74 20 72 65 71 75 65 73 74 20 74 68 65 20 6d 65  t request the me
86d0: 61 6e 69 6e 67 66 75 6c 20 63 6f 6c 75 6d 6e 73  aningful columns
86e0: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  :..<verbatim>..S
86f0: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20  ELECT RouteRow, 
8700: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
8710: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
8720: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
8730: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
8740: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
8750: 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  To = 178731 AND 
8760: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38  NodeFrom = 18328
8770: 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  6;..</verbatim>.
8780: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22  .<table border="
8790: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  1" bgcolor="#fff
87a0: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fcf" cellspacing
87b0: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="4" cellpadding
87c0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62  ="6">..<tr><th b
87d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
87e0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
87f0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8800: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
8810: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8820: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
8830: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8840: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
8850: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8860: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
8870: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8880: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
8890: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
88a0: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
88b0: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
88c0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
88d0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
88e0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
88f0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
8900: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
8910: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
8920: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
8930: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8940: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
8950: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8960: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
8970: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32  ><td>BLOB sz=272
8980: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
8990: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
89a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
89b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
89c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
89d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
89e0: 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20  >224414</td><td 
89f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
8a00: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
8a10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
8a20: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
8a30: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
8a40: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
8a50: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
8a60: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
8a70: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8a80: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
8a90: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8aa0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
8ab0: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  46</td><td align
8ac0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
8ad0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8ae0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
8af0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8b00: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64  t">69.727726</td
8b10: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8b20: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
8b30: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
8b40: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8b50: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
8b60: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8b70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
8b80: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8b90: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
8ba0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8bb0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
8bc0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8bd0: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64  t">94.812424</td
8be0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8bf0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
8c00: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
8c10: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
8c20: 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d 62 65  ..If you remembe
8c30: 72 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74  r, the <b>byfoot
8c40: 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74  </b> VirtualRout
8c50: 69 6e 67 20 54 61 62 6c 65 20 68 61 73 20 6e 6f  ing Table has no
8c60: 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e   <b>one-ways</b>
8c70: 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74  , and consequent
8c80: 6c 79 20 74 68 65 20 72 65 74 75 72 6e 20 70 61  ly the return pa
8c90: 74 68 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65  th exactly corre
8ca0: 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66 69  sponds to the fi
8cb0: 72 73 74 20 6f 6e 65 2c 20 65 78 63 65 70 74 20  rst one, except 
8cc0: 69 6e 20 74 68 61 74 20 61 6c 6c 20 64 69 72 65  in that all dire
8cd0: 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77 20 72  ctions are now r
8ce0: 65 76 65 72 73 65 64 2e 0d 0a 3c 62 72 3e 3c 62  eversed...<br><b
8cf0: 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27  r><br>..Now you'
8d00: 6c 6c 20 67 6f 20 74 6f 20 74 65 73 74 20 74 68  ll go to test th
8d10: 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f  e same connectio
8d20: 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d  ns, but this tim
8d30: 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20  e you'll target 
8d40: 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e  the <b>bycar</b>
8d50: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
8d60: 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79  Table that fully
8d70: 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65   supports <b>one
8d80: 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72  -ways</b>:..<ver
8d90: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
8da0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
8db0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
8dc0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
8dd0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
8de0: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48  ..FROM bycar..WH
8df0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
8e00: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
8e10: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
8e20: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
8e30: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
8e40: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
8e50: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
8e60: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
8e70: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
8e80: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
8e90: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
8ea0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
8eb0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8ec0: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
8ed0: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
8ee0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8ef0: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
8f00: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f10: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
8f20: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8f30: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
8f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f50: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
8f60: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8f70: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
8f80: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
8f90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
8fa0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
8fb0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8fc0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8fd0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
8fe0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
8ff0: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9000: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31  n="right">101.81
9010: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  5552</td><td>BLO
9020: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54  B sz=2032 GEOMET
9030: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
9040: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9050: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9060: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
9070: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9080: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
9090: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
90a0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
90b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
90c0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
90d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
90e0: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c  >13.127874</td><
90f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9100: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
9110: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
9120: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9130: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
9140: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9150: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
9160: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
9170: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
9180: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9190: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
91a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
91b0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64  ht">9.654608</td
91c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
91d0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
91e0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
91f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9200: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
9210: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9220: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31  ign="right">2191
9230: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
9240: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
9250: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9260: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
9270: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9280: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e  t">7.809952</td>
9290: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
92a0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
92b0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
92c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
92d0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
92e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
92f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9300: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
9310: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9320: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
9330: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
9340: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9350: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36  right">12.445626
9360: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9370: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
9380: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
9390: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
93a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
93b0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
93c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
93d0: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e  ght">225888</td>
93e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
93f0: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
9400: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9410: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  83461</td><td al
9420: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39  ign="right">1.59
9430: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9865</td><td>NUL
9440: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
9450: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
9460: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9470: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9480: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
9490: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
94a0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c  ="right">225887<
94b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
94c0: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64  ight">183461</td
94d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
94e0: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74  t">182800</td><t
94f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9500: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64  3.300590</td><td
9510: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9520: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
9530: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
9540: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9550: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
9560: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9570: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33  lign="right">223
9580: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  935</td><td alig
9590: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30  n="right">182800
95a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
95b0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74  right">182799</t
95c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
95d0: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64  ht">6.688786</td
95e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
95f0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
9600: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
9610: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9620: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
9630: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9640: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9650: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64  ">226038</td><td
9660: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9670: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82799</td><td al
9680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
9690: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
96a0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31  ="right">1.29401
96b0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
96c0: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43  td><td>VIALE LUC
96d0: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64  A SIGNORELLI</td
96e0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
96f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9700: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">9</td><td>Link
9710: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9720: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74  right">225832</t
9730: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9740: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c  ht">183456</td><
9750: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9760: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20  >183444</td><td 
9770: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e  align="right">2.
9780: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e  385486</td><td>N
9790: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c  ULL</td><td>VIAL
97a0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c  E LUCA SIGNORELL
97b0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
97c0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
97d0: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74  right">10</td><t
97e0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
97f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9800: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  831</td><td alig
9810: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34  n="right">183444
9820: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9830: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74  right">183554</t
9840: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9850: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64  ht">3.160662</td
9860: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9870: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
9880: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
9890: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
98a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c  lign="right">11<
98b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
98c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
98d0: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74  t">225765</td><t
98e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
98f0: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61  183554</td><td a
9900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9910: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  954</td><td alig
9920: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39  n="right">7.4699
9930: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
9940: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55  /td><td>VIALE LU
9950: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74  CA SIGNORELLI</t
9960: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9970: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9980: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">12</td><td>Li
9990: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
99a0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c  ="right">225766<
99b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
99c0: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64  ight">183954</td
99d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
99e0: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74  t">183905</td><t
99f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9a00: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64  3.236389</td><td
9a10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9a20: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
9a30: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9a40: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9a50: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e  ="right">13</td>
9a60: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9a70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9a80: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  25979</td><td al
9a90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39  ign="right">1839
9aa0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  05</td><td align
9ab0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c  ="right">183626<
9ac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9ad0: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c  ight">13.983629<
9ae0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9af0: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a  ><td>STRADA SENZ
9b00: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  A NOME</td>..</t
9b10: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9b20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f  ign="right">14</
9b30: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9b40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9b50: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64  ">224905</td><td
9b60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9b70: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83626</td><td al
9b80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
9b90: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  28</td><td align
9ba0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35  ="right">5.62735
9bb0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
9bc0: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45  td><td>STRADA SE
9bd0: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c  NZA NOME</td>..<
9be0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9bf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
9c00: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9c10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9c20: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c  ht">224897</td><
9c30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9c40: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20  >183128</td><td 
9c50: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9c60: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
9c70: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33  gn="right">10.03
9c80: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0792</td><td>NUL
9c90: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
9ca0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
9cb0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
9cc0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
9cd0: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ECT RouteRow, Ro
9ce0: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
9cf0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
9d00: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
9d10: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61   Name..FROM byca
9d20: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20  r..WHERE NodeTo 
9d30: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
9d40: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d  eFrom = 183286;.
9d50: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74  .</verbatim>..<t
9d60: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
9d70: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
9d80: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
9d90: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
9da0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
9db0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
9dc0: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
9dd0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
9de0: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
9df0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9e00: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
9e10: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9e20: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
9e30: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9e40: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
9e50: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9e60: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</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 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
9e90: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
9ea0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
9eb0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
9ec0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9ed0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
9ee0: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
9ef0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9f00: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
9f10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
9f30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9f40: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74  03.305259</td><t
9f50: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45  d>BLOB sz=944 GE
9f60: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
9f70: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
9f80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9f90: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
9fa0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9fb0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
9fc0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
9fd0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
9fe0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9ff0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
a000: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a010: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f  ght">18.882285</
a020: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a030: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
a040: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
a050: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a060: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
a070: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a080: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
a090: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
a0a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
a0b0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
a0c0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
a0d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a0e0: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74  ght">7.809952</t
a0f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a100: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
a110: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
a120: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a130: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
a140: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a150: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a160: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
a170: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a180: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
a190: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
a1a0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
a1b0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36  ="right">12.4456
a1c0: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
a1d0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
a1e0: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
a1f0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
a200: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a210: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">4</td><td>Link
a220: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a230: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74  right">224538</t
a240: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a250: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
a260: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a270: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20  >181972</td><td 
a280: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e  align="right">7.
a290: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e  047784</td><td>N
a2a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a2b0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f  ANTONIO GUADAGNO
a2c0: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
a2d0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a2e0: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
a2f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a300: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
a310: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  575</td><td alig
a320: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32  n="right">181972
a330: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a340: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74  right">181971</t
a350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a360: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64  ht">1.852283</td
a370: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a380: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
a390: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
a3a0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  /tr>..<td align=
a3b0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
a3c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a3d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a3e0: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  967</td><td alig
a3f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31  n="right">181971
a400: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a410: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74  right">182891</t
a420: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a430: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74  ht">14.273185</t
a440: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a450: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
a460: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
a470: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a480: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
a490: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a4a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a4b0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c  ht">224168</td><
a4c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a4d0: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20  >182891</td><td 
a4e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a4f0: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3057</td><td ali
a500: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33  gn="right">6.643
a510: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  309</td><td>NULL
a520: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43  </td><td>VIA MAC
a530: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ALLE'</td>..</tr
a540: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a550: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
a560: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a570: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a580: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61  224167</td><td a
a590: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
a5a0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  057</td><td alig
a5b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36  n="right">183056
a5c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a5d0: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c  right">3.151272<
a5e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a5f0: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45  ><td>VIA MACALLE
a600: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  '</td>..</tr>..<
a610: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a620: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64  right">9</td><td
a630: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a640: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31  ign="right">2241
a650: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  74</td><td align
a660: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c  ="right">183056<
a670: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a680: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64  ight">182941</td
a690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a6a0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e  t">7.966870</td>
a6b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a6c0: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a  >VIA RODI</td>..
a6d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a6e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a6f0: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  0</td><td>Link</
a700: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a710: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e  ght">224059</td>
a720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a730: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64  ">182941</td><td
a740: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a750: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82001</td><td al
a760: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39  ign="right">6.39
a770: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3747</td><td>NUL
a780: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f  L</td><td>VIA RO
a790: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  DI</td>..</tr>..
a7a0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a7b0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c  "right">11</td><
a7c0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a7d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a7e0: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2637</td><td ali
a7f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
a800: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a810: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
a820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a830: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74  ght">2.475538</t
a840: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a850: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
a860: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
a870: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a880: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74  gn="right">12</t
a890: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a8a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a8b0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20  >222636</td><td 
a8c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a8d0: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
a8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
a8f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a900: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30  "right">14.36340
a910: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
a920: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
a930: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
a940: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
a950: 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61  .<br>..As you ca
a960: 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c  n easily notice,
a970: 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 70 61 74   the optimal pat
a980: 68 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  hs returned by t
a990: 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20  he <b>bycar</b> 
a9a0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
a9b0: 61 62 6c 65 20 74 68 65 20 70 61 74 68 73 20 69  able the paths i
a9c0: 6e 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63  n opposite direc
a9d0: 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64  tions strongly d
a9e0: 69 66 66 65 72 20 62 65 74 77 65 65 6e 20 74 68  iffer between th
a9f0: 65 6d 2c 20 61 6e 64 20 62 6f 74 68 20 61 72 65  em, and both are
aa00: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66 66   completely diff
aa10: 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 70  erent from the p
aa20: 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20  ath returned by 
aa30: 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 66 6f  querying <b>byfo
aa40: 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20 71  ot</b>.<br>..A q
aa50: 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 20 74  uick glance at t
aa60: 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 69 6c  he below map wil
aa70: 6c 20 73 75 72 65 6c 79 20 68 65 6c 70 20 74 6f  l surely help to
aa80: 20 75 6e 64 65 72 73 74 61 6e 64 20 62 65 74 74   understand bett
aa90: 65 72 20 77 68 61 74 27 73 20 72 65 61 6c 6c 79  er what's really
aaa0: 20 68 61 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d   happening.<br>.
aab0: 0a 54 68 69 73 20 69 73 20 61 20 63 65 6e 74 72  .This is a centr
aac0: 61 6c 20 61 72 65 61 20 6f 66 20 74 68 65 20 74  al area of the t
aad0: 6f 77 6e 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72  own of Arezzo ar
aae0: 6f 75 6e 64 20 74 68 65 20 61 72 63 68 61 65 6f  ound the archaeo
aaf0: 6c 6f 67 69 63 61 6c 20 72 75 69 6e 73 20 6f 66  logical ruins of
ab00: 20 74 68 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69   the Roman Amphi
ab10: 74 68 65 61 74 65 72 3b 20 63 69 72 63 75 6c 61  theater; circula
ab20: 74 69 6e 67 20 62 79 20 63 61 72 20 69 73 20 64  ting by car is d
ab30: 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 69  iscouraged and i
ab40: 73 20 73 75 62 6a 65 63 74 20 74 6f 20 6d 61 6e  s subject to man
ab50: 79 20 6f 6e 65 2d 77 61 79 20 72 65 73 74 72 69  y one-way restri
ab60: 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75 72 70  ctions. Not surp
ab70: 72 69 73 69 6e 67 6c 79 2c 20 6d 6f 76 69 6e 67  risingly, moving
ab80: 20 62 79 20 66 6f 6f 74 20 69 73 20 74 68 65 20   by foot is the 
ab90: 66 61 73 74 65 72 20 6f 70 74 69 6f 6e 2e 0d 0a  faster option...
aba0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  <br><br>..<img s
abb0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
abc0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
abd0: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
abe0: 67 73 2f 72 6f 75 74 69 6e 67 31 2e 6a 70 67 22  gs/routing1.jpg"
abf0: 20 61 6c 74 3d 22 66 69 67 31 22 3e 0d 0a 3c 75   alt="fig1">..<u
ac00: 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77 20 70  l>..<li>yellow p
ac10: 61 74 68 3a 20 70 65 64 65 73 74 72 69 61 6e 73  ath: pedestrians
ac20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65 65 6e  </li>..<li>green
ac30: 20 70 61 74 68 3a 20 63 61 72 2c 20 64 69 72 65   path: car, dire
ac40: 63 74 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69  ct direction</li
ac50: 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74 68 3a  >..<li>red path:
ac60: 20 63 61 72 2c 20 72 65 74 75 72 6e 20 64 69 72   car, return dir
ac70: 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  ection</li>..</u
ac80: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  l>..<br>..<table
ac90: 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63   bgcolor="#c0ffc
aca0: 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
acb0: 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
acc0: 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
acd0: 33 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65  3>Linestrings re
ace0: 74 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61  turned by Virtua
acf0: 6c 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d 0a 41  lRouting</h3>..A
ad00: 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20 47 65  ll LINESTRING Ge
ad10: 6f 6d 65 74 72 69 65 73 20 63 72 65 61 74 65 64  ometries created
ad20: 20 62 79 20 61 6e 79 20 56 69 72 74 75 61 6c 52   by any VirtualR
ad30: 6f 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c 77 61  outing will alwa
ad40: 79 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4d 20  ys contain <b>M 
ad50: 76 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c  values</b>:..<ul
ad60: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e  >..<li>if the un
ad70: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
ad80: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61  k's Geometries a
ad90: 72 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74 68 65  re <b>XY</b> the
ada0: 6e 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c 69 6e  n <b>XYM</b> Lin
adb0: 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65  estrings will be
adc0: 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d   returned.</li>.
add0: 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65  .<li>if the unde
ade0: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27  rlaying Network'
adf0: 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65  s Geometries are
ae00: 20 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68 65 6e   <b>XYZ</b> then
ae10: 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c 69 6e   <b>XYZM</b> Lin
ae20: 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65  estrings will be
ae30: 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d   returned.</li>.
ae40: 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65  .<li>if the unde
ae50: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27  rlaying Network'
ae60: 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65  s Geometries are
ae70: 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72 20 3c   <b>XYM</b> or <
ae80: 62 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65 6e 20  b>XYZM</b> then 
ae90: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74   Linestrings ret
aea0: 75 72 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 72  urned into the r
aeb0: 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 6d 61  esultset will ma
aec0: 69 6e 74 61 69 6e 20 74 68 65 20 73 61 6d 65 20  intain the same 
aed0: 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20 69 6e  dimensions as in
aee0: 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   the underlaying
aef0: 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a   Network.</li>..
af00: 3c 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73 65 20  <li>in any case 
af10: 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76 61 6c  the <b>M</b> val
af20: 75 65 73 20 77 69 6c 6c 20 62 65 20 61 70 70 72  ues will be appr
af30: 6f 70 72 69 61 74 65 6c 79 20 73 65 74 20 73 6f  opriately set so
af40: 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68   to represent th
af50: 65 20 3c 75 3e 70 61 72 74 69 61 6c 20 63 6f 73  e <u>partial cos
af60: 74 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64  t</u> correspond
af70: 69 6e 67 20 74 6f 20 65 61 63 68 20 76 65 72 74  ing to each vert
af80: 65 78 2e 0d 0a 28 69 66 20 74 68 65 20 69 6e 70  ex...(if the inp
af90: 75 74 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 61  ut Linestrings a
afa0: 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e 73 20  lready contains 
afb0: 4d 2d 76 61 6c 75 65 73 20 74 68 65 79 27 6c 6c  M-values they'll
afc0: 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 29   be overwritten)
afd0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
afe0: 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f  br>..In other wo
aff0: 72 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73 74 72  rds, all Linestr
b000: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62 79  ings returned by
b010: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
b020: 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20  can effectively 
b030: 73 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c 2f 62  support <b>LR</b
b040: 3e 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52 65 66  > (<i>Linear Ref
b050: 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20 53 51  erencing</i>) SQ
b060: 4c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61 73 20  L functions, as 
b070: 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  in the following
b080: 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72   examples:..<ver
b090: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53  batim>..SELECT S
b0a0: 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e  T_Locate_Between
b0b0: 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65  _Measures(<geome
b0c0: 74 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35 2e 30  try>, 30.0, 45.0
b0d0: 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 54 5f  );....SELECT ST_
b0e0: 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d  Locate_Between_M
b0f0: 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 72  easures(<geometr
b100: 79 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30 29 3b  y>, 80.0, 95.0);
b110: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54  ..</verbatim>..T
b120: 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70  he side map grap
b130: 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
b140: 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69  e estimated posi
b150: 74 69 6f 6e 73 20 72 65 73 70 65 63 74 69 76 65  tions respective
b160: 6c 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c 62 3e  ly <b>30</b>-<b>
b170: 34 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61  45</b> seconds a
b180: 66 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 79  fter starting (y
b190: 65 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c 69 6e  ellow dotted lin
b1a0: 65 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f 62 3e  e) and <b>80</b>
b1b0: 2d 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63 6f 6e  -<b>95</b> secon
b1c0: 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69 6e  ds after startin
b1d0: 67 20 28 67 72 65 65 6e 20 64 6f 74 74 65 64 20  g (green dotted 
b1e0: 6c 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61 73 73  line).<br>..(ass
b1f0: 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70  uming the same p
b200: 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20  ath returned by 
b210: 74 68 65 20 6c 61 74 65 73 74 20 3c 62 3e 62 79  the latest <b>by
b220: 63 61 72 3c 2f 62 3e 20 71 75 65 72 79 29 2e 0d  car</b> query)..
b230: 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67  .</td>..<td><img
b240: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
b250: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
b260: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
b270: 66 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e 6a 70  figs/routing2.jp
b280: 67 22 20 61 6c 74 3d 22 66 69 67 32 22 3e 3c 2f  g" alt="fig2"></
b290: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
b2a0: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 32 3e  ble>..<br>..<h2>
b2b0: 50 6c 61 79 69 6e 67 20 77 69 74 68 20 56 69 72  Playing with Vir
b2c0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f 6e 66  tualRouting conf
b2d0: 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73  igurable options
b2e0: 3c 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c 20 61  </h2>..Several a
b2f0: 73 70 65 63 74 73 20 6f 66 20 56 69 72 74 75 61  spects of Virtua
b300: 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 62 65 20  lRouting can be 
b310: 66 72 65 65 6c 79 20 63 75 73 74 6f 6d 69 7a 65  freely customize
b320: 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  d...<verbatim>..
b330: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
b340: 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 41  T Algorithm = 'A
b350: 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c  *';....SELECT Al
b360: 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73  gorithm, Options
b370: 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  , RouteRow, Role
b380: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
b390: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
b3a0: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
b3b0: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
b3c0: 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d  ..WHERE NodeFrom
b3d0: 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f   = 178731 AND No
b3e0: 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a  deTo = 183286;..
b3f0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20  </verbatim>..If 
b400: 79 6f 75 20 72 65 6d 65 6d 62 65 72 20 69 6e 20  you remember in 
b410: 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f 75 73  all the previous
b420: 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20 3c 62   examples the <b
b430: 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20  >Dijkstra's</b> 
b440: 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20 75 73  algorithm was us
b450: 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72 20 65  ed; now (after e
b460: 78 65 63 75 74 69 6e 67 20 74 68 65 20 61 62 6f  xecuting the abo
b470: 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e  ve <b>UPDATE</b>
b480: 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 20 50  ) all Shortest P
b490: 61 74 68 20 71 75 65 72 69 65 73 20 77 69 6c 6c  ath queries will
b4a0: 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65   be based on the
b4b0: 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e   alternative <b>
b4c0: 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d  A*</b> algorithm
b4d0: 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 77 69  .<br>..If you wi
b4e0: 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 67 61  sh to select aga
b4f0: 69 6e 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27  in the Dijkstra'
b500: 73 20 61 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20  s algorithm you 
b510: 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78 65  just have to exe
b520: 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41  cute<br> <b>UPDA
b530: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c  TE byfoot SET Al
b540: 67 6f 72 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53  gorithm = 'DIJKS
b550: 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  TRA';</b>.<br><b
b560: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
b570: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
b580: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
b590: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76  rned by the prev
b5a0: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61  ious Shortest Pa
b5b0: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65  th query; please
b5c0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75   notice the valu
b5d0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f  e in the <b>Algo
b5e0: 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  rithm</b> column
b5f0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
b600: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
b610: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
b620: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
b630: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
b640: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
b650: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
b660: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
b670: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b680: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68  >Options</th><th
b690: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b6a0: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
b6b0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b6c0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
b6d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
b6e0: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
b6f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b700: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
b710: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
b720: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
b730: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
b740: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
b750: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
b760: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
b770: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
b780: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
b790: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
b7a0: 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74  tr><td>A*</td><t
b7b0: 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61  d>Full</td><td a
b7c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
b7d0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
b7e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
b7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b800: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
b810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
b820: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
b830: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31  n="right">300.91
b840: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  2208</td><td>BLO
b850: 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
b860: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
b870: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
b880: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
b890: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
b8a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
b8b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
b8c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
b8d0: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
b8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b8f0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
b900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
b910: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
b920: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32  n="right">94.812
b930: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  424</td><td>NULL
b940: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
b950: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
b960: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
b970: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
b980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
b990: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
b9a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
b9b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b9c0: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61  224446</td><td a
b9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
b9e0: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
b9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
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 36 39 2e 37 32 37 37 32 36  right">69.727726
ba20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ba30: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
ba40: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
ba50: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
ba60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ba70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
ba80: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
ba90: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
baa0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
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 31 37 38 38 38 30 3c 2f 74  right">178880</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 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
baf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
bb00: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e  >136.372057</td>
bb10: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
bb20: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
bb30: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
bb40: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
bb50: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 65 76  <br>..You can ev
bb60: 65 6e 74 75 61 6c 6c 79 20 63 6f 6e 66 69 67 75  entually configu
bb70: 72 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  re the resultset
bb80: 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 56 69   returned the Vi
bb90: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 75 65  rtualRouting que
bba0: 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  ries...<verbatim
bbb0: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
bbc0: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27   SET Options = '
bbd0: 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45  NO LINKS';....SE
bbe0: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
bbf0: 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f  Options, RouteRo
bc00: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
bc10: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
bc20: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
bc30: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
bc40: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
bc50: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
bc60: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38   AND NodeTo = 18
bc70: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  3286;..</verbati
bc80: 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 74 69 6e  m>..After settin
bc90: 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f  g <b>Options='NO
bca0: 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 68 65 20   LINKS'</b> the 
bcb0: 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 73  resultset will s
bcc0: 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e 20 74 68  imply contain th
bcd0: 65 20 68 65 61 64 65 72 20 72 6f 77 2c 20 61 6e  e header row, an
bce0: 64 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77  d all the follow
bcf0: 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20 62 65  ing rows will be
bd00: 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e   suppressed.<br>
bd10: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 70  ..<u>Note</u>: p
bd20: 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64 75 63  roducing a reduc
bd30: 65 64 20 72 65 73 75 6c 74 73 65 74 20 69 73 20  ed resultset is 
bd40: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 73  expected to be s
bd50: 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c 62  omeway faster.<b
bd60: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
bd70: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
bd80: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
bd90: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76  rned by the prev
bda0: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61  ious Shortest Pa
bdb0: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65  th query; please
bdc0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75   notice the valu
bdd0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69  e in the <b>Opti
bde0: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d  ons</b> column..
bdf0: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
be00: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
be10: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
be20: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
be30: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
be40: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
be50: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
be60: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
be70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
be80: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
be90: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
bea0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
beb0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
bec0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
bed0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bee0: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
bef0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bf00: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
bf10: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bf20: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
bf30: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
bf40: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
bf50: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bf60: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
bf70: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
bf80: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
bf90: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
bfa0: 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74  >..<td>A*</td><t
bfb0: 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c  d>No Links</td><
bfc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
bfd0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
bfe0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
bff0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c000: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
c010: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c020: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
c030: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
c040: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
c050: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
c060: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
c070: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
c080: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
c090: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69  r><br>..<verbati
c0a0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f  m>..UPDATE byfoo
c0b0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20  t SET Options = 
c0c0: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b  'NO GEOMETRIES';
c0d0: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
c0e0: 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52  ithm, Options, R
c0f0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
c100: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
c110: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
c120: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
c130: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
c140: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
c150: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
c160: 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  o = 183286;..</v
c170: 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65  erbatim>After se
c180: 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73  tting <b>Options
c190: 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27  ='NO GEOMETRIES'
c1a0: 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73  </b> the results
c1b0: 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20  et will contain 
c1c0: 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c  all rows, but al
c1d0: 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c  l Geometries wil
c1e0: 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e  l be suppressed.
c1f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
c200: 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65  >: this too is e
c210: 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f  xpected to be so
c220: 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c 62 72  meway faster.<br
c230: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
c240: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
c250: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
c260: 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69  ned by the previ
c270: 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74  ous Shortest Pat
c280: 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20  h query; please 
c290: 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65  notice the value
c2a0: 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f   in the <b>Optio
c2b0: 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  ns</b> column...
c2c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
c2d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
c2e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
c2f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
c300: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
c310: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
c320: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
c330: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
c340: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
c350: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
c360: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c370: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
c380: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c390: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
c3a0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c3b0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
c3c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c3d0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
c3e0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c3f0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
c400: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c410: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
c420: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c430: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
c440: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
c450: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
c460: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
c470: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e  <td>A*</td><td>N
c480: 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64  o Geometries</td
c490: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c4a0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
c4b0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
c4c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c4d0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
c4e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c4f0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
c500: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c510: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c  300.912208</td><
c520: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c530: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
c540: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
c550: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
c560: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c570: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
c580: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
c590: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
c5a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c5b0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
c5c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c5d0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c5e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c5f0: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
c600: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
c610: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
c620: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
c630: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
c640: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c650: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c660: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
c670: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c680: 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64  ight">224446</td
c690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c6a0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c6c0: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
c6d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e  lign="right">69.
c6e0: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e  727726</td><td>N
c6f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
c700: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
c710: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
c720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c730: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
c740: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
c750: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
c760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c770: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
c780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
c790: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
c7a0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
c7b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c7c0: 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35  right">136.37205
c7d0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
c7e0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
c7f0: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
c800: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
c810: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72  r><br><br>..<ver
c820: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
c830: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e  yfoot SET Option
c840: 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d  s = 'SIMPLE';...
c850: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
c860: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  m, Options, Rout
c870: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
c880: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
c890: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
c8a0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
c8b0: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
c8c0: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
c8d0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
c8e0: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
c8f0: 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e  atim>Setting <b>
c900: 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27  Options='SIMPLE'
c910: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61 6d  </b> has the sam
c920: 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73 65  e effect than se
c930: 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f  tting both <b>NO
c940: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
c950: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
c960: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20  /b> at the same 
c970: 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  time.<br>..<u>No
c980: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73 20  te</u>: this is 
c990: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74  expected to be t
c9a0: 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74 69  he fastest setti
c9b0: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c  ng.<br>..The fol
c9c0: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
c9d0: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
c9e0: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
c9f0: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65   previous Shorte
ca00: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70  st Path query; p
ca10: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65  lease notice the
ca20: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62   value in the <b
ca30: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c  >Options</b> col
ca40: 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  umn...<br><br>..
ca50: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
ca60: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
ca70: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
ca80: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
ca90: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
caa0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cab0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
cac0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cad0: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
cae0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
caf0: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
cb00: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
cb10: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
cb20: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cb30: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
cb40: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
cb50: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
cb60: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
cb70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
cb80: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
cb90: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cba0: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
cbb0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
cbc0: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
cbd0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
cbe0: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
cbf0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f  ..<tr>..<td>A*</
cc00: 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74  td><td>Simple</t
cc10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
cc20: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
cc30: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
cc40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
cc50: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
cc60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
cc70: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
cc80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
cc90: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
cca0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ccb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
ccc0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
ccd0: 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79  >..Finally, if y
cce0: 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c 65 63  ou wish to selec
ccf0: 74 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74  t again the init
cd00: 69 61 6c 20 73 74 61 6e 64 61 72 64 20 73 65 74  ial standard set
cd10: 74 69 6e 67 20 79 6f 75 20 6a 75 73 74 20 68 61  ting you just ha
cd20: 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c 62 72  ve to execute<br
cd30: 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 66 6f  > <b>UPDATE byfo
cd40: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d  ot SET Options =
cd50: 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c 62 72   'FULL';</b>.<br
cd60: 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d  ><br>..<hr><br>.
cd70: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 6d 75  .<h1><a name="mu
cd80: 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69 6e 67  lti">5 - Solving
cd90: 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
cda0: 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  on Shortest Path
cdb0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68   problems</a></h
cdc0: 31 3e 0d 0a 41 20 76 65 72 79 20 69 6e 74 65 72  1>..A very inter
cdd0: 65 73 74 69 6e 67 20 66 65 61 74 75 72 65 20 73  esting feature s
cde0: 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20  upported by the 
cdf0: 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67 6f 72  Dijkstra's Algor
ce00: 69 74 68 6d 20 69 73 20 74 68 61 74 20 69 74 20  ithm is that it 
ce10: 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73  robustly ensures
ce20: 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65 73   that when a des
ce30: 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63  tination is reac
ce40: 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74  hed all the dest
ce50: 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74  inations present
ce60: 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20  ing a <b>lesser 
ce70: 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c  cost</b> have al
ce80: 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 63 68  ready been reach
ce90: 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69  ed in some previ
cea0: 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 65 20  ous step of the 
ceb0: 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68  process.<br>..Th
cec0: 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66  is allows to eff
ced0: 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74  iciently support
cee0: 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73   <b>multiple des
cef0: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 53 68  tinations</b> Sh
cf00: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72  ortest Path quer
cf10: 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79  ies...You simply
cf20: 20 68 61 76 65 20 74 6f 20 73 70 65 63 69 66 79   have to specify
cf30: 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69   a <b>single ori
cf40: 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64  gin Node</b> and
cf50: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79   an <b>arbitrary
cf60: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61   list of destina
cf70: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69  tion Nodes</b> i
cf80: 6e 20 61 20 73 69 6e 67 6c 65 20 44 69 6a 6b 73  n a single Dijks
cf90: 74 72 61 27 73 20 65 78 65 63 75 74 69 6f 6e 2e  tra's execution.
cfa0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  <br><br>..<u>Not
cfb0: 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67  e</u>: executing
cfc0: 20 61 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61   a multi-destina
cfd0: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
cfe0: 74 68 20 71 75 65 72 79 20 72 65 71 75 69 72 65  th query require
cff0: 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73 69 6e  s a <b>processin
d000: 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61 74 20  g time</b> that 
d010: 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73 75 6d  isn't the <u>sum
d020: 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75   of all individu
d030: 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72 20 65  al timings for e
d040: 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c  ach destination<
d050: 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c 79 20  /u>, but simply 
d060: 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65 20 72  is the <u>time r
d070: 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 63 68  equired to reach
d080: 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74 6c 79   the most costly
d090: 20 6f 66 20 61 6c 6c 20 64 65 73 74 69 6e 61 74   of all destinat
d0a0: 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74  ions in the list
d0b0: 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  </u>.<br>..This 
d0c0: 69 73 6e 27 74 20 72 69 67 6f 72 6f 75 73 6c 79  isn't rigorously
d0d0: 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61 73   true in the cas
d0e0: 65 20 6f 66 20 74 68 65 20 56 69 72 74 75 61 6c  e of the Virtual
d0f0: 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 69 63  Routing specific
d100: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c   implementation,
d110: 20 62 65 63 61 75 73 65 20 61 72 72 61 6e 67 69   because arrangi
d120: 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ng the resultset
d130: 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 20   to be returned 
d140: 61 6e 64 20 63 72 65 61 74 69 6e 67 20 61 6c 6c  and creating all
d150: 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20   the individual 
d160: 4c 69 6e 65 73 74 72 69 6e 67 73 20 66 6f 72 20  Linestrings for 
d170: 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f 6e  each destination
d180: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 69 6d 70   will surely imp
d190: 6f 73 65 20 73 6f 6d 65 20 66 75 72 74 68 65 72  ose some further
d1a0: 20 6f 76 65 72 68 65 61 64 2c 20 62 75 74 20 6e   overhead, but n
d1b0: 6f 6e 65 74 68 65 6c 65 73 73 20 69 74 20 72 65  onetheless it re
d1c0: 6d 61 69 6e 73 20 63 6f 6e 66 69 72 6d 65 64 20  mains confirmed 
d1d0: 74 68 61 74 20 65 78 65 63 75 74 69 6e 67 20 61  that executing a
d1e0: 20 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65   single multi-de
d1f0: 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20  stination query 
d200: 77 69 6c 6c 20 73 75 72 65 6c 79 20 62 65 20 20  will surely be  
d210: 6e 6f 74 69 63 65 61 62 6c 79 20 66 61 73 74 65  noticeably faste
d220: 72 20 74 68 65 6e 20 65 78 65 63 75 74 69 6e 67  r then executing
d230: 20 6d 61 6e 79 20 73 70 61 72 73 65 20 73 69 6e   many sparse sin
d240: 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  gle-destination 
d250: 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61  queries...<verba
d260: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67  tim>..SELECT Alg
d270: 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
d280: 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69   Options, Delimi
d290: 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ter, RouteId, Ro
d2a0: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
d2b0: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
d2c0: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
d2d0: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
d2e0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
d2f0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
d300: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
d310: 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34 35   = '183286,29045
d320: 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c  8,181999,184030,
d330: 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37  124622,183882,17
d340: 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74  8754';..</verbat
d350: 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20  im>..As you can 
d360: 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c 20 61  easily notice, a
d370: 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73   <b>multiple-des
d380: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75  tinations</b> qu
d390: 65 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65  ery has the same
d3a0: 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20   identical form 
d3b0: 6f 66 20 61 6e 79 20 75 73 75 61 6c 20 53 68 6f  of any usual Sho
d3c0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
d3d0: 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68 61 74  , except in that
d3e0: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 6e   <b>NodeTo</b> n
d3f0: 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  ow corresponds t
d400: 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61  o a comma-separa
d410: 74 65 64 20 6c 69 73 74 2e 3c 62 72 3e 0d 0a 54  ted list.<br>..T
d420: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
d430: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
d440: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
d450: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
d460: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
d470: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
d480: 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  query...<br><br>
d490: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
d4a0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
d4b0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
d4c0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
d4d0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
d4e0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d4f0: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
d500: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d510: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
d520: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d530: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
d540: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d550: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
d560: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
d570: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
d580: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
d590: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d5a0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
d5b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d5c0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
d5d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d5e0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
d5f0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d600: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
d610: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d620: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
d630: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d640: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
d650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d660: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
d670: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
d680: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
d690: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
d6a0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
d6b0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20  td><td>Shortest 
d6c0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
d6d0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
d6e0: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
d6f0: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
d700: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d710: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d720: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
d730: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
d740: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d750: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
d760: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d770: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
d780: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d790: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
d7a0: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47  td>BLOB sz=240 G
d7b0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
d7c0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
d7d0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
d7e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
d7f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
d820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d830: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
d840: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
d850: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33  gn="right">22263
d860: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
d870: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
d880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d890: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
d8a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d8b0: 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64  ">103.735722</td
d8c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d8d0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
d8e0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
d8f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
d900: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
d910: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
d940: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d950: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
d960: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
d970: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32  gn="right">22552
d980: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
d990: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
d9a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d9b0: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
d9c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d9d0: 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e  ">51.015117</td>
d9e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d9f0: 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45  >VIA LICIO NENCE
da00: 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TTI</td>..</tr>.
da10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
da20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
da30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
da40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
da50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
da60: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
da70: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
da80: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
da90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
daa0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
dab0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dac0: 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
dad0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dae0: 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
daf0: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
db00: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
db10: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
db20: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
db30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
db40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
db50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
db60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
db70: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
db80: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
db90: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
dba0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
dbb0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
dbc0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
dbd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dbe0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
dbf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dc00: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
dc10: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dc20: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
dc30: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
dc40: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
dc50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
dc60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dc80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dc90: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dca0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
dcb0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
dcc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38  ign="right">2248
dcd0: 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  62</td><td align
dce0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
dcf0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dd00: 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64  ight">182043</td
dd10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dd20: 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64  t">37.095287</td
dd30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dd40: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
dd50: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
dd60: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
dd70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dd80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dd90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
dda0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
ddb0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ddc0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
ddd0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
dde0: 22 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f  "right">226070</
ddf0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
de00: 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e  ght">182043</td>
de10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
de20: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
de30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
de40: 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64  4.457044</td><td
de50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49  >NULL</td><td>PI
de60: 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49  AZZA SANT'AGOSTI
de70: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
de80: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
de90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dea0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
deb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
dec0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
ded0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dee0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
def0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
df00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
df10: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
df20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
df30: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
df40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
df50: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e  >224.677095</td>
df60: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20  <td>BLOB sz=240 
df70: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
df80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
df90: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
dfa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
dfb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dfc0: 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67  <td>NULL<td alig
dfd0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
dfe0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dff0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
e000: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e010: 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74  right">219045</t
e020: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e030: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e040: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e050: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
e060: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36  align="right">76
e070: 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e  .021007</td><td>
e080: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
e090: 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74   ASSAB</td>..</t
e0a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e0b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e0c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e0d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e0e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e0f0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
e100: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
e110: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e120: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
e130: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  058</td><td alig
e140: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
e150: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e160: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
e170: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e180: 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f  ht">148.656089</
e190: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e1a0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
e1b0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
e1c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e1d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e1e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e1f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e200: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e210: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e220: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
e230: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
e240: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e250: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e260: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
e270: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
e280: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e290: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35  right">260.13235
e2a0: 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
e2b0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
e2c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e2d0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
e2e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e2f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e300: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e310: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e320: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
e330: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
e340: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
e350: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e360: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
e370: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e380: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
e390: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
e3a0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
e3b0: 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34  ="right">94.8124
e3c0: 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  24</td><td>NULL<
e3d0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
e3e0: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
e3f0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e400: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e410: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e420: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e430: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e440: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
e450: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
e460: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
e470: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e480: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20  >224446</td><td 
e490: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e4a0: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
e4b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
e4c0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
e4d0: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32  "right">69.72772
e4e0: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  6</td><td>NULL</
e4f0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
e500: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
e510: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e520: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e530: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e540: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e550: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e560: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
e570: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
e580: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e590: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
e5a0: 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  800</td><td alig
e5b0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
e5c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e5d0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
e5e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e5f0: 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74  ht">95.592204</t
e600: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e610: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
e620: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
e630: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e640: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e650: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e660: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e670: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e680: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e690: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
e6a0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
e6b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e6c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e6d0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
e6e0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
e6f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e700: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
e710: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
e720: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
e730: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
e740: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e750: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e760: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e770: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e780: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e790: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">4</td><td al
e7a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
e7b0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
e7c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e7d0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
e7e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e7f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
e800: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
e810: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
e820: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
e830: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
e840: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
e850: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
e860: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
e870: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e880: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e890: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e8a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e8b0: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
e8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
e8d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
e8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e8f0: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61  224446</td><td a
e900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
e910: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
e920: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
e930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e940: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36  right">69.727726
e950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e960: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
e970: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
e980: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e990: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e9a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e9c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
e9d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e9e0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
e9f0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
ea00: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
ea10: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
ea20: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
ea30: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ea40: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
ea50: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea60: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
ea70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ea80: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
ea90: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
eaa0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
eab0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eac0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><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 55 6e 72 65 61 63 68 61  /td><td>Unreacha
eb00: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
eb10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
eb20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
eb30: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
eb40: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35  gn="right">29045
eb50: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
eb60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eb70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
eb80: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
eb90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
eba0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ebb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><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 55 6e  >NULL</td><td>Un
ebe0: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f  reachable NodeTo
ebf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ec00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ec10: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
ec20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ec30: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e  >124622</td><td>
ec40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ec50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ec60: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
ec70: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27  ble>..<br>..Let'
ec80: 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  s quickly examin
ec90: 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
eca0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
ecb0: 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64  above <b>multi-d
ecc0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
ecd0: 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  query...<ul>..<l
ece0: 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61  i>the overall la
ecf0: 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65  yout is almost e
ed00: 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20  xactly the same 
ed10: 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64  as you've alread
ed20: 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61  y seen in the ca
ed30: 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d  se of <b>single-
ed40: 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20  destination</b> 
ed50: 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20  queries, but in 
ed60: 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69  this case more i
ed70: 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c  ndividual travel
ed80: 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67   solutions are g
ed90: 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65  rouped altogethe
eda0: 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  r.</li>..<li>the
edb0: 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62   <b>first row</b
edc0: 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73  > of the results
edd0: 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78  et is someway ex
ede0: 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69  ceptional, and i
edf0: 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 6f 77  s the unique row
ee00: 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65   of the resultse
ee10: 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e  t presenting <b>
ee20: 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c  NOT NULL</b> val
ee30: 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c  ues in the <b>Al
ee40: 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e  gorithm</b>, <b>
ee50: 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e  Request</b>, <b>
ee60: 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20  Options</b> and 
ee70: 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>Delimiter</b>
ee80: 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a   columns.</li>..
ee90: 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65  <li>the <b>Route
eea0: 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 69 73  Id</b> column is
eeb0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 72 6f   intended to gro
eec0: 75 70 20 74 6f 67 65 74 68 65 72 20 61 6c 6c 20  up together all 
eed0: 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74  rows belonging t
eee0: 6f 20 73 61 6d 65 20 74 72 61 76 65 6c 20 73 6f  o same travel so
eef0: 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f  lution (<i>aka</
ef00: 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f 62 3e 29  i> <b>Route</b>)
ef10: 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 20 61 72  .<br>..Routes ar
ef20: 65 20 70 72 6f 67 72 65 73 73 69 76 65 6c 79 20  e progressively 
ef30: 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 61 72 65  numbered and are
ef40: 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72 64 69   ordered accordi
ef50: 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 20 3c 62  ngly to their <b
ef60: 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e  >total cost</b>.
ef70: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
ef80: 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 63  b>RouteRow</b> c
ef90: 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 20 73 61  olumn has the sa
efa0: 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  me interpretatio
efb0: 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64  n as in single-d
efc0: 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 73 75 6c  estination resul
efd0: 74 73 65 74 73 2c 20 61 6e 64 20 69 73 20 69 6e  tsets, and is in
efe0: 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 67 72 65  tended to progre
eff0: 73 73 69 76 65 6c 79 20 6f 72 64 65 72 20 69 6e  ssively order in
f000: 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 65 71   the correct seq
f010: 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b 73 20  uence all Links 
f020: 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f  connecting the O
f030: 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65  rigin and the De
f040: 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 65 61 63  stination of eac
f050: 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62  h Route.<br>..<b
f060: 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f 62 3e 20  >RouteRow=0</b> 
f070: 61 6c 77 61 79 73 20 69 64 65 6e 74 69 66 69 65  always identifie
f080: 73 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  s the header row
f090: 20 6f 66 20 65 61 63 68 20 74 72 61 76 65 6c 20   of each travel 
f0a0: 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  solution.</li>..
f0b0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e  </ul>..<br>..<u>
f0c0: 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68 65 20  Notice</u>: the 
f0d0: 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20 69 6e  last two rows in
f0e0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
f0f0: 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65 61 63  eports <b>Unreac
f100: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c 2f 62  hable NodeTo.</b
f110: 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f 6c 65  > in the <b>Role
f120: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74 68 75  </b> column, thu
f130: 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c 62 3e  s implying a <b>
f140: 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e 65 63  forbidden connec
f150: 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54  tion</b>.<br>..T
f160: 68 69 73 20 77 61 73 20 70 75 72 70 6f 73 65 6c  his was purposel
f170: 79 20 69 6e 74 65 6e 64 65 64 3a 20 4e 6f 64 65  y intended: Node
f180: 73 20 3c 62 3e 32 39 30 34 35 38 3c 2f 62 3e 20  s <b>290458</b> 
f190: 61 6e 64 20 3c 62 3e 31 32 34 36 32 32 3c 2f 62  and <b>124622</b
f1a0: 3e 20 61 72 65 20 6c 6f 63 61 74 65 64 20 6f 6e  > are located on
f1b0: 20 45 6c 62 61 20 61 6e 64 20 47 69 67 6c 69 6f   Elba and Giglio
f1c0: 20 69 73 6c 61 6e 64 73 2e 20 54 68 65 20 75 6e   islands. The un
f1d0: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
f1e0: 6b 20 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62  k is based on <b
f1f0: 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 74 68  >Iter.Net</b> th
f200: 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74  at don't support
f210: 73 20 66 65 72 72 79 20 63 6f 6e 6e 65 63 74 69  s ferry connecti
f220: 6f 6e 73 2c 20 73 6f 20 61 6e 79 20 74 72 61 76  ons, so any trav
f230: 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 62 65 74 77  el solution betw
f240: 65 65 6e 20 74 68 65 20 69 73 6c 61 6e 64 73 20  een the islands 
f250: 61 6e 64 20 74 68 65 20 6d 61 69 6e 6c 61 6e 64  and the mainland
f260: 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66 61 69   will always fai
f270: 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  l...<br><br><br>
f280: 0d 0a 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d  ..Also <b>multi-
f290: 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e  destinations</b>
f2a0: 20 71 75 65 72 69 65 73 20 63 61 6e 20 62 65 20   queries can be 
f2b0: 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20  customized, but 
f2c0: 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  the configuratio
f2d0: 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 74 6c 79  n rules slightly
f2e0: 20 64 69 66 66 65 72 20 66 72 6f 6d 20 77 68 61   differ from wha
f2f0: 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61  t you have alrea
f300: 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63  dy seen in the c
f310: 61 73 65 20 6f 66 20 73 69 6e 67 6c 65 2d 64 65  ase of single-de
f320: 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e  stination...<ul>
f330: 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74  ..<li><b>Algorit
f340: 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e  hm</b>: only <b>
f350: 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20  Dijkstra</b> is 
f360: 73 75 70 70 6f 72 74 65 64 20 62 79 20 6d 75 6c  supported by mul
f370: 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20  ti-destination, 
f380: 61 6e 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c  and will be impl
f390: 69 63 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65  icitly assumed e
f3a0: 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74  ven when the alt
f3b0: 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f  ernative <b>A*</
f3c0: 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20  b> algorithm is 
f3d0: 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74  currently select
f3e0: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ed.</li>..<li><b
f3f0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68  >Options</b>: th
f400: 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c  e usual <b>FULL<
f410: 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f  /b>, <b>SIMPLE</
f420: 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c  b>, <b>NO LINKS<
f430: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45  /b> and <b>NO GE
f440: 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65  OMETRIES</b> are
f450: 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77   supported and w
f460: 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d  ill have the sam
f470: 65 20 65 66 66 65 63 74 20 61 73 20 69 6e 20 73  e effect as in s
f480: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
f490: 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d  n queries.</li>.
f4a0: 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69  .</ul>..<verbati
f4b0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f  m>..UPDATE byfoo
f4c0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20  t SET Options = 
f4d0: 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c  'SIMPLE';....SEL
f4e0: 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
f4f0: 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
f500: 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
f510: 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
f520: 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
f530: 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
f540: 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
f550: 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
f560: 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
f570: 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
f580: 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38   NodeTo = '18328
f590: 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c  6,290458,181999,
f5a0: 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38  184030,124622,18
f5b0: 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c  3882,178754';..<
f5c0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20  /verbatim>..The 
f5d0: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
f5e0: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
f5f0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
f600: 74 68 65 20 73 61 6d 65 20 6d 75 6c 74 69 2d 64  the same multi-d
f610: 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79  estination query
f620: 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 65   used in the pre
f630: 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66  vious example af
f640: 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65  ter enabling the
f650: 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f   <b>SIMPLE</b> o
f660: 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  ption...<br><br>
f670: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
f680: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
f690: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
f6a0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
f6b0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
f6c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f6d0: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
f6e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f6f0: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
f700: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f710: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
f720: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f730: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
f740: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
f750: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
f760: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
f770: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f780: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
f790: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f7a0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
f7b0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f7c0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
f7d0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f7e0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
f7f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f800: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
f810: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f820: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
f830: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f840: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
f850: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
f860: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
f870: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
f880: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
f890: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20  td><td>Shortest 
f8a0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
f8b0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
f8c0: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
f8d0: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
f8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
f8f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f900: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
f910: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
f920: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
f930: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
f940: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f950: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
f960: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f970: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
f980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
f990: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
f9a0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
f9b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
f9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
f9d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
f9e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
f9f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fa00: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
fa10: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
fa20: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fa30: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fa40: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fa50: 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
fa60: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fa70: 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74  t">176.364755</t
fa80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fa90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
faa0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
fab0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fac0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fad0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fae0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
faf0: 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
fb00: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
fb10: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
fb20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
fb30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
fb40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
fb50: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
fb60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fb70: 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30 39 35  ight">224.677095
fb80: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fb90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
fba0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
fbb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fbc0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fbd0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fbe0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fbf0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
fc00: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
fc10: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
fc20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fc30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
fc40: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
fc50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
fc60: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
fc70: 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32  ="right">260.132
fc80: 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  354</td><td>NULL
fc90: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fca0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
fcb0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
fcc0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fcd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fce0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fcf0: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
fd00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
fd10: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
fd20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fd30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fd40: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
fd50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
fd60: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
fd70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
fd80: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e  912208</td><td>N
fd90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fda0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
fdb0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
fdc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fdd0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fde0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fdf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fe00: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c  d><td>Unreachabl
fe10: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64  e NodeTo</td><td
fe20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
fe30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
fe40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
fe50: 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c  ="right">290458<
fe60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fe70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fe80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
fe90: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
fea0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
feb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fec0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fed0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fee0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65  ULL</td><td>Unre
fef0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f  achable NodeTo</
ff00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ff10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
ff20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
ff30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ff40: 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  24622</td><td>NU
ff50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ff60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ff70: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
ff80: 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 6d 61  e>..<br>..The ma
ff90: 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61  p below graphica
ffa0: 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72  lly shows the pr
ffb0: 65 76 69 6f 75 73 20 3c 62 3e 6d 75 6c 74 69 2d  evious <b>multi-
ffc0: 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e  destinations</b>
ffd0: 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c   queries...<br><
ffe0: 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68  br>..<img src="h
fff0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
10000 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
10010 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f  /routing-figs/ro
10020 75 74 69 6e 67 33 2e 6a 70 67 22 20 61 6c 74 3d  uting3.jpg" alt=
10030 22 66 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c  "fig3">..<ul>..<
10040 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65  li>Red star: the
10050 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c   Origin Node.</l
10060 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64 6f  i>..<li>Green do
10070 74 73 3a 20 74 68 65 20 44 65 73 74 69 6e 61 74  ts: the Destinat
10080 69 6f 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d  ion Nodes.</li>.
10090 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65  .<li>Yellow line
100a0 73 3a 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61  s: all individua
100b0 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  l travel solutio
100c0 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ns.</li>..</ul>.
100d0 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
100e0 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20  color="#ffb060" 
100f0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
10100 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
10110 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44  ><tr><td>..<h3>D
10120 61 6e 67 65 72 6f 75 73 20 70 69 74 66 61 6c 6c  angerous pitfall
10130 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d 75 6c  s related to mul
10140 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f  tiple destinatio
10150 6e 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 53 51  n lists</h3>..SQ
10160 4c 20 73 79 6e 74 61 78 20 64 69 72 65 63 74 6c  L syntax directl
10170 79 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70 65 63  y allows to spec
10180 69 66 79 20 6c 69 73 74 73 20 6f 66 20 20 6d 75  ify lists of  mu
10190 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2c 20 73  ltiple values, s
101a0 6f 20 6d 61 79 20 62 65 20 79 6f 75 20 61 72 65  o may be you are
101b0 20 6e 6f 77 20 77 6f 6e 64 65 72 69 6e 67 20 61   now wondering a
101c0 62 6f 75 74 20 77 72 69 74 69 6e 67 20 74 68 65  bout writing the
101d0 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73   <b>multiple des
101e0 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75  tinations</b> qu
101f0 65 72 79 20 74 65 73 74 65 64 20 69 6e 20 74 68  ery tested in th
10200 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  e previous examp
10210 6c 65 73 20 74 68 69 73 20 77 61 79 3a 0d 0a 3c  les this way:..<
10220 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
10230 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
10240 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44  uest, Options, D
10250 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49  elimiter, RouteI
10260 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
10270 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
10280 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
10290 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
102a0 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
102b0 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f  t..WHERE NodeFro
102c0 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  m = 178731 AND N
102d0 6f 64 65 54 6f 20 49 4e 20 28 31 38 33 32 38 36  odeTo IN (183286
102e0 2c 20 32 39 30 34 35 38 2c 20 31 38 31 39 39 39  , 290458, 181999
102f0 2c 20 31 38 34 30 33 30 2c 20 31 32 34 36 32 32  , 184030, 124622
10300 2c 20 31 38 33 38 38 32 2c 20 31 37 38 37 35 34  , 183882, 178754
10310 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  );..</verbatim>.
10320 0a 54 68 65 72 65 20 69 73 20 61 20 76 65 72 79  .There is a very
10330 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 64 69 73   good reason dis
10340 63 6f 75 72 61 67 69 6e 67 20 66 72 6f 6d 20 64  couraging from d
10350 6f 69 6e 67 20 73 75 63 68 20 61 20 74 68 69 6e  oing such a thin
10360 67 2c 20 6c 65 74 27 73 20 73 65 65 20 77 68 79  g, let's see why
10370 2e 3c 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69 74 65  .<br>..<b>SQLite
10380 3c 2f 62 3e 20 77 69 6c 6c 20 70 72 6f 63 65 73  </b> will proces
10390 73 20 61 20 72 65 71 75 65 73 74 20 77 72 69 74  s a request writ
103a0 74 65 6e 20 74 68 69 73 20 77 61 79 20 62 79 20  ten this way by 
103b0 72 65 70 65 61 74 65 64 6c 79 20 63 61 6c 6c 69  repeatedly calli
103c0 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  ng VirtualRoutin
103d0 67 20 70 61 73 73 69 6e 67 20 65 61 63 68 20 74  g passing each t
103e0 69 6d 65 20 61 20 73 69 6e 67 6c 65 20 44 65 73  ime a single Des
103f0 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 64 20 63 6f  tination; and co
10400 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e 56 69  nsequently <b>Vi
10410 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e  rtualRouting</b>
10420 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 63 65   will never rece
10430 69 76 65 20 74 68 65 20 63 72 69 74 69 63 61 6c  ive the critical
10440 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61   information tha
10450 74 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c  t a single monol
10460 69 74 68 69 63 20 72 65 71 75 65 73 74 20 77 61  ithic request wa
10470 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65  s intended to be
10480 20 65 78 65 63 75 74 65 64 20 69 6e 20 61 20 73   executed in a s
10490 69 6e 67 6c 65 20 73 68 6f 74 2e 20 53 6f 20 74  ingle shot. So t
104a0 68 65 20 72 65 71 75 65 73 74 20 63 6f 6e 74 65  he request conte
104b0 78 74 20 77 69 6c 6c 20 62 65 20 65 61 73 69 6c  xt will be easil
104c0 79 20 6d 69 73 69 6e 74 65 72 70 72 65 74 65 64  y misinterpreted
104d0 2c 20 61 6e 64 20 61 6e 79 20 65 78 70 65 63 74  , and any expect
104e0 65 64 20 73 70 65 65 64 20 62 65 6e 65 66 69 74  ed speed benefit
104f0 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 6c 65 74   will be complet
10500 65 6c 79 20 66 72 75 73 74 72 61 74 65 64 2e 0d  ely frustrated..
10510 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33 3e  .<h3>Beware</h3>
10520 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72 3c  ..<b>Never ever<
10530 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20 64  /b> attempt to d
10540 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66 20  efine a list of 
10550 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
10560 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 20  tions using the 
10570 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79 6e  standard SQL syn
10580 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45 20  tax <b><i>WHERE 
10590 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e  NodeTo IN (.....
105a0 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63 61  .)</i></b>, beca
105b0 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63 65  use this will ce
105c0 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d 61  rtainly cause ma
105d0 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 74 72  ny unexpected tr
105e0 6f 75 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42 61 64  oubles.<br>..Bad
105f0 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72 65 73  ly formatted res
10600 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62 65 20  ultsets will be 
10610 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c 20 6d  then returned, m
10620 61 79 20 62 65 20 63 6f 6e 74 61 69 6e 69 6e 67  ay be containing
10630 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 73 2e 20   wrong results. 
10640 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 72 6e 65  <b>You are warne
10650 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  d</b>.<br><br>..
10660 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
10670 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  e>..<br>..<table
10680 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63   bgcolor="#c0ffc
10690 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
106a0 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
106b0 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
106c0 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 65 63 74  3>How to correct
106d0 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c 74 69 70  ly format multip
106e0 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20  le destinations 
106f0 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 69 72 74  lists</h3>..Virt
10700 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c 77 61 79  ualRouting alway
10710 73 20 65 78 70 65 63 74 73 20 74 6f 20 72 65 63  s expects to rec
10720 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c 74 69 2d  eive a <b>multi-
10730 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e  destinations</b>
10740 20 6c 69 73 74 20 61 73 20 61 20 3c 62 3e 54 45   list as a <b>TE
10750 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 20 63 6f  XT</b> string co
10760 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 74 6c 79  ntaining tightly
10770 20 70 61 63 6b 65 64 20 76 61 6c 75 65 73 20 73   packed values s
10780 65 70 61 72 61 74 65 64 20 62 79 20 61 20 63 6f  eparated by a co
10790 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e 64 65  nventional <b>de
107a0 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 75 73 75  limiter</b> (usu
107b0 61 6c 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64  ally represented
107c0 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f   by a <b>comma</
107d0 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c  b>).<br>..Exampl
107e0 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c 20 66 6f  es of <b>well fo
107f0 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74  rmatted</b> mult
10800 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c  i-destinations l
10810 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  ists:..<verbatim
10820 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c 31 30  >..'1,2,3,4,5,10
10830 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 30 30 30  ,100,1000,100000
10840 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e  '   -- integer N
10850 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 31 30 30  ode IDs....'A100
10860 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 2c 43 30  B,A100F,B250Z,C0
10870 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d 2d 20 61  10M,Z999A'  -- a
10880 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65  lphanumeric Node
10890 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74   Codes..</verbat
108a0 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f 66  im>..Examples of
108b0 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 6d 61 74   <b>badly format
108c0 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65  ted</b> multi-de
108d0 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73  stinations lists
108e0 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27  :..<verbatim>..'
108f0 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 2c 20 35    1, 2, 3, 4 , 5
10900 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 30 30 30   , 10, 100, 1000
10910 2c 20 31 30 30 30 30 30 20 20 27 20 20 20 2d 2d  , 100000  '   --
10920 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 44   integer Node ID
10930 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 2c 20 41  s....'  A100B, A
10940 31 30 30 46 20 2c 20 42 32 35 30 5a 20 2c 20 43  100F , B250Z , C
10950 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 27 20 20  010M, Z999A  '  
10960 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65      -- alphanume
10970 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a  ric Node Codes..
10980 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e  </verbatim>..<u>
10990 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68  Note</u>: all wh
109a0 69 74 65 73 70 61 63 65 73 20 69 6d 6d 65 64 69  itespaces immedi
109b0 61 74 65 6c 79 20 70 72 65 63 65 64 69 6e 67 20  ately preceding 
109c0 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65  or following the
109d0 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62   <b>delimiter</b
109e0 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64  > will be consid
109f0 65 72 65 64 20 74 6f 20 62 65 20 69 6e 74 65 67  ered to be integ
10a00 72 61 6c 20 70 61 72 74 20 6f 66 20 74 68 65 20  ral part of the 
10a10 76 61 6c 75 65 20 69 74 73 65 6c 66 2e 3c 62 72  value itself.<br
10a20 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 61 76  >..This will hav
10a30 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 6f 6e  e no adverse con
10a40 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 68 65  sequences in the
10a50 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 65 72   case of integer
10a60 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 61 6e   values, but can
10a70 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 61 74   easily have cat
10a80 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 63 74  astrophic effect
10a90 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72 69  s on alphanumeri
10aa0 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e 44  c values...<h3>D
10ab0 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 6f 6d  efining a custom
10ac0 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e 0d   delimiter</h3>.
10ad0 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 6f  .Sometimes it co
10ae0 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 73 65  uld be useful se
10af0 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c 69 6d  tting up a delim
10b00 69 74 65 72 20 64 69 66 66 65 72 65 6e 74 20 66  iter different f
10b10 72 6f 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e  rom <b>comma</b>
10b20 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  ...<verbatim>..U
10b30 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
10b40 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27   Delimiter = '*'
10b50 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69  ;....SELECT Deli
10b60 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f  miter FROM byfoo
10b70 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  t;..------------
10b80 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34  ------..* [dec=4
10b90 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65  2, hex=2a]..</ve
10ba0 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69  rbatim> ..You si
10bb0 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65  mply have to exe
10bc0 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54  cute an <b>UPDAT
10bd0 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20  E</b> statement 
10be0 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68  by specifying th
10bf0 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20  e new delimiter 
10c00 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  value.<br><br>..
10c10 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
10c20 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  e>..<br><br>..<h
10c30 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e  r><br>..<h1><a n
10c40 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e  ame="isochrone">
10c50 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f 63  6 - Solving Isoc
10c60 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f  hrone problems</
10c70 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 66  a></h1>..<a href
10c80 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
10c90 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
10ca0 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e 49  Isochrone_map">I
10cb0 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 72  sochrones</a> ar
10cc0 65 20 61 72 65 61 73 20 28 6f 72 20 63 75 72 76  e areas (or curv
10cd0 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 70  es) connecting p
10ce0 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68 20 73  oints at which s
10cf0 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 73 20  omething occurs 
10d00 6f 72 20 61 72 72 69 76 65 73 20 61 74 20 74 68  or arrives at th
10d10 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e  e same time.<br>
10d20 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 65  ..Isochrones are
10d30 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 64   usually related
10d40 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 6c   to Network Anal
10d50 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69 6e 67  ysis and Routing
10d60 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 6c   because they al
10d70 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 69 64  low to easily id
10d80 65 6e 74 69 66 79 20 77 68 69 63 68 20 73 70 65  entify which spe
10d90 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f 66  cific portion of
10da0 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 6e   the Network can
10db0 20 62 65 20 72 65 61 63 68 65 64 20 73 74 61 72   be reached star
10dc0 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 3e  ting by some <b>
10dd0 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20  origin Node</b> 
10de0 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 65  spending no more
10df0 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20 3c 62   than a given <b
10e00 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  >Cost</b>.<br><b
10e10 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 20  r>..As you have 
10e20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 61 62 6f  already seen abo
10e30 75 74 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  ut <b>multi-dest
10e40 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72  ination</b> quer
10e50 69 65 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72  ies, the Dijkstr
10e60 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f  a's Algorithm ro
10e70 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74  bustly ensures t
10e80 68 61 74 20 77 68 65 6e 20 61 20 64 65 73 74 69  hat when a desti
10e90 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65  nation is reache
10ea0 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e  d all the destin
10eb0 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e  ations presentin
10ec0 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f  g a <b>lesser co
10ed0 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 72 65  st</b> have alre
10ee0 61 64 79 20 62 65 65 6e 20 72 65 61 63 68 65 64  ady been reached
10ef0 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69 6f 75   in some previou
10f00 73 20 73 74 65 70 20 6f 66 20 74 68 65 20 70 72  s step of the pr
10f10 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73  ocess.<br>..This
10f20 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63   allows to effic
10f30 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c  iently support <
10f40 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20  b>Isochrone</b> 
10f50 71 75 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69  queries...You si
10f60 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65  mply have to spe
10f70 63 69 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65  cify a <b>single
10f80 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e   origin Node</b>
10f90 20 61 6e 64 20 61 20 3c 62 3e 43 6f 73 74 20 74   and a <b>Cost t
10fa0 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72  hreshold</b>.<br
10fb0 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  ><br>..<u>Note</
10fc0 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 61 6e  u>: executing an
10fd0 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79   Isochrone query
10fe0 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70   requires a <b>p
10ff0 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f  rocessing time</
11000 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68  b> that isn't th
11010 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20  e <u>sum of all 
11020 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e  individual timin
11030 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73 74  gs for each dest
11040 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74  ination</u>, but
11050 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c   simply is the <
11060 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64 20  u>time required 
11070 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73  to reach the mos
11080 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 6e 61  t costly destina
11090 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c  tion</u>.<br>..<
110a0 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
110b0 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
110c0 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65  uest, Role, Node
110d0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
110e0 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a 46 52  st, Geometry..FR
110f0 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
11100 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39   NodeFrom = 1819
11110 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31  99 AND Cost <= 1
11120 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74  000.0;..</verbat
11130 69 6d 3e 0d 0a 41 6e 20 3c 62 3e 49 73 6f 63 68  im>..An <b>Isoch
11140 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 20 61  rone</b> query a
11150 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c  s supported by <
11160 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
11170 3c 2f 62 3e 20 6a 75 73 74 20 72 65 71 75 69 72  </b> just requir
11180 65 73 20 74 6f 20 73 70 65 63 69 66 79 3a 0d 0a  es to specify:..
11190 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64  <ul>..<li><b>Nod
111a0 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65 20 3c  eFrom</b>: the <
111b0 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62 3e 20  b><i>ID</i></b> 
111c0 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c 2f 69  or <b><i>Code</i
111d0 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c 79 20 69  ></b> uniquely i
111e0 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 3c  dentifying the <
111f0 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62  b>origin Node</b
11200 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  >.</li>..<li><b>
11210 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20 6d 61  Cost</b>: the ma
11220 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74 20 74 68  ximum <b>Cost th
11230 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f 74 20  reshold</b> not 
11240 74 6f 20 62 65 20 65 78 63 65 65 64 65 64 2e 3c  to be exceeded.<
11250 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
11260 3a 20 61 6e 79 20 76 61 6c 69 64 20 49 73 6f 63  : any valid Isoc
11270 68 72 6f 6e 65 20 71 75 65 72 79 20 3c 62 3e 6d  hrone query <b>m
11280 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73 73 61 72  ust</b> necessar
11290 69 6c 79 20 73 70 65 63 69 66 79 20 61 20 3c 62  ily specify a <b
112a0 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6c  ><=</b> (<u><i>l
112b0 65 73 73 65 72 20 74 68 61 6e 20 6f 72 20 65 71  esser than or eq
112c0 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e 29 20  ual to</i></u>) 
112d0 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61  comparison opera
112e0 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  tor.</li>..</ul>
112f0 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c  ..<br>..The foll
11300 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77  owing table show
11310 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  s the resultset 
11320 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
11330 61 62 6f 76 65 20 49 73 6f 63 68 72 6f 6e 65 20  above Isochrone 
11340 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  query...<br><br>
11350 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
11360 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
11370 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
11380 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
11390 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
113a0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
113b0 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
113c0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
113d0 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
113e0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
113f0 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
11400 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
11410 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
11420 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
11430 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
11440 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
11450 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
11460 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
11470 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
11480 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  ry</th></tr>..<t
11490 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69  r>..<tr>..<td>Di
114a0 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 49  jkstra</td><td>I
114b0 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c 74 64  sochrone</td><td
114c0 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74  >Solution</td><t
114d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
114e0 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61  181999</td><td a
114f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
11500 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  717</td><td alig
11510 6e 3d 22 72 69 67 68 74 22 3e 35 37 32 2e 34 35  n="right">572.45
11520 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  5143</td><td>BLO
11530 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59  B sz=60 GEOMETRY
11540 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
11550 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
11560 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
11570 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64 20 61 6c  d>Solution<td al
11580 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
11590 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
115a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31 38 3c  ="right">178718<
115b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
115c0 69 67 68 74 22 3e 35 38 37 2e 33 30 33 37 37 39  ight">587.303779
115d0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
115e0 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  =60 GEOMETRY</td
115f0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
11600 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65  <td align="cente
11610 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37 22 3e 2e  r" colspan="7">.
11620 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64  ............</td
11630 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
11640 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
11650 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
11660 69 67 6e 3d 22 72 69 67 68 74 22 3e 53 6f 6c 75  ign="right">Solu
11670 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  tion</td><td ali
11680 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
11690 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
116a0 22 72 69 67 68 74 22 3e 31 38 34 30 33 35 3c 2f  "right">184035</
116b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
116c0 67 68 74 22 3e 35 37 39 2e 37 38 36 37 32 34 3c  ght">579.786724<
116d0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
116e0 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  60 GEOMETRY</td>
116f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
11700 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
11710 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c  NULL</td><td>Sol
11720 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c  ution</td><td al
11730 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
11740 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
11750 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 36 3c  ="right">184036<
11760 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
11770 69 67 68 74 22 3e 36 34 32 2e 36 39 31 35 39 37  ight">642.691597
11780 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
11790 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  =60 GEOMETRY</td
117a0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
117b0 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  e>..<br>..Let's 
117c0 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20  quickly examine 
117d0 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
117e0 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62  turned by the ab
117f0 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65  ove <b>isochrone
11800 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c  </b> query...<ul
11810 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69  >..<li>the <b>fi
11820 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74  rst row</b> of t
11830 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73 20  he resultset is 
11840 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f  someway exceptio
11850 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20  nal, and is the 
11860 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20 74 68  unique row of th
11870 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 73  e resultset pres
11880 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55  enting <b>NOT NU
11890 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e  LL</b> values in
118a0 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68   the <b>Algorith
118b0 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73  m</b>, <b>Reques
118c0 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f  t</b>, </b>Optio
118d0 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f 62 3e  ns</b> (and </b>
118e0 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 20 63  Delimiter</b>) c
118f0 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  olumns.</li>..<l
11900 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e 63 6c  i>all rows (incl
11910 75 64 69 6e 67 20 74 68 65 20 66 69 72 73 74 20  uding the first 
11920 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52 6f 6c  one) have <b>Rol
11930 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  e = Solution</b>
11940 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e 74 20  , and represent 
11950 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65 63 74  a single connect
11960 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62 3e 4e  ion between <b>N
11970 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  odeFrom</b> and 
11980 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c 20 77  <b>NodeTo</b>, w
11990 69 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f  ith the correspo
119a0 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c 2f 62  nding <b>Cost</b
119b0 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
119c0 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e   <b>Geometry</b>
119d0 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73 20 63   column always c
119e0 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
119f0 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c 2f 62  e <b>2D Point</b
11a00 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64 65 54  > where <b>NodeT
11a10 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74 65 64  o</b> is located
11a20 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
11a30 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
11a40 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f  : <b>isochrone</
11a50 62 3e 20 71 75 65 72 69 65 73 20 61 72 65 20 6e  b> queries are n
11a60 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 63  ot affected by c
11a70 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69  onfigurable opti
11a80 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 69 74  ons...<b>Algorit
11a90 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 61  hm</b> will be a
11aa0 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f  lways assumed to
11ab0 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72 61 3c   be <b>Dijsktra<
11ac0 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63 75 72  /b>, and the cur
11ad0 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  rent <b>Options<
11ae0 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77 69 6c  /b> settings wil
11af0 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67 6e 6f  l be simply igno
11b00 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  red...<verbatim>
11b10 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f 6e 63  ..SELECT ST_Conc
11b20 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c 6c 65  aveHull(ST_Colle
11b30 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d 0a 46  ct(Geometry))..F
11b40 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
11b50 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31  E NodeFrom = 181
11b60 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20  999 AND Cost <= 
11b70 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61  1000.0;..</verba
11b80 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63 68 72  tim>..Any isochr
11b90 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c 20 6a  one query will j
11ba0 75 73 74 20 72 65 74 75 72 6e 20 61 20 50 6f 69  ust return a Poi
11bb0 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75 20 65  nt-set; if you e
11bc0 76 65 6e 74 75 61 6c 6c 79 20 77 69 73 68 20 74  ventually wish t
11bd0 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63 6f 72  o obtain the cor
11be0 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65 61 6c  responding areal
11bf0 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
11c00 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f  you just have to
11c10 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c   call <b>ST_Coll
11c20 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64  ect()</b> in ord
11c30 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f 6e 6f  er to get a mono
11c40 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f 69 6e  lithic MultiPoin
11c50 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20  t, then calling 
11c60 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c  <b>ST_ConcaveHul
11c70 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72  l()</b> in order
11c80 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79 67 6f   to get a Polygo
11c90 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  n...<br><br><br>
11ca0 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20  ..The map below 
11cb0 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77  graphically show
11cc0 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c  s the previous <
11cd0 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20  b>isochrone</b> 
11ce0 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  query...<br><br>
11cf0 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
11d00 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
11d10 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
11d20 75 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f 63 68  uting-figs/isoch
11d30 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d 22 69  rone.jpg" alt="i
11d40 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e  sochrone">..<ul>
11d50 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 74 61  ..<li>Yellow sta
11d60 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f  r: the Origin No
11d70 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c  de.</li>..<li>Bl
11d80 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44 65 73  ue dots: all Des
11d90 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 20 77  tination Nodes w
11da0 69 74 68 69 6e 20 74 68 65 20 67 69 76 65 6e 20  ithin the given 
11db0 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Cost.</li>..<li>
11dc0 57 68 69 74 65 20 6c 69 6e 65 3a 20 74 68 65 20  White line: the 
11dd0 62 6f 75 6e 64 61 72 79 20 6f 66 20 74 68 65 20  boundary of the 
11de0 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72  Isochrone. ..<br
11df0 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  ><br>..<table bg
11e00 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
11e10 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
11e20 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
11e30 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c  ><tr><td>..<br><
11e40 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c  br>..<u><b>Note<
11e50 2f 62 3e 3c 2f 75 3e 3a 20 69 74 20 74 68 69 73  /b></u>: it this
11e60 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 76 65 20   example you've 
11e70 75 73 65 64 20 74 68 65 20 3c 62 3e 62 79 66 6f  used the <b>byfo
11e80 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2c 20  ot</b> Network, 
11e90 74 68 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e  that is based on
11ea0 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 65 78   <b>Costs</b> ex
11eb0 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65  pressed in <b>me
11ec0 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d 65 74  ters</b> (geomet
11ed0 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 65 61  ric length of ea
11ee0 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54  ch Link).<br>..T
11ef0 68 69 73 20 4e 65 74 77 6f 72 6b 20 69 73 20 6d  his Network is m
11f00 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64 20 66  ainly intended f
11f10 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e  or <b>pedestrian
11f20 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63 61 6e  s</b>, so we can
11f30 20 73 61 66 65 6c 79 20 61 73 73 75 6d 65 20 61   safely assume a
11f40 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e 74 20   <u><i>constant 
11f50 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66  speed</i></u> of
11f60 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 3e 20   about <b>4</b> 
11f70 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e  to <b>6 km/h</b>
11f80 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74  , and consequent
11f90 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f 63 68 72  ly the <b>Isochr
11fa0 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74 69 76  one</b> effectiv
11fb0 65 6c 79 20 72 65 73 70 65 63 74 73 20 74 68 65  ely respects the
11fc0 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69 6d 65   <u><i>same time
11fd0 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69 73 69  </i></u> requisi
11fe0 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 70 65  te.<br><br>..Spe
11ff0 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20 67 65  aking in more ge
12000 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20 61 6e 20  neral terms, an 
12010 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20 62 65  Isochrone can be
12020 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 67   intended as a g
12030 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d 20 66  eneric synonym f
12040 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 43 6f  or <u><i>same Co
12050 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e  st</i></u>, even
12060 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e   when there is n
12070 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e 65 63  o obvious connec
12080 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54 69 6d  tion with <b>Tim
12090 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d  e.</b>.<br><br>.
120a0 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62  .</td></tr></tab
120b0 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  le>..<hr><br>..<
120c0 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22  h1><a name="tsp"
120d0 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50  >7 - Solving TSP
120e0 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65   (traveling sale
120f0 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f  sman) problems</
12100 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c  a></h1>..<b>TSP<
12110 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74  /b> (<a href="ht
12120 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  tps://en.wikiped
12130 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76  ia.org/wiki/Trav
12140 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f  elling_salesman_
12150 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69  problem">Traveli
12160 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62  ng Salesman Prob
12170 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65  lem</a>) is a we
12180 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69  ll known Operati
12190 6f 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f  ons Research pro
121a0 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  blem...<br><br>.
121b0 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
121c0 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
121d0 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
121e0 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
121f0 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61  td>..<h3>The Tra
12200 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20  veling Salesman 
12210 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62  Problem</h3>..<b
12220 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74  ><i>Given a list
12230 20 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74   of cities and t
12240 68 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74  he distances bet
12250 77 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f  ween each pair o
12260 66 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69  f cities, what i
12270 73 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70  s the shortest p
12280 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68  ossible route th
12290 61 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63  at visits each c
122a0 69 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20  ity and returns 
122b0 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69  to the origin ci
122c0 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62  ty ?</i></b>..<b
122d0 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  r><br>..</td></t
122e0 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  r></table>..<br>
122f0 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74  ..<u>Note:</u> t
12300 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73  he terms <i><u>s
12310 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20  alesman</u></i> 
12320 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f  and <i><u>city</
12330 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65  u></i> are unive
12340 72 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20  rsally used for 
12350 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f  historical reaso
12360 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75  ns, but you shou
12370 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65  ld avoid to lite
12380 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74  rally intend bot
12390 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65  h them.<br>..The
123a0 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65   term <u><i>sale
123b0 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20  sman</i></u> in 
123c0 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f  this specific co
123d0 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e  ntext intends an
123e0 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20  y possible kind 
123f0 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20  of <u><i>moving 
12400 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70  agent</i></u> (p
12410 65 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63  edestrian, vehic
12420 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72  le, passenger or
12430 20 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c   whatever else),
12440 20 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c   exactly as <i><
12450 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73  u>city</u></i> s
12460 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72  imply stands for
12470 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72   any <i><u>gener
12480 69 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  ic destination</
12490 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65  u></i> on a give
124a0 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e  n Network...<br>
124b0 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e  <br>..We can con
124c0 63 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54  ceptualy split T
124d0 50 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73  PS in two halves
124e0 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d  :..<ol>..<li>com
124f0 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61  puting all dista
12500 6e 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69  nces between pai
12510 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c  rs of <i>cities<
12520 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74  /i>. This is a t
12530 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65  ypical <b>Shorte
12540 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c  stPath</b> probl
12550 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64  em, and we can d
12560 75 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b  uly use the Dijk
12570 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d  stra's algorithm
12580 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d   for this.</li>.
12590 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76  .<li>then we hav
125a0 65 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70  e to check all p
125b0 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75  ossible <b>permu
125c0 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62  tations</b> / <b
125d0 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62  >combinations</b
125e0 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79  > so to identify
125f0 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50   the optimal TSP
12600 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   solution.</li>.
12610 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c  .</ol>..Unhappil
12620 79 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61  y there is a pra
12630 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74  ctical difficult
12640 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61  y in such a stra
12650 69 67 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74  ight approach; t
12660 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d  he number of com
12670 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67  binations will g
12680 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61  row extremely fa
12690 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72  st as the number
126a0 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73   of <b><i>cities
126b0 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73  </i></b> increas
126c0 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20  es.<br>..Simply 
126d0 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f  computing the co
126e0 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74  mplete TSP solut
126f0 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65  ion for about te
12700 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65  n cities will re
12710 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20  quire a <b>very 
12720 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76  long time</b> ev
12730 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65 72  en using a super
12740 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41  computer.<br>..A
12750 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f  nd attempting to
12760 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73   compute a TSP s
12770 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75  olution for abou
12780 74 20 68 75 6e 64 72 65 64 20 63 69 74 69 65 73  t hundred cities
12790 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20   will require a 
127a0 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69  <b>practically i
127b0 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65  nfinite</b> time
127c0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77  ...<br><br>..How
127d0 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50  ever solving TSP
127e0 20 69 73 20 68 69 67 68 6c 79 20 64 65 73 69 72   is highly desir
127f0 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70  able in many app
12800 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a  lication fields:
12810 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62   <b>logistics</b
12820 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62  > (just think ab
12830 6f 75 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70  out courier comp
12840 61 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65  anies as DHL, Fe
12850 64 45 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29  dEX, UPS or TNT)
12860 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74  , <b>field maint
12870 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e  enance</b> / <b>
12880 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20  assistance</b>, 
12890 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74  <b>waste collect
128a0 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f  ion</b>, <b>scho
128b0 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73  olbus</b> / <b>s
128c0 68 61 72 65 64 20 74 61 78 69 20 73 65 72 76 69  hared taxi servi
128d0 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e  ces</b> etc.<br>
128e0 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d  ..Many algorithm
128f0 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65  s have been inve
12900 6e 74 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74  nted during last
12910 20 64 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65   decades intende
12920 64 20 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61  d to produce pra
12930 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20  ctical although 
12940 61 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d  approximate / im
12950 70 65 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75  perfect TSP solu
12960 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f  tions in a reaso
12970 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65  nably short time
12980 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20  ...Many of them 
12990 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20  strongly depend 
129a0 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  on <a href="http
129b0 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
129c0 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73  .org/wiki/Heuris
129d0 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f  tic">heuristic</
129e0 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68  a> and / or <a h
129f0 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e  ref="https://en.
12a00 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69  wikipedia.org/wi
12a10 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72  ki/Randomness">r
12a20 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a  andomness</a>...
12a30 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72  <br><br>..<b>Vir
12a40 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
12a50 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66  supports two dif
12a60 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72  ferent TSP algor
12a70 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ithms:..<ul>..<l
12a80 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20  i><b>TSP NN</b> 
12a90 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c  (<i>aka</i> <b><
12aa0 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62  i>Nearest Neighb
12ab0 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e  our</i></b>)<br>
12ac0 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22  ..This <a href="
12ad0 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
12ae0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65  edia.org/wiki/Ne
12af0 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f  arest_neighbour_
12b00 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74  algorithm">first
12b10 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69   algorithm</a> i
12b20 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72  s straightforwar
12b30 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72  d simple and ver
12b40 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65  y fast; it can e
12b50 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65  ffectively solve
12b60 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69   huge TSP soluti
12b70 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69  ons (thousand <i
12b80 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65  >cities</i> or e
12b90 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76  ven more) in a v
12ba0 65 72 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c  ery short time.<
12bb0 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65  br>..<u>Short de
12bc0 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a  scription</u>:..
12bd0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69  <ul>..<li>starti
12be0 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c  ng from the <u><
12bf0 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c  i>base city</i><
12c00 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61  /u> the <u><i>sa
12c10 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67  lesman</i></u> g
12c20 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69  oes to the <u><i
12c30 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72  >city</i></u> pr
12c40 65 73 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e  esenting the <i>
12c50 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63  <u>lesser connec
12c60 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69  tion cost</u></i
12c70 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
12c80 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64   already visited
12c90 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c   <i><u>city</u><
12ca0 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64  /i> is cancelled
12cb0 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20   from the list, 
12cc0 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e  and then the <u>
12cd0 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c  <i>salesman</i><
12ce0 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20  /u> goes to the 
12cf0 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c  next <u><i>city<
12d00 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69  /i></u> presenti
12d10 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73  ng the <i><u>les
12d20 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63  ser connection c
12d30 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69  ost</u></i>.</li
12d40 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65  >..<li>the cycle
12d50 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c   continues until
12d60 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69   all  <i><u>citi
12d70 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68  es</u></i> in th
12d80 65 20 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e  e list have been
12d90 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a   visited.</li>..
12da0 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65  <li>finally, the
12db0 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c   <u><i>salesman<
12dc0 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20  /i></u> returns 
12dd0 74 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69  to his/her initi
12de0 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69  al <u><i>base ci
12df0 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d  ty</i></u></li>.
12e00 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  .</ul>..<u>Note<
12e10 2f 75 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e  /u> it's very un
12e20 6c 69 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e  like that TSP NN
12e30 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20   could find the 
12e40 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73  <b>optimal</b> s
12e50 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20  olution, but it 
12e60 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64  can quickly find
12e70 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65   some reasonable
12e80 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c   <b>approximate<
12e90 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69  /b> solution (<i
12ea0 3e 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62  >few is surely b
12eb0 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69  etter than nothi
12ec0 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e  ng</i>).<br>..In
12ed0 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b   the most unluck
12ee0 79 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f  y case TSP NN co
12ef0 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74  uld possibly ret
12f00 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74  urn the <b>worst
12f10 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62   solution</b>, b
12f20 75 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20  ut the specific 
12f30 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61  implementation a
12f40 64 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61  dopted by Virtua
12f50 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20  lRouting checks 
12f60 61 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73  against this pos
12f70 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d  sibility:..<ul>.
12f80 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e  .<li>each TSP NN
12f90 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75   is always compu
12fa0 74 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e  ted twice by ran
12fb0 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61  domly choosing a
12fc0 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69   different <u><i
12fd0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f  >base city</i></
12fe0 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d  u> and then norm
12ff0 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75  alizing the solu
13000 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f  tion; the best o
13010 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69  f the two soluti
13020 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75  ons is then retu
13030 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  rned.</li>..<li>
13040 74 68 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20  this simple but 
13050 65 66 66 65 63 74 69 76 65 20 70 72 65 63 61 75  effective precau
13060 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e  tion robustly en
13070 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 3c  sures that the <
13080 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e  b>worst solution
13090 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20  </b> will never 
130a0 62 65 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64  be returned, and
130b0 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20   just implies a 
130c0 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65  moderately incre
130d0 61 73 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74  ased execution t
130e0 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ime.</li>..</ul>
130f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53  </li>..<li><b>TS
13100 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  P GA</b> (<i>aka
13110 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74  </i> <b><i>Genet
13120 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e  ic Algorithm</i>
13130 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73  </b>).<br>..This
13140 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
13150 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
13160 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f  rg/wiki/Genetic_
13170 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72  algorithm">alter
13180 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d  native algorithm
13190 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72  </a> is much mor
131a0 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f  e complex and so
131b0 70 68 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64  phisticated, and
131c0 20 69 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73   is directly ins
131d0 70 69 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69  pired by biologi
131e0 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63  cal concepts suc
131f0 68 20 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72  h as <b>sexual r
13200 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c  eproduction</b>,
13210 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61   <b>genetic muta
13220 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tions</b> and <b
13230 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69  >natural selecti
13240 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  on</b>.<br>..<u>
13250 53 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f  Short descriptio
13260 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  n</u>:..<ul>..<l
13270 69 3e 61 20 66 69 72 73 74 20 69 6e 69 74 69 61  i>a first initia
13280 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f  l set of solutio
13290 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f  ns (<i><u>the po
132a0 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  pulation</u></i>
132b0 29 20 69 73 20 63 72 65 61 74 65 64 20 62 79 20  ) is created by 
132c0 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74  using TSP NN aft
132d0 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f  er randomly choo
132e0 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62  sing the <u><i>b
132f0 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ase city</i></u>
13300 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c   and then normal
13310 69 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74  izing each solut
13320 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ion.</li>..<li>t
13330 68 65 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20  hen during each 
13340 73 74 65 70 20 6f 66 20 74 68 65 20 65 78 65 63  step of the exec
13350 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c  ution loop (<i><
13360 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e  u>generation</u>
13370 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73  </i>) pairs of s
13380 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73  olutions <i><u>s
13390 65 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63  exually reproduc
133a0 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e  es</i></u> givin
133b0 67 20 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69  g birth to <u><i
133c0 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69  >children soluti
133d0 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70  ons</i></u>; rep
133e0 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62  roduction is sub
133f0 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68  ject to <u><i>ch
13400 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76  romosome crossov
13410 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20  ers</i></u> and 
13420 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74  <i><u>random mut
13430 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f  ation</u></i>.</
13440 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63  li>..<li>for eac
13450 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69  h <i><u>generati
13460 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c  on</u></i> the <
13470 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c  i><u>natural sel
13480 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65  ection</u></i> e
13490 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f  liminates all po
134a0 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64  orly fit individ
134b0 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75  uals from the <u
134c0 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f  ><i>population</
134d0 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65  i></u> and conse
134e0 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65  quently only the
134f0 20 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69   best fit indivi
13500 64 75 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65  duals can furthe
13510 72 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 69  r propagate thei
13520 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f  r <u><i>genome</
13530 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65  i></u> to the ne
13540 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74  xt <u><i>generat
13550 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69  ion</i></u>.</li
13560 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63  >..<li>after a c
13570 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66  ertain number of
13580 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f   <i><u>generatio
13590 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27  ns</i></u> (let'
135a0 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65  s say about some
135b0 20 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61   hundredth itera
135c0 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70  tions) the <b>op
135d0 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f  timal solution</
135e0 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20  b> (or at least 
135f0 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64  a <b>fairly good
13600 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c   sub-optimal sol
13610 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c  ution</b>) shoul
13620 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65  d finally emerge
13630 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f  , and so the loo
13640 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e  p can exit.</li>
13650 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
13660 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54  i><u>Note</u>: T
13670 53 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79  SP GA is usually
13680 20 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65   expected to ide
13690 6e 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c  ntify better sol
136a0 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20  utions than TSP 
136b0 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69  NN can do, but i
136c0 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65  t will surely re
136d0 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20  quire much more 
136e0 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65  time to complete
136f0 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a  .</li> ..</ul>..
13700 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  <br><br>..Let's 
13710 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72  now examine a pr
13720 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20  actical example 
13730 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75  of TSP solving u
13740 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74  sing VirtualRout
13750 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d  ing. ..<verbatim
13760 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
13770 20 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27   SET Request = '
13780 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  TSP';....SELECT 
13790 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
137a0 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
137b0 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
137c0 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
137d0 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
137e0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
137f0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
13800 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
13810 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
13820 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
13830 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
13840 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
13850 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
13860 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74  erbatim>..A Virt
13870 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53  ualRouting <b>TS
13880 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20  P</b> query has 
13890 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63  the same identic
138a0 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e  al form of a <b>
138b0 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
138c0 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65  n</b> query; the
138d0 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79   <i><u>base city
138e0 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79  <u></i> is alway
138f0 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  s expected to co
13900 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e  rrespond to <b>N
13910 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  odeFrom</b> and 
13920 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e  all other <i><u>
13930 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74  cities</u></i> t
13940 6f 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65  o be visited are
13950 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20   expected to be 
13960 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20  enumerated into 
13970 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  a <b>multi-desti
13980 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20  nation</b> list 
13990 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e  assigned to <b>N
139a0 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e  odeTo</b>...<u>N
139b0 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73  ote</u>: you mus
139c0 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74  t explicitly set
139d0 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e   the current <b>
139e0 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c  Request</b> as <
139f0 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53  b>TSP</b>, <b>TS
13a00 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54  P NN</b> or <b>T
13a10 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61  SP GA</b> (TSP a
13a20 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79  nd TSP NN are sy
13a30 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62  nonyms)...<br><b
13a40 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
13a50 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
13a60 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
13a70 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
13a80 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
13a90 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13aa0 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
13ab0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13ac0 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
13ad0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13ae0 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
13af0 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
13b00 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
13b10 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
13b20 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13b30 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
13b40 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
13b50 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
13b60 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
13b70 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
13b80 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13b90 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
13ba0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13bb0 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
13bc0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
13bd0 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
13be0 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
13bf0 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
13c00 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
13c10 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
13c20 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
13c30 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
13c40 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
13c50 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
13c60 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c  </td><td>TSP NN<
13c70 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64  /td><td>Full</td
13c80 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
13c90 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
13ca0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13cb0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
13cc0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
13cd0 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75  /td><td>TSP Solu
13ce0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
13cf0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13d00 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
13d10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13d20 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
13d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13d40 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74  ">1254.433933</t
13d50 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30  d><td>BLOB sz=20
13d60 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  00 GEOMETRY</td>
13d70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
13d80 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
13d90 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13da0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13db0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
13dc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
13dd0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13de0 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
13df0 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
13e00 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13e10 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
13e20 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13e30 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
13e40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13e50 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
13e60 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
13e70 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
13e80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
13e90 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
13ea0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13eb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13ec0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13ed0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13ee0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
13ef0 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
13f00 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
13f10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
13f20 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
13f30 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
13f40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13f50 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
13f60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13f70 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
13f80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13f90 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
13fa0 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
13fb0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  >..<tr>..<tr>..<
13fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13fd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13fe0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13ff0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14000 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
14010 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
14020 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14030 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14040 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64  ">224862</td><td
14050 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14060 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
14070 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
14080 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  43</td><td align
14090 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32  ="right">37.0952
140a0 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  87</td><td>NULL<
140b0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
140c0 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
140d0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
140e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
140f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14100 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14110 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14120 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
14130 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
14140 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
14150 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
14160 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  6070</td><td ali
14170 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34  gn="right">18204
14180 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
14190 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
141a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
141b0 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f  ght">44.457044</
141c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
141d0 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27  <td>PIAZZA SANT'
141e0 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c  AGOSTINO</td>..<
141f0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14200 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14210 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14220 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14230 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14240 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
14250 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
14260 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
14270 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14280 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
14290 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
142a0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
142b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
142c0 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33  right">139.11493
142d0 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
142e0 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f  z=496 GEOMETRY</
142f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14300 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14310 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14320 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14330 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14340 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14350 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
14360 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
14370 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14380 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14390 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64  ">226071</td><td
143a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
143b0 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  84030</td><td al
143c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36  ign="right">1826
143d0 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  29</td><td align
143e0 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30  ="right">55.6890
143f0 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  09</td><td>NULL<
14400 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53  /td><td>VIA GIUS
14410 45 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f  EPPE GARIBALDI</
14420 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14430 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14440 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14450 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14460 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14470 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
14480 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14490 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
144a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
144b0 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e  ght">225512</td>
144c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
144d0 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64  ">182629</td><td
144e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
144f0 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82933</td><td al
14500 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31  ign="right">34.1
14510 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  84194</td><td>NU
14520 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
14530 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
14540 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14550 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14560 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14570 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14580 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14590 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
145a0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
145b0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
145c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
145d0 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5511</td><td ali
145e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33  gn="right">18293
145f0 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
14600 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
14610 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14620 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f  ght">49.241735</
14630 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14640 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
14650 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14660 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14670 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14680 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14690 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
146a0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
146b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
146c0 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
146d0 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
146e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
146f0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
14700 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14710 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
14720 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14730 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74  17.672885</td><t
14740 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45  d>BLOB sz=688 GE
14750 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
14760 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
14770 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14780 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14790 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
147a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
147b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
147c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
147d0 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
147e0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
147f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35  n="right">222635
14800 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14810 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
14820 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14830 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c  ht">181998</td><
14840 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14850 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e  >101.629750</td>
14860 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14870 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
14880 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14890 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
148a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
148b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
148c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
148d0 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
148e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
148f0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</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 32 32 34 37 38 30 3c 2f 74 64 3e 3c  ht">224780</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 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20  >181998</td><td 
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14950 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3560</td><td ali
14960 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33  gn="right">73.73
14970 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3572</td><td>NUL
14980 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
14990 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74  LL'ANFITEATRO</t
149a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
149b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
149c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
149d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
149e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
149f0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
14a00 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14a10 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
14a20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14a30 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  25827</td><td al
14a40 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35  ign="right">1835
14a50 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  60</td><td align
14a60 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
14a70 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14a80 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c  ight">42.309564<
14a90 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14aa0 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e  ><td>VIA DELL'AN
14ab0 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c  FITEATRO</td>..<
14ac0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14af0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14b00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14b10 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
14b20 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
14b30 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
14b40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14b50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
14b60 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
14b70 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
14b80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14b90 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38  right">378.31368
14ba0 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
14bb0 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
14bc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14bd0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14be0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14bf0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14c00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14c10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14c20 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
14c30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
14c40 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14c50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14c60 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
14c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14c80 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
14c90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
14ca0 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
14cb0 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
14cc0 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
14cd0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
14ce0 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
14cf0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14d00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14d10 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14d20 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14d40 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">5</td><td alig
14d50 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
14d60 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
14d70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14d80 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  19171</td><td al
14d90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
14da0 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
14db0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
14dc0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14dd0 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c  ight">93.285538<
14de0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14df0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
14e00 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
14e10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14e20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14e30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14e40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14e50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14e60 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">5</td><td ali
14e70 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
14e80 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14e90 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14ea0 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
14eb0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
14ec0 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
14ed0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
14ee0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14ef0 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38  right">148.65608
14f00 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
14f10 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
14f20 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
14f30 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14f40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14f50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14f60 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14f70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f80 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
14f90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
14fa0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
14fb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14fc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14fd0 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
14fe0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
14ff0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
15000 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31  n="right">188.21
15010 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  6831</td><td>BLO
15020 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52  B sz=400 GEOMETR
15030 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
15040 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
15050 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
15060 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15070 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
15080 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
15090 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
150a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
150b0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
150c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
150d0 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e  ght">224538</td>
150e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
150f0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
15100 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15110 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  81972</td><td al
15120 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39  ign="right">50.9
15130 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55  00663</td><td>NU
15140 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
15150 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c  NTONIO GUADAGNOL
15160 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
15170 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
15180 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15190 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
151a0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61  NULL</td>..<td a
151b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
151c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
151d0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
151e0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
151f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37  n="right">224537
15200 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15210 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74  right">181972</t
15220 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15230 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
15240 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15250 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c  >86.301051</td><
15260 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15270 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f  VIA DEL NINFEO</
15280 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
15290 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
152a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
152b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
152c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
152d0 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
152e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
152f0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
15300 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15310 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e  ght">225527</td>
15320 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15330 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64  ">182000</td><td
15340 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15350 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
15360 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30  ign="right">51.0
15370 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  15117</td><td>NU
15380 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c  LL</td><td>VIA L
15390 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74  ICIO NENCETTI</t
153a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
153b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
153c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
153d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
153e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
153f0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
15400 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
15410 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
15420 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
15430 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
15440 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
15450 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
15460 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15470 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
15480 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  9</td><td>BLOB s
15490 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
154a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
154b0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
154c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
154d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
154e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
154f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15500 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61  ght">7</td><td a
15510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
15520 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
15530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15540 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64  ">225527</td><td
15550 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15560 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
15570 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
15580 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
15590 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31  ="right">51.0151
155a0 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
155b0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49  /td><td>VIA LICI
155c0 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d  O NENCETTI</td>.
155d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
155e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
155f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15600 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15610 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15620 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">7</td><td al
15630 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
15640 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
15650 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15660 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20  >222636</td><td 
15670 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
15680 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
15690 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
156a0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
156b0 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37  "right">103.7357
156c0 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  22</td><td>NULL<
156d0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
156e0 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
156f0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
15700 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  ..<br>..Let's no
15710 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  w quickly examin
15720 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
15730 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20  returned by any 
15740 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e  TSP query:..<ul>
15750 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61  ..<li>the genera
15760 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65  l layout is more
15770 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d   or less the sam
15780 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65  e as you've alre
15790 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20  ady seen in the 
157a0 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74  case of <b>Short
157b0 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72  estPath</b> quer
157c0 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ies.</li>..<li>t
157d0 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c  he <b>first row<
157e0 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c  /b> of the resul
157f0 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20  tset is someway 
15800 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64  exceptional, and
15810 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72   is the unique r
15820 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  ow of the result
15830 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c  set presenting <
15840 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
15850 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e  alues in the <b>
15860 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c  Algorithm</b>, <
15870 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c  b>Request</b>, <
15880 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e  b>Options</b> an
15890 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  d <b>Delimiter</
158a0 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d  b> columns.<br>.
158b0 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65  .It contains the
158c0 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e   <b>TSP solution
158d0 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a  </b> as a whole:
158e0 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c   column <b>Cost<
158f0 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f  /b> is the <u>to
15900 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64  tal cost</u> and
15910 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65   column <b>Geome
15920 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c  try</b> is the <
15930 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69  u>overall soluti
15940 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69  on path</u>.</li
15950 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c  >..<li>columns <
15960 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e  b>RouteId</b> an
15970 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62  d <b>RouteRow</b
15980 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  > have the same 
15990 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61  interpretation a
159a0 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  s in <b>multi-de
159b0 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
159c0 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69  stPath</b> queri
159d0 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20  es, but in this 
159e0 73 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61  specific case ea
159f0 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f  ch <u><i>route</
15a00 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e  i></u> correspon
15a10 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69  ds to a connecti
15a20 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c  on between two <
15a30 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c  i><u>cities</u><
15a40 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69  /i>.<br>..All <i
15a50 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f  ><u>routes</u></
15a60 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63  i> are order acc
15a70 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
15a80 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65  running sequence
15a90 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75   of the TSP solu
15aa0 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64  tion. <b>RouteId
15ab0 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  =0</b> identifie
15ac0 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53  s the overall TS
15ad0 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  P solution.</li>
15ae0 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d  ..</ul><br><br>.
15af0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
15b00 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52  ATE byfoot SET R
15b10 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41  equest = 'TSP GA
15b20 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
15b30 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
15b40 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69   Options, Delimi
15b50 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ter, RouteId, Ro
15b60 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
15b70 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
15b80 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
15b90 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
15ba0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
15bb0 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
15bc0 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
15bd0 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39   = '183286,18199
15be0 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c  9,184030,183882,
15bf0 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
15c00 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69  atim>..If you wi
15c10 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54  sh to get a <b>T
15c20 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69  SP GA</b> soluti
15c30 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61  on you simple ha
15c40 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71  ve to set <b>Req
15c50 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54  uest</b> as <b>T
15c60 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79  SP GA</b>; and y
15c70 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e  ou can set again
15c80 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20   <b>Request</b> 
15c90 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72  as <b>TSP</b> or
15ca0 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74   <b>TSP NN</b> t
15cb0 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f  o revert back to
15cc0 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66   the simpler / f
15cd0 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e  aster algorithm.
15ce0 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20  ..<br>..Also in 
15cf0 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20  the case of TSP 
15d00 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c  you can eventual
15d10 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20  ly activate the 
15d20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73  usual <b>Options
15d30 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70  </b> already exp
15d40 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68  lained in the Sh
15d50 6f 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70  ortestPath examp
15d60 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  les.<br>..<u>Not
15d70 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65  e</u>:TSP proble
15d80 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69  ms will always i
15d90 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c  mply using the <
15da0 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e  b>Dijkstra's</b>
15db0 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e   algorithm, even
15dc0 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e   when the altern
15dd0 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20  ative <b>A*</b> 
15de0 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72  algorithm is cur
15df0 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e  rently selected.
15e00 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50  ..<verbatim>..UP
15e10 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
15e20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c  Request = 'TSP',
15e30 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c   Options = 'NO L
15e40 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54  INKS';....SELECT
15e50 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75   Algorithm, Requ
15e60 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65  est, Options, De
15e70 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64  limiter, RouteId
15e80 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  , RouteRow, Role
15e90 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
15ea0 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
15eb0 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
15ec0 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
15ed0 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d  ..WHERE NodeFrom
15ee0 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f   = 178731 AND No
15ef0 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31  deTo = '183286,1
15f00 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33  81999,184030,183
15f10 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f  882,178754';..</
15f20 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66  verbatim>..The f
15f30 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
15f40 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
15f50 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
15f60 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 72  he same TSP quer
15f70 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72  y used in the pr
15f80 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61  evious example a
15f90 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68  fter enabling th
15fa0 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62  e <b>NO LINKS</b
15fb0 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62  > option. <br><b
15fc0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
15fd0 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
15fe0 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
15ff0 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
16000 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
16010 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
16020 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
16030 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16040 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
16050 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16060 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
16070 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
16080 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
16090 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
160a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
160b0 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
160c0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
160d0 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
160e0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
160f0 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
16100 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
16110 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
16120 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16130 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
16140 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16150 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
16160 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
16170 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
16180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16190 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
161a0 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
161b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
161c0 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
161d0 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
161e0 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c  </td><td>TSP NN<
161f0 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73  /td><td>No Links
16200 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
16210 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
16220 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
16230 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16240 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16250 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  ">0</td><td>TSP 
16260 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64  Solution</td><td
16270 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16280 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
16290 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
162a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
162b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
162c0 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33  ight">1254.43393
162d0 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  3</td><td>BLOB s
162e0 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c  z=2000 GEOMETRY<
162f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16300 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
16310 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16320 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16330 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16340 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16350 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >1</td><td align
16360 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16370 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16380 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16390 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
163a0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
163b0 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
163c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
163d0 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35  ight">176.364755
163e0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
163f0 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =304 GEOMETRY</t
16400 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
16410 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
16420 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16430 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16440 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64  </td><td>NULL<td
16450 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
16460 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16470 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
16480 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
16490 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
164a0 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
164b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
164c0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
164d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
164e0 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f  ht">139.114938</
164f0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34  td><td>BLOB sz=4
16500 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  96 GEOMETRY</td>
16510 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
16520 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
16530 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16540 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16550 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16560 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16570 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
16580 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16590 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
165a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
165b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
165c0 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
165d0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
165e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
165f0 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38  right">217.67288
16600 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  5</td><td>BLOB s
16610 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f  z=688 GEOMETRY</
16620 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16630 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
16640 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16650 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16660 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16670 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16680 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
16690 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
166a0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
166b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
166c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
166d0 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
166e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
166f0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
16700 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31  n="right">378.31
16710 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  3684</td><td>BLO
16720 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
16730 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
16740 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
16750 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
16760 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16770 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16780 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16790 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
167a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
167b0 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
167c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
167d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
167e0 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
167f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16800 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
16810 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38  lign="right">188
16820 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e  .216831</td><td>
16830 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d  BLOB sz=400 GEOM
16840 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
16850 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
16860 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
16870 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16880 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16890 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
168a0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
168b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
168c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
168d0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
168e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
168f0 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64  ight">183882</td
16900 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16910 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
16920 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16930 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
16940 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47  td>BLOB sz=240 G
16950 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
16960 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
16970 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
16980 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61  <br><br>..The ma
16990 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61  p below graphica
169a0 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72  lly shows the pr
169b0 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62  evious <b>TSP</b
169c0 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e  > queries...<br>
169d0 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <br>..<img src="
169e0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
169f0 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
16a00 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74  s/routing-figs/t
16a10 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69  sp1.jpg" alt="fi
16a20 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  g4">..<ul>..<li>
16a30 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75  Red star: the <u
16a40 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69  ><i>base-city</i
16a50 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72  ></u> (from wher
16a60 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65  e the <u><i>sale
16a70 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65  sman</i></u>) be
16a80 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69  gins his/her tri
16a90 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65  p.</li>..<li>Gre
16aa0 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e  en dots: the <u>
16ab0 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75  <i>cities</i></u
16ac0 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e  > to be visited.
16ad0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f  </li>..<li>Yello
16ae0 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20  w line: the TSP 
16af0 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69  solution (that i
16b00 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 75  s always a circu
16b10 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d  lar path).</li>.
16b20 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62  .</ul><br>..<tab
16b30 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62  le bgcolor="#ffb
16b40 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  060" cellspacing
16b50 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
16b60 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
16b70 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77  <h3>Warning: how
16b80 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61   to correctly ha
16b90 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c  ndling TSP resul
16ba0 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74 69  tsets with spati
16bb0 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a  alite_gui</h3>..
16bc0 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72  You should never
16bd0 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c   forget or overl
16be0 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62  ook that both <b
16bf0 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20  >TSP NN</b> and 
16c00 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72  <b>TSP GA</b> ar
16c10 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69  e <u><i>heuristi
16c20 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e  c algorithms</i>
16c30 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c  </u> heavily rel
16c40 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61  ying on <u><i>ra
16c50 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69  ndom<i></u> choi
16c60 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63  ces.<br>..This c
16c70 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65  ould easily have
16c80 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 63   the practical c
16c90 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 20  onsequence that 
16ca0 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20  resolving twice 
16cb0 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69  (or even more ti
16cc0 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 64  mes) the same id
16cd0 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 72  entical TSP quer
16ce0 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c  y could eventual
16cf0 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 72  ly return differ
16d00 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c  ent resultsets.<
16d10 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f  br>..There is no
16d20 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61  thing intrinsica
16d30 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69  lly wrong in thi
16d40 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20  s, it simply is 
16d50 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75  a direct consequ
16d60 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75  ence of using <u
16d70 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f  ><i>randomness</
16d80 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73  i></u>; we are s
16d90 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67  imply bargaining
16da0 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62   <b>exactness</b
16db0 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75  > and <b>reprodu
16dc0 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72  cibility</b> for
16dd0 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62   <b>quickness</b
16de0 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73  >.<br><br>..<b>s
16df0 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62  patialite_gui</b
16e00 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f  > on its own ado
16e10 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73  pts a <b>paged s
16e20 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e  trategy</b> when
16e30 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65   showing huge re
16e40 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72  sultsets; this r
16e50 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69 6e  equires repeatin
16e60 67 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74  g again the init
16e70 69 61 6c 20 53 51 4c 20 71 75 65 72 79 20 65 61  ial SQL query ea
16e80 63 68 20 74 69 6d 65 20 74 68 61 74 20 61 20 3c  ch time that a <
16e90 62 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 35 30  b>new page of 50
16ea0 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 20 74  0 rows</b> has t
16eb0 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 74 68  o be shown on th
16ec0 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77  e current window
16ed0 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65   panel.<br>..The
16ee0 20 74 77 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27   two things don'
16ef0 74 20 67 6f 20 74 6f 67 65 74 68 65 72 20 77 65  t go together we
16f00 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62 65 20  ll; so don't be 
16f10 73 75 72 70 72 69 73 65 64 20 77 68 65 6e 20 65  surprised when e
16f20 76 65 6e 74 75 61 6c 6c 79 20 64 69 73 63 6f 76  ventually discov
16f30 65 72 69 6e 67 20 74 68 61 74 20 3c 62 3e 73 70  ering that <b>sp
16f40 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
16f50 20 77 69 6c 6c 20 62 65 68 61 76 65 20 62 69 7a   will behave biz
16f60 61 72 72 65 6c 79 20 77 68 69 6c 65 20 70 72 65  arrely while pre
16f70 73 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72 65 73  senting some res
16f80 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
16f90 62 79 20 61 20 54 53 50 20 71 75 65 72 79 2e 20  by a TSP query. 
16fa0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50  ..<verbatim>..UP
16fb0 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
16fc0 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b  Request = 'TSP';
16fd0 0d 0a 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45  ....CREATE TABLE
16fe0 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e   my_tsp_solution
16ff0 20 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f   AS..SELECT Algo
17000 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20  rithm, Request, 
17010 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74  Options, Delimit
17020 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75  er, RouteId, Rou
17030 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
17040 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
17050 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
17060 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
17070 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
17080 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
17090 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
170a0 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39  = '183286,181999
170b0 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31  ,184030,183882,1
170c0 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20  78754';.......  
170d0 3c 6e 6f 77 20 71 75 65 72 79 20 22 6d 79 5f 74  <now query "my_t
170e0 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69  sp_solution" usi
170f0 6e 67 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75  ng spatialite_gu
17100 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20  i>  .......DROP 
17110 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c  TABLE my_tsp_sol
17120 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74  ution;..</verbat
17130 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e  im>..<u>Hint</u>
17140 3a 20 72 65 73 6f 6c 76 69 6e 67 20 74 68 69 73  : resolving this
17150 20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20   puzzling issue 
17160 69 73 20 68 6f 77 65 76 65 72 20 62 61 73 69 63  is however basic
17170 61 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f  ally simple:..<o
17180 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70  l>..<li>you simp
17190 6c 79 20 68 61 76 65 20 74 6f 20 74 61 6b 65 20  ly have to take 
171a0 61 20 3c 62 3e 73 74 61 74 69 63 20 73 6e 61 70  a <b>static snap
171b0 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72  shot</b> of your
171c0 20 54 53 50 20 72 65 73 75 6c 74 73 65 74 20 62   TSP resultset b
171d0 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 43  y using the <b>C
171e0 52 45 41 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e  REATE TABLE <i>n
171f0 61 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53  ame</i> AS <i>TS
17200 50 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c  P query<i></b>.<
17210 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79  /li>..<li>then y
17220 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20 65 78  ou can freely ex
17230 61 6d 69 6e 65 20 74 68 65 20 61 62 6f 76 65 20  amine the above 
17240 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a  snapshot.</li>..
17250 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20  <li>and finally 
17260 79 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e  you can duly <b>
17270 44 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61  DROP</b> the sna
17280 70 73 68 6f 74 20 6f 6e 63 65 20 69 74 27 73 20  pshot once it's 
17290 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c  no longer useful
172a0 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c  .</li>..</ol>..<
172b0 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
172c0 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c  le>..<br>..<tabl
172d0 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66  e bgcolor="#c0ff
172e0 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  c0" cellspacing=
172f0 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
17300 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c  ="6"><tr><td>..<
17310 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69  h3>More about Li
17320 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67  near Referencing
17330 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74   and VirtualRout
17340 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c  ing Linestrings<
17350 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20  /h3> ..You have 
17360 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20  already seen in 
17370 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  a previous examp
17380 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45  le that all LINE
17390 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 64 20  STRINGs created 
173a0 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
173b0 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62  g support the <b
173c0 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65  >M</b> (<b><i>me
173d0 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63  asure</i></b>) c
173e0 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64  oordinate intend
173f0 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72  ed as a <b>progr
17400 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20  essive cost</b> 
17410 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 78 2e  for each vertex.
17420 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79   And you already
17430 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63   know the they c
17440 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69  an support <b><i
17450 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63  >linear referenc
17460 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e  ing</i></b> (<b>
17470 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63  LR</b>) SQL func
17480 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27  tions.<br>..Let'
17490 73 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75 72 74  s now go in furt
174a0 68 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68 33 3e  her depth...<h3>
174b0 54 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a 65 63  Trajectory objec
174c0 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e 54 72  ts</h3>..A <b>Tr
174d0 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69 73 20  ajectory</b> is 
174e0 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 73  any Linestring s
174f0 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d 20 63  upporting <b>M c
17500 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e 20 77  oordinates</b> w
17510 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f 75 73  ith a continuous
17520 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 20 74 72  ly increasing tr
17530 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d  end.<br>..In sim
17540 70 6c 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20  pler words, the 
17550 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f  <b>M-value</b> o
17560 66 20 65 61 63 68 20 76 65 72 74 65 78 20 28 65  f each vertex (e
17570 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6f  xcept the last o
17580 6e 65 29 20 6d 75 73 74 20 62 65 20 3c 62 3e 6c  ne) must be <b>l
17590 65 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e 20 74  esser</b> than t
175a0 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20 74 68  he M-Value of th
175b0 65 20 6e 65 78 74 20 76 65 72 74 65 78 2e 0d 0a  e next vertex...
175c0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
175d0 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 73 70  CT * FROM my_tsp
175e0 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52 45 20  _solution WHERE 
175f0 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63  ST_IsValidTrajec
17600 74 6f 72 79 28 67 65 6f 6d 65 74 72 79 29 20 3d  tory(geometry) =
17610 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   1;..-----------
17620 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76  --------..1..</v
17630 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75  erbatim>..As you
17640 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63   can easily chec
17650 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e  k by calling <b>
17660 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63  ST_IsValidTrajec
17670 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65 72 79  tory()</b> every
17680 20 4c 69 6e 65 73 74 72 69 6e 67 20 63 72 65 61   Linestring crea
17690 74 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f  ted by VirtualRo
176a0 75 74 69 6e 67 20 69 73 20 61 20 3c 62 3e 76 61  uting is a <b>va
176b0 6c 69 64 20 54 72 61 6a 65 63 74 6f 72 79 3c 2f  lid Trajectory</
176c0 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  b>...<verbatim>.
176d0 0a 53 45 4c 45 43 54 20 53 54 5f 54 72 61 6a 65  .SELECT ST_Traje
176e0 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65  ctoryInterpolate
176f0 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79 2c 20  Point(Geometry, 
17700 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f  100.0)..FROM my_
17710 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48  tsp_solution..WH
17720 45 52 45 20 52 6f 75 74 65 49 64 20 3d 20 30 3b  ERE RouteId = 0;
17730 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ..</verbatim>..S
17740 6f 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20  o you just have 
17750 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 54 72  to call <b>ST_Tr
17760 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c  ajectoryInterpol
17770 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 69  atePoint()</b> i
17780 6e 20 6f 72 64 65 72 20 74 6f 20 63 72 65 61 74  n order to creat
17790 65 20 61 20 50 4f 49 4e 54 20 70 72 65 63 69 73  e a POINT precis
177a0 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e 20 74  ely located on t
177b0 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 20 61 74  he Linestring at
177c0 20 74 68 65 20 67 69 76 65 6e 20 3c 62 3e 63 6f   the given <b>co
177d0 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72  st</b>...<br><br
177e0 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54  ><hr><br><br>..T
177f0 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70  he side map grap
17800 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
17810 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69  e estimated posi
17820 74 69 6f 6e 73 20 65 76 65 72 79 20 31 30 30 6d  tions every 100m
17830 20 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61   assuming the sa
17840 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 64  me path returned
17850 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 54   by the latest T
17860 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e  SP query...</td>
17870 3c 74 64 3e 20 20 20 20 20 20 20 20 20 20 20 20  <td>            
17880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffb0 20 20 20 20 20 20 20 20 20 20 20 0d 0a 3c 69 6d             ..<im
1ffc0 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
1ffd0 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
1ffe0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67  aia-sins/routing
1fff0 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70 67 22 20  -figs/tsp2.jpg" 
20000 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c 2f 74  alt="fig5">..</t
20010 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d  d></tr></table>.
20020 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c  .<br><br>..<hr><
20030 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  br>..<h1><a name
20040 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f 6c 76 69  ="p2p">8 - Solvi
20050 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  ng Point-to-Poin
20060 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f  t problems</a></
20070 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d  h1>..A <b>Point-
20080 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65  to-Point</b> que
20090 72 79 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c  ry is very simil
200a0 61 72 20 74 6f 20 61 20 6d 6f 73 74 20 75 73 75  ar to a most usu
200b0 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73  al <b>single-des
200c0 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
200d0 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 79  t Path</b> query
200e0 2c 20 65 78 63 65 70 74 20 74 68 61 74 3a 0d 0a  , except that:..
200f0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73  <ul>..<li>A clas
20100 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74  sic Shortest Pat
20110 68 20 71 75 65 72 79 20 72 65 71 75 69 72 65 73  h query requires
20120 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62   to specify a <b
20130 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c  >NodeFrom</b> (<
20140 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c  u><i>origin</i><
20150 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e 4e 6f  /u>) and a <b>No
20160 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e  deTo</b> (<u><i>
20170 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c  destination</i><
20180 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /u>).</li>..<li>
20190 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  A Point-to-Point
201a0 20 71 75 65 72 79 20 68 61 73 20 6d 6f 72 65 20   query has more 
201b0 72 65 6c 61 78 65 64 20 72 65 71 75 69 73 69 74  relaxed requisit
201c0 65 73 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71  es, and just req
201d0 75 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79  uires to specify
201e0 20 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c   a <b>PointFrom<
201f0 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69  /b> (<u><i>origi
20200 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61  n</i></u>) and a
20210 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20   <b>PointTo</b> 
20220 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69  (<u><i>destinati
20230 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e  on</i></u>).<br>
20240 0d 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73  ..Both <b>Points
20250 3c 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65  </b> can be free
20260 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76  ly positioned ev
20270 65 72 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61  erywhere on a ma
20280 70 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72  p, and are not r
20290 65 71 75 69 72 65 64 20 74 6f 20 70 72 65 63 69  equired to preci
202a0 73 65 6c 79 20 69 6e 74 65 72 73 65 63 74 20 6e  sely intersect n
202b0 65 69 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65  either a <b>Node
202c0 3c 2f 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69  </b> nor a <b>Li
202d0 6e 6b 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e  nk</b> of the un
202e0 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
202f0 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e  k.<br>..The Poin
20300 74 2d 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e  t-to-Point's <u>
20310 3c 69 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69  <i>internal logi
20320 63 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74  c</i></u> will t
20330 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  hen automaticall
20340 79 20 69 64 65 6e 74 69 66 79 20 28 69 66 20 70  y identify (if p
20350 6f 73 73 69 62 6c 65 29 20 74 68 65 20 61 70 70  ossible) the app
20360 72 6f 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66  ropriate Nodes f
20370 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53  or computing a S
20380 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c  hortest Path sol
20390 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  ution.<br>..<u>N
203a0 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f  ote</u>: the two
203b0 20 50 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c   Points <b>must<
203c0 2f 62 3e 20 62 65 20 69 6e 20 74 68 65 20 73 61  /b> be in the sa
203d0 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62 3e 20 6f  me <b>SRID</b> o
203e0 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  f the underlayin
203f0 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d  g Network.</li>.
20400 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f 77 20  .</ul>..<h3>How 
20410 69 74 20 70 72 61 63 74 69 63 61 6c 6c 79 20 77  it practically w
20420 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d  orks</h3>..<ol>.
20430 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 3c 75 3e  .<li>a first <u>
20440 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63  <i>spatial searc
20450 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73 65 64 20  h</i></u> based 
20460 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46  on the <b>PointF
20470 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61 74 74  rom</b> will att
20480 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79  empt to identify
20490 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62   all <b>Links</b
204a0 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74 68 69 6e  > falling within
204b0 20 61 20 67 69 76 65 6e 20 3c 62 3e 74 6f 6c 65   a given <b>tole
204c0 72 61 6e 63 65 20 72 61 64 69 75 73 3c 2f 62 3e  rance radius</b>
204d0 20 66 72 6f 6d 20 74 68 65 20 50 6f 69 6e 74 2e   from the Point.
204e0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 65 63  </li>..<li>a sec
204f0 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73 70 61 74  ond similar spat
20500 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20  ial search will 
20510 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74  attempt to ident
20520 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73  ify all <b>Links
20530 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20  </b> related to 
20540 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  the <b>PointTo</
20550 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c  b>.</li>..<li>al
20560 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62  l <b>Nodes</b> b
20570 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20  elonging to any 
20580 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e  <b>Link</b> iden
20590 74 69 66 69 65 64 20 62 79 20 74 68 65 20 66 69  tified by the fi
205a0 72 73 74 20 73 70 61 74 69 61 6c 20 73 65 61 72  rst spatial sear
205b0 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69  ch will be consi
205c0 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c  dered as possibl
205d0 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20 63 61  e <b>NodeFrom ca
205e0 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c  ndidates</b>.</l
205f0 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79 6d 6d  i>..<li>and symm
20600 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c 6c 20 3c  etrically, all <
20610 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f  b>Nodes</b> belo
20620 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e  nging to any <b>
20630 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66  Link</b> identif
20640 69 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e  ied by the secon
20650 64 20 73 70 61 74 69 61 6c 20 73 65 61 72 63 68  d spatial search
20660 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65   will be conside
20670 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20  red as possible 
20680 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e 64 69 64  <b>NodeTo candid
20690 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  ates</b>.</li>..
206a0 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65 72 6d 75  <li>a full permu
206b0 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 53 68  tation of all Sh
206c0 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75  ortest Path solu
206d0 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74 69 6e 67  tions connecting
206e0 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d 20 63 61   one the From ca
206f0 6e 64 69 64 61 74 65 73 20 74 6f 20 6f 6e 65 20  ndidates to one 
20700 6f 66 20 74 68 65 20 54 6f 20 63 61 6e 64 69 64  of the To candid
20710 61 74 65 73 20 77 69 6c 6c 20 62 65 20 74 68 65  ates will be the
20720 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c 69 3e  n computed.</li>
20730 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c  ..<li>and finall
20740 79 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c  y the <b>optimal
20750 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
20760 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c  solution</b> wil
20770 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20 62 79  l be selected by
20780 20 69 64 65 6e 74 69 66 79 69 6e 67 20 77 68 69   identifying whi
20790 63 68 20 73 70 65 63 69 66 69 63 20 63 61 6e 64  ch specific cand
207a0 69 64 61 74 65 20 70 72 65 73 65 6e 74 73 20 74  idate presents t
207b0 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 43 6f 73  he <b>lesser Cos
207c0 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d 20 61 6c  t</b> of them al
207d0 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62  l.</li>..</ol><b
207e0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
207f0 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c  or="#ffb060" cel
20800 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
20810 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
20820 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65 20 61  r><td>..<h3>Be a
20830 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74 74 65 6d  ware</h3>..Attem
20840 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76 65 20 50  pting to solve P
20850 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75  oint-to-Point qu
20860 65 72 69 65 73 20 73 74 72 69 63 74 6c 79 20 72  eries strictly r
20870 65 71 75 69 72 65 73 20 74 68 61 74 20 61 6e 20  equires that an 
20880 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 53  appropriate <b>S
20890 70 61 74 69 61 6c 20 49 6e 64 65 78 3c 2f 62 3e  patial Index</b>
208a0 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79   can effectively
208b0 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 4c 69 6e   support all Lin
208c0 6b 73 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c  ks of the underl
208d0 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62  aying Network.<b
208e0 72 3e 0d 0a 49 66 20 73 75 63 68 20 61 20 72 65  r>..If such a re
208f0 71 75 69 73 69 74 65 20 69 73 20 6e 6f 74 20 73  quisite is not s
20900 61 74 69 73 66 69 65 64 20 74 68 65 20 61 62 6f  atisfied the abo
20910 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e  ve mentioned <u>
20920 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63  <i>spatial searc
20930 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c  hes</i></u> will
20940 20 6d 69 73 65 72 61 62 6c 79 20 66 61 69 6c 2c   miserably fail,
20950 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
20960 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50  y all Point-to-P
20970 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c  oint queries wil
20980 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69  l be unable to i
20990 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73  dentify any poss
209a0 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74  ible Candidate t
209b0 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d  o be evaluated..
209c0 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65  .<h3>Always reme
209d0 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66  mber</h3>..Caref
209e0 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e  ully check if an
209f0 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 70 61   appropriate Spa
20a00 74 69 61 6c 20 49 6e 64 65 78 20 64 6f 20 72 65  tial Index do re
20a10 61 6c 6c 79 20 65 78 69 73 74 73 20 62 65 66 6f  ally exists befo
20a20 72 65 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f  re attempting to
20a30 20 65 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69   execute any Poi
20a40 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72  nt-to-Point quer
20a50 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f  y...<br><br>..</
20a60 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e  td></tr></table>
20a70 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  ..<br>..<table b
20a80 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
20a90 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
20aa0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
20ab0 22 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d  "><tr><td align=
20ac0 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e  "center" colspan
20ad0 3d 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63  ="2">..<h2>Basic
20ae0 20 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e   concepts, techn
20af0 69 63 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64  ical details and
20b00 20 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72   related glossar
20b10 79 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  y</h2>..</td></t
20b20 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68  r>..<tr><td>..Th
20b30 65 20 73 69 64 65 20 66 69 67 75 72 65 20 73 68  e side figure sh
20b40 6f 77 73 20 61 20 68 79 70 6f 74 68 65 74 69 63  ows a hypothetic
20b50 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  al Point-to-Poin
20b60 74 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73  t solution almos
20b70 74 20 70 72 65 63 69 73 65 6c 79 20 62 61 73 65  t precisely base
20b80 64 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69  d on the followi
20b90 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e  ng sequence of N
20ba0 6f 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69  odes:<br>..<b><i
20bb0 3e 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d  >N1-N2-N3-N4-N5-
20bc0 4e 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d  N6-N7-N8-N9-N10-
20bd0 4e 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d  N11-N12-N13-N14-
20be0 4e 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72  N15</i></b>..<br
20bf0 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20  ><br>..However, 
20c00 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c  as you can easil
20c10 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 72 65 20  y notice, there 
20c20 61 72 65 20 74 77 6f 20 73 74 72 69 6b 69 6e 67  are two striking
20c30 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 0a 3c 75   exceptions:..<u
20c40 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 66  l>..<li>The <b>f
20c50 69 72 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 28 63  irst</b> Link (c
20c60 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 3c  onnecting <b>N1<
20c70 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f 62 3e  /b> to <b>N2</b>
20c80 29 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c 65 74  ) is not complet
20c90 65 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20  ely required by 
20ca0 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c 62 72  the Solution.<br
20cb0 3e 0d 0a 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20  >..Just a small 
20cc0 70 6f 72 74 69 6f 6e 20 28 64 72 61 77 6e 20 69  portion (drawn i
20cd0 6e 20 72 65 64 29 20 6f 66 20 74 68 69 73 20 4c  n red) of this L
20ce0 69 6e 6b 20 69 73 20 65 66 66 65 63 74 69 76 65  ink is effective
20cf0 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 62 72 3e  ly required.<br>
20d00 0d 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20  ..The remaining 
20d10 70 61 72 74 20 28 64 72 61 77 6e 20 69 6e 20 67  part (drawn in g
20d20 72 61 79 29 20 69 73 6e 27 74 20 63 6f 76 65 72  ray) isn't cover
20d30 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69  ed by the Soluti
20d40 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 78  on.</li>..<li>Ex
20d50 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 69  actly the same i
20d60 73 20 66 6f 72 20 74 68 65 20 3c 62 3e 6c 61 73  s for the <b>las
20d70 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65  t</b> Link conne
20d80 63 74 69 6e 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e  cting <b>N14</b>
20d90 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c   to <b>N15</b>.<
20da0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 61 74 27 73  /li>..<li>That's
20db0 20 6e 6f 74 20 61 6c 6c 3a 20 74 68 65 72 65 20   not all: there 
20dc0 61 72 65 20 74 77 6f 20 73 68 6f 72 74 20 73 65  are two short se
20dd0 67 6d 65 6e 74 73 20 28 64 72 61 77 6e 20 69 6e  gments (drawn in
20de0 20 67 72 65 65 6e 29 20 63 6f 6e 6e 65 63 74 69   green) connecti
20df0 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20  ng <b>Pfrom</b> 
20e00 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28  and <b>Pto</b> (
20e10 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 20 61 6e  <i>origin</i> an
20e20 64 20 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e  d <i>destination
20e30 3c 2f 69 3e 20 50 6f 69 6e 74 73 29 20 72 65 73  </i> Points) res
20e40 70 65 63 74 69 76 65 6c 79 20 74 6f 20 74 68 65  pectively to the
20e50 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 61 6e   <b>first</b> an
20e60 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 70 61  d <b>last</b> pa
20e70 72 74 69 61 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69  rtial Links.</li
20e80 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a  >..</ul>..<br>..
20e90 41 6c 6c 20 74 68 69 73 20 73 68 6f 75 6c 64 6e  All this shouldn
20ea0 27 74 20 62 65 20 75 6e 65 78 70 65 63 74 65 64  't be unexpected
20eb0 2c 20 62 65 63 61 75 73 65 20 69 74 20 73 69 6d  , because it sim
20ec0 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73 74 20  ply is the most 
20ed0 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74 20 63  obvious direct c
20ee0 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68  onsequence of th
20ef0 65 20 76 65 72 79 20 62 61 73 69 63 20 61 73 73  e very basic ass
20f00 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20  umptions at the 
20f10 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74 2d 74  basis of Point-t
20f20 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 3a  o-Point queries:
20f30 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74  ..<ul>..<li>Neit
20f40 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74  her the <b>Point
20f50 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 68 65  From</b> nor the
20f60 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20   <b>PointTo</b> 
20f70 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20  are required to 
20f80 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63  exactly intersec
20f90 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e  t a <b>Node</b>.
20fa0 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 6e 74  <br>..Consequent
20fb0 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c  ly the <b>first<
20fc0 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c  /b> and <b>last<
20fd0 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65  /b> Links of the
20fe0 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74 2d 74   overall Point-t
20ff0 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  o-Point Solution
21000 20 63 6f 75 6c 64 20 62 65 20 6f 6e 6c 79 20 70   could be only p
21010 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c 76 65  artially involve
21020 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 74 75  d.<br>..In Virtu
21030 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e  alRouting jargon
21040 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69   these two <u><i
21050 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f  >special items</
21060 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65  i></u> are respe
21070 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d  ctively called:.
21080 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61  .<ul>..<li><b>Pa
21090 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72  rtial Link (Star
210a0 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  t)</b></li>..<li
210b0 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b  ><b>Partial Link
210c0 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d   (End)</b></li>.
210d0 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c  .</ul></li> ..<l
210e0 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e 50 6f  i>Both the <b>Po
210f0 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  intFrom</b> and 
21100 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  the <b>PointTo</
21110 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d 61 74  b> can legitimat
21120 65 6c 79 20 68 61 76 65 20 61 6e 79 20 61 72 62  ely have any arb
21130 69 74 72 61 72 79 20 70 6f 73 69 74 69 6f 6e 20  itrary position 
21140 61 6e 64 20 61 72 65 20 6e 65 76 65 72 20 72 65  and are never re
21150 71 75 69 72 65 64 20 74 6f 20 65 78 61 63 74 6c  quired to exactl
21160 79 20 69 6e 74 65 72 73 65 63 74 20 61 20 3c 62  y intersect a <b
21170 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  >Link</b>.<br>..
21180 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c 79 20  This can easily 
21190 69 6d 70 6c 79 20 74 68 61 74 20 61 6e 20 3c 75  imply that an <u
211a0 3e 3c 69 3e 65 78 74 72 61 20 73 68 6f 72 74 20  ><i>extra short 
211b0 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 75 6c  leg</i></u> coul
211c0 64 20 62 65 20 72 65 71 75 69 72 65 64 20 69 6e  d be required in
211d0 20 6f 72 64 65 72 20 74 6f 20 63 6f 6e 6e 65 63   order to connec
211e0 74 20 74 68 65 20 46 72 6f 6d 2f 54 6f 20 50 6f  t the From/To Po
211f0 69 6e 74 73 20 74 6f 20 74 68 65 20 63 6f 72 72  ints to the corr
21200 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 73 2e  esponding Links.
21210 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 75 74 61 6c  <br>..In Virutal
21220 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e 20 74  Routing jargon t
21230 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 3e 73  hese two <u><i>s
21240 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f 69 3e  pecial items</i>
21250 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 63 74  </u> are respect
21260 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c  ively called:..<
21270 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72  ul>..<li><b>Ingr
21280 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69  ess Path</b></li
21290 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 73 73  >..<li><b>Egress
212a0 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a   Path</b></li>..
212b0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69  </ul></li> ..<li
212c0 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6e 6f  ><u>Note</u>: no
212d0 6e 65 20 6f 66 20 74 68 65 6d 20 69 73 20 61 20  ne of them is a 
212e0 73 74 72 69 63 74 6c 79 20 6d 61 6e 64 61 74 6f  strictly mandato
212f0 72 79 20 69 74 65 6d 3a 0d 0a 3c 75 6c 3e 0d 0a  ry item:..<ul>..
21300 3c 6c 69 3e 74 68 65 20 3c 62 3e 49 6e 67 72 65  <li>the <b>Ingre
21310 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 3c 62  ss</b> and/or <b
21320 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62  >Egress Paths</b
21330 3e 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72  > are not requir
21340 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 72 72  ed when the corr
21350 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20  esponding Point 
21360 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63  exactly intersec
21370 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d  ts a Link.</li>.
21380 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20  .<li><b>Partial 
21390 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65 69 74 68 65  Links</b> (eithe
213a0 72 20 3c 62 3e 28 53 74 61 72 74 29 3c 2f 62 3e  r <b>(Start)</b>
213b0 20 6f 72 20 3c 62 3e 28 45 6e 64 28 3c 2f 62 3e   or <b>(End(</b>
213c0 29 20 61 72 65 20 6e 65 76 65 72 20 72 65 71 75  ) are never requ
213d0 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f  ired when the co
213e0 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e  rresponding Poin
213f0 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 65  t exactly matche
21400 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a  s a Node.</li>..
21410 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  </ul></li>..</ul
21420 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a  >..</td>..<td>..
21430 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
21440 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
21450 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74  t/gaia-sins/rout
21460 69 6e 67 2d 66 69 67 73 2f 70 32 70 2d 73 74 72  ing-figs/p2p-str
21470 75 63 74 2e 70 6e 67 22 20 61 6c 74 3d 22 70 32  uct.png" alt="p2
21480 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f 74 64  p-struct">..</td
21490 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e  ></tr>..<tr><td>
214a0 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d 70 72 65 68  ..A more compreh
214b0 65 6e 73 69 76 65 20 61 6e 64 20 64 65 74 61 69  ensive and detai
214c0 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20  led explanation 
214d0 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 69 64  based on the sid
214e0 65 20 66 69 67 75 72 65 3a 0d 0a 3c 75 6c 3e 0d  e figure:..<ul>.
214f0 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f 62 3e 20 69  .<li><b>L1</b> i
21500 73 20 61 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74  s a Link connect
21510 69 6e 67 20 4e 6f 64 65 73 20 3c 62 3e 4e 31 3c  ing Nodes <b>N1<
21520 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 32 3c 2f 62  /b> and <b>N2</b
21530 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  >.</li>..<li><b>
21540 50 74 3c 2f 62 3e 20 69 73 20 6f 6e 65 20 62 65  Pt</b> is one be
21550 74 77 65 65 6e 20 50 6f 69 6e 74 46 72 6f 6d 20  tween PointFrom 
21560 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c 2f 6c 69 3e  or PointTo.</li>
21570 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
21580 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 50 6f 69  ol>..<li>The Poi
21590 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 69 6e 74 65  nt-to-Point inte
215a0 72 6e 61 6c 20 6c 6f 67 69 63 20 77 69 6c 6c 20  rnal logic will 
215b0 73 74 61 72 74 20 62 79 20 69 64 65 6e 74 69 66  start by identif
215c0 79 69 6e 67 20 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a  ying <b>i</b>,..
215d0 74 68 61 74 20 69 73 20 74 68 65 20 50 6f 69 6e  that is the Poin
215e0 74 20 69 6e 74 65 72 73 65 63 74 69 6e 67 20 3c  t intersecting <
215f0 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64 20 70 72 65  b>L1</b> and pre
21600 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 69 6e 69  senting the mini
21610 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62 65 74  mum distance bet
21620 77 65 65 6e 20 74 68 65 20 4c 69 6e 6b 20 61 6e  ween the Link an
21630 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d 0a 28 63 6f  d <b>Pt</b>..(co
21640 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74  rresponding to t
21650 68 65 20 72 65 73 75 6c 74 20 72 65 74 75 72 6e  he result return
21660 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
21670 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 4c 6f 63  e <b>ST_Line_Loc
21680 61 74 65 5f 50 6f 69 6e 74 28 29 3c 2f 62 3e 20  ate_Point()</b> 
21690 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 2f  SQL function).</
216a0 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77 20 74 68 65  li>..<li>Now the
216b0 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c 2f 62 3e 20   Link <b>L1</b> 
216c0 77 69 6c 6c 20 62 65 20 73 70 6c 69 74 20 69 6e  will be split in
216d0 20 74 77 6f 20 68 61 6c 76 65 73 20 3c 62 3e 4c   two halves <b>L
216e0 31 2d 61 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c  1-a</b> and <b>L
216f0 31 2d 62 3c 2f 62 3e 20 61 63 63 6f 72 64 69 6e  1-b</b> accordin
21700 67 6c 79 20 74 6f 20 74 68 65 20 70 6f 73 69 74  gly to the posit
21710 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c 2f 62 3e 0d  ion of <b>i</b>.
21720 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  .(corresponding 
21730 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 20 72  to the results r
21740 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c 6c 69  eturned by calli
21750 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e  ng the <b>ST_Lin
21760 65 5f 53 75 62 73 74 72 69 6e 67 28 29 3c 2f 62  e_Substring()</b
21770 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e  > SQL function).
21780 3c 62 72 3e 0d 0a 42 6f 74 68 20 68 61 6c 76 65  <br>..Both halve
21790 73 20 77 69 6c 6c 20 62 65 20 6e 6f 77 20 63 6f  s will be now co
217a0 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73  nsidered as poss
217b0 69 62 6c 65 20 3c 62 3e 50 61 72 74 69 61 6c 20  ible <b>Partial 
217c0 4c 69 6e 6b 73 20 28 53 74 61 72 74 29 20 63 61  Links (Start) ca
217d0 6e 64 69 64 61 74 65 73 3c 2f 62 3e 20 6c 65 61  ndidates</b> lea
217e0 64 69 6e 67 20 72 65 73 70 65 63 74 69 76 65 6c  ding respectivel
217f0 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f 62 3e 20 6f  y to <b>N1</b> o
21800 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b 0d 0a 64 69  r <b>N2</b>;..di
21810 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65  rections will be
21820 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69   automatically i
21830 6e 76 65 72 74 65 64 20 61 73 20 72 65 71 75 69  nverted as requi
21840 72 65 64 2c 20 62 75 74 20 6f 6e 6c 79 20 69 66  red, but only if
21850 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62   there are no <b
21860 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 66 6f 72  >one-way</b> for
21870 62 69 64 64 69 6e 67 20 72 65 73 74 72 69 63 74  bidding restrict
21880 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20  ions.<br>..(the 
21890 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20  directions will 
218a0 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76  be obviously inv
218b0 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73  erted in the cas
218c0 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20  e of <b>Partial 
218d0 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20  Links (End)</b> 
218e0 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29  / <b>NodeTo</b>)
218f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66  </li>..<li>And f
21900 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68  inally a straigh
21910 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f  t segment <b>p</
21920 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62  b> connecting <b
21930 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c  >Pt</b> to <b>i<
21940 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  /b> will be cons
21950 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e  tructed...So <b>
21960 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f  p</b> exactly co
21970 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65  rresponds to the
21980 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68   <b>Ingress Path
21990 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62  </b> if <b>Pt</b
219a0 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  > is <b>PointFro
219b0 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65  m</b>.<br>..(the
219c0 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c   direction shoul
219d0 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69  d be obviously i
219e0 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63  nverted in the c
219f0 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67  ase of the <b>Eg
21a00 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20  ress Path</b> / 
21a10 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c  <b>PointTo</b>)<
21a20 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
21a30 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73  d>..<td>..<img s
21a40 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
21a50 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
21a60 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
21a70 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e  gs/split-link.pn
21a80 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75  g" alt="p2p-stru
21a90 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  ct">..</td></tr>
21aa0 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
21ab0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
21ac0 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73  ="#ffb060" cells
21ad0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
21ae0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
21af0 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e  <td>..<h3>Warnin
21b00 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52  g</h3>..VirtualR
21b10 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76  outing when solv
21b20 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50  ing a Point-to-P
21b30 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
21b40 74 6f 20 67 65 74 20 61 20 70 72 65 63 69 73 65  to get a precise
21b50 20 65 73 74 69 6d 61 74 69 6f 6e 20 6f 66 20 3c   estimation of <
21b60 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 72 65 6c 61  b>Costs</b> rela
21b70 74 65 64 20 74 6f 20 3c 62 3e 49 6e 67 72 65 73  ted to <b>Ingres
21b80 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 67 72  s</b> and <b>Egr
21b90 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 6e  ess Paths</b> an
21ba0 64 20 74 6f 20 3c 62 3e 50 61 72 74 69 61 6c 20  d to <b>Partial 
21bb0 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  Links</b>.<br>..
21bc0 42 75 74 20 56 69 72 74 75 61 6c 52 6f 75 74 69  But VirtualRouti
21bd0 6e 67 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79  ng is completely
21be0 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6d 70 75   unable to compu
21bf0 74 65 20 63 6f 6d 70 6c 65 78 20 28 61 6e 64 20  te complex (and 
21c00 75 6e 73 70 65 63 69 66 69 65 64 29 20 43 6f 73  unspecified) Cos
21c10 74 20 66 6f 72 6d 75 6c 61 65 2c 20 61 6e 64 20  t formulae, and 
21c20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 69 74 20  consequently it 
21c30 63 61 6e 20 73 69 6d 70 6c 79 20 61 73 73 75 6d  can simply assum
21c40 65 20 61 20 43 6f 73 74 20 63 6f 72 72 65 73 70  e a Cost corresp
21c50 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 47 65  onding to the Ge
21c60 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68 20 6f  ometric Length o
21c70 66 20 73 75 63 68 20 69 74 65 6d 73 2e 3c 62 72  f such items.<br
21c80 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f 6e 63 6c 75  ><br>..<b>Conclu
21c90 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 4e  sion</b>: only N
21ca0 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e  etworks based on
21cb0 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 63 6f   <b>Costs</b> co
21cc0 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c  rresponding to <
21cd0 62 3e 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67  b>Geometric Leng
21ce0 74 68 73 3c 2f 62 3e 20 63 61 6e 20 65 66 66 65  ths</b> can effe
21cf0 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20  ctively support 
21d00 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
21d10 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 41 6e 79  ueries.<br>..Any
21d20 20 64 69 66 66 65 72 65 6e 74 20 4e 65 74 77 6f   different Netwo
21d30 72 6b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  rk configuration
21d40 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 6c 65 61   will surely lea
21d50 64 20 74 6f 20 77 72 6f 6e 67 20 61 6e 64 20 69  d to wrong and i
21d60 6e 63 6f 6e 73 69 73 74 65 6e 74 20 72 65 73 75  nconsistent resu
21d70 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  lts...<br><br>..
21d80 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
21d90 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65  e>..<br><br>..Le
21da0 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20  t's now examine 
21db0 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d  a practical exam
21dc0 70 6c 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d  ple of Point-to-
21dd0 50 6f 69 6e 74 20 73 6f 6c 76 69 6e 67 20 75 73  Point solving us
21de0 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ing VirtualRouti
21df0 6e 67 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ng...<verbatim>.
21e00 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
21e10 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69  m, Request, Opti
21e20 6f 6e 73 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ons, RouteId, Ro
21e30 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
21e40 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
21e50 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50 6f 69 6e 74  m, NodeTo, Point
21e60 46 72 6f 6d 2c 20 50 6f 69 6e 74 54 6f 2c 20 54  From, PointTo, T
21e70 6f 6c 65 72 61 6e 63 65 2c 20 43 6f 73 74 2c 20  olerance, Cost, 
21e80 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
21e90 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
21ea0 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28  RE PointFrom = (
21eb0 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d  SELECT geom FROM
21ec0 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45   house_nr_vw WHE
21ed0 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20  RE municipality 
21ee0 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61  = 'AREZZO' AND a
21ef0 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 45  ddress = 'VIA DE
21f00 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20  '' CENCI 13').. 
21f10 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d     AND PointTo =
21f20 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52   (SELECT geom FR
21f30 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57  OM house_nr_vw W
21f40 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74  HERE municipalit
21f50 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44  y = 'AREZZO' AND
21f60 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20   address = 'VIA 
21f70 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f  ANTONIO GUADAGNO
21f80 4c 49 20 31 39 2f 42 27 29 3b 0d 0a 3c 2f 76 65  LI 19/B');..</ve
21f90 72 62 61 74 69 6d 3e 0d 0a 41 20 3c 62 3e 50 6f  rbatim>..A <b>Po
21fa0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e  int-to-Point</b>
21fb0 20 71 75 65 72 79 20 68 61 73 20 74 68 65 20 73   query has the s
21fc0 61 6d 65 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62  ame form of a <b
21fd0 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74  >single-destinat
21fe0 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74  ion Shortest Pat
21ff0 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78 63  h</b> query, exc
22000 65 70 74 20 74 68 61 74 20 3c 62 3e 4e 6f 64 65  ept that <b>Node
22010 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  From</b> and <b>
22020 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61 72 65 20 6e  NodeTo</b> are n
22030 6f 77 20 72 65 70 6c 61 63 65 64 20 62 79 20 3c  ow replaced by <
22040 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20  b>PointFrom</b> 
22050 61 6e 64 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  and <b>PointTo</
22060 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  b>.<br>..<u>Note
22070 3c 2f 75 3e 20 74 68 65 20 73 61 6d 70 6c 65 20  </u> the sample 
22080 44 42 2d 66 69 6c 65 20 73 75 70 70 6f 72 74 73  DB-file supports
22090 20 3c 62 3e 48 6f 75 73 65 20 4e 75 6d 62 65 72   <b>House Number
220a0 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f 75 20 63 61  s</b>, so you ca
220b0 6e 20 64 69 72 65 63 74 6c 79 20 75 73 65 20 48  n directly use H
220c0 6f 75 73 65 20 4e 75 6d 62 65 72 20 63 6f 6f 72  ouse Number coor
220d0 64 69 6e 61 74 65 73 20 61 73 20 72 65 66 65 72  dinates as refer
220e0 65 6e 63 65 20 50 6f 69 6e 74 73 2e 0d 0a 3c 62  ence Points...<b
220f0 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c  r><br>..The foll
22100 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77  owing table show
22110 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  s the resultset 
22120 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
22130 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50  above Point-to-P
22140 6f 69 6e 74 20 71 75 65 72 79 2e 3c 62 72 3e 3c  oint query.<br><
22150 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
22160 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
22170 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
22180 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
22190 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
221a0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
221b0 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
221c0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
221d0 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74  #d0d0a0">Request
221e0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
221f0 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f  ="#d0d0a0">Optio
22200 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ns</th><th bgcol
22210 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
22220 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  teId</th><th bgc
22230 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
22240 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20  outeRow</th><th 
22250 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
22260 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62  ">Role</th><th b
22270 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22280 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c  >LinkRowid</th><
22290 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
222a0 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
222b0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
222c0 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
222d0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
222e0 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 46 72  #d0d0a0">PointFr
222f0 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
22300 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69  or="#d0d0a0">Poi
22310 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ntTo</th><th bgc
22320 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54  olor="#d0d0a0">T
22330 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68  olerance</th><th
22340 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22350 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
22360 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
22370 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
22380 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22390 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
223a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44  tr>..<tr>..<td>D
223b0 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e  ijkstra</td><td>
223c0 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68  Point2Point Path
223d0 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74  </td><td>Full</t
223e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
223f0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
22400 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
22410 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e  d><td>Point2Poin
22420 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c  t Solution</td><
22430 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22440 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22450 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  L</td><td>BLOB s
22460 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74  z=68 GEOMETRY</t
22470 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38  d><td>BLOB sz=68
22480 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
22490 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
224a0 32 30 2e 30 30 30 30 30 30 3c 2f 74 64 3e 3c 74  20.000000</td><t
224b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
224c0 36 35 32 2e 38 31 35 31 33 39 3c 2f 74 64 3e 3c  652.815139</td><
224d0 74 64 3e 42 4c 4f 42 20 73 7a 3d 31 35 35 32 20  td>BLOB sz=1552 
224e0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
224f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
22500 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
22510 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22520 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22540 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
22550 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
22560 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68  <td>Ingress Path
22570 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22580 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22590 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
225a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
225b0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
225c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
225d0 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c 2f 74  ght">2.301687</t
225e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
225f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
22600 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
22610 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22620 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22630 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22640 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
22650 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
22660 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69  d><td>Partial Li
22670 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c  nk (Start)</td><
22680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22690 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e  >224264</td><td>
226a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
226b0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33  gn="right">18263
226c0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
226d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
226e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
226f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
22700 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c 74 64  6.082761</td><td
22710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
22720 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 64 3e  A DE' CENCI</td>
22730 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
22740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22760 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22770 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22780 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22790 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
227a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
227b0 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e  ght">223758</td>
227c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
227d0 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64  ">182630</td><td
227e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
227f0 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  82629</td><td>NU
22800 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22810 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22820 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22830 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f 74 64  t">24.198115</td
22840 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22850 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f  d>CORSO ITALIA</
22860 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
22870 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
22880 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22890 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
228a0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
228b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
228c0 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">4</td><td>Lin
228d0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
228e0 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f  "right">225512</
228f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22900 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
22910 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22920 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64  ">182933</td><td
22930 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22940 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22950 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22960 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c  ight">34.184194<
22970 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22980 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
22990 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
229a0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
229b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
229c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
229d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
229e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
229f0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e  ight">5</td><td>
22a00 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
22a10 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31  gn="right">22551
22a20 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
22a30 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f  "right">182933</
22a40 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22a50 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
22a60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22a70 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22a80 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22a90 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37  ="right">49.2417
22aa0 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  35</td><td>NULL<
22ab0 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54  /td><td>CORSO IT
22ac0 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ALIA</td>..</tr>
22ad0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22ae0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22af0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22b00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22b10 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
22b20 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c  ="right">6</td><
22b30 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
22b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
22b50 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2635</td><td ali
22b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
22b70 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
22b80 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f  "right">181998</
22b90 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22ba0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22bb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22bc0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e  ign="right">101.
22bd0 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e  629750</td><td>N
22be0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53  ULL</td><td>CORS
22bf0 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c  O ITALIA</td>..<
22c00 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
22c10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22c20 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22c30 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22c40 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
22c50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f  lign="right">7</
22c60 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
22c70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22c80 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74 64  ">224780</td><td
22c90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
22ca0 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  81998</td><td al
22cb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35  ign="right">1835
22cc0 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  60</td><td>NULL<
22cd0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22ce0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22cf0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22d00 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74  73.733572</td><t
22d10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
22d20 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54  IA DELL'ANFITEAT
22d30 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RO</td>..</tr>..
22d40 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22d50 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22d60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22d70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22d80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22d90 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64  right">8</td><td
22da0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
22db0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38  ign="right">2258
22dc0 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  27</td><td align
22dd0 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c  ="right">183560<
22de0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22df0 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
22e00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22e10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22e20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22e30 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39  n="right">42.309
22e40 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  564</td><td>NULL
22e50 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c  </td><td>VIA DEL
22e60 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64  L'ANFITEATRO</td
22e70 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
22e80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22e90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22ea0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22eb0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
22ec0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22ed0 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >9</td><td>Link<
22ee0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22ef0 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64  ight">224897</td
22f00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22f10 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
22f20 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22f30 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 3e 4e  183128</td><td>N
22f40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22f50 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22f60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22f70 68 74 22 3e 37 32 2e 34 34 34 36 30 39 3c 2f 74  ht">72.444609</t
22f80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22f90 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
22fa0 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
22fb0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22fc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22fd0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22fe0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22ff0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23000 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74  right">10</td><t
23010 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
23020 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
23030 32 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  232</td><td alig
23040 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38  n="right">183128
23050 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23060 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74  right">182890</t
23070 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23080 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23090 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
230a0 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 36  gn="right">103.6
230b0 31 32 32 32 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12221</td><td>NU
230c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4e  LL</td><td>VIA N
230d0 49 43 43 4f 4c 4f 27 20 41 52 45 54 49 4e 4f 3c  ICCOLO' ARETINO<
230e0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
230f0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
23100 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23110 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
23120 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
23130 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23140 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 50  ht">11</td><td>P
23150 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64  artial Link (End
23160 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  )</td><td align=
23170 22 72 69 67 68 74 22 3e 32 32 34 30 31 39 3c 2f  "right">224019</
23180 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23190 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e  ght">182890</td>
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 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
231d0 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  /td>..<td align=
231e0 22 72 69 67 68 74 22 3e 39 35 2e 37 36 30 32 32  "right">95.76022
231f0 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
23200 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e  td><td>VIA ANTON
23210 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74  IO GUADAGNOLI</t
23220 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
23230 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
23240 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23250 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
23260 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
23270 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23280 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 45 67 72  ">12</td><td>Egr
23290 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64  ess Path</td><td
232a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
232b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
232c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
232d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
232e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
232f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 33  lign="right">7.3
23300 31 36 37 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  16709</td><td>NU
23310 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
23320 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
23330 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74  able>..<br>..Let
23340 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65  's now quickly e
23350 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c  xamine the resul
23360 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
23370 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 50 6f   the above <b>Po
23380 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e  int-to-Point</b>
23390 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c   query:..<ul>..<
233a0 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c 20 6c  li>the general l
233b0 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20  ayout is almost 
233c0 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65  exactly the same
233d0 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61   as you've alrea
233e0 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63  dy seen in the c
233f0 61 73 65 20 6f 66 20 53 68 6f 72 74 65 73 74 50  ase of ShortestP
23400 61 74 68 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  ath queries.</li
23410 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 73 70  >..<li>in the sp
23420 65 63 69 66 69 63 20 63 61 73 65 20 6f 66 20 50  ecific case of P
23430 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 74 68  oint-to-Point th
23440 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f  e <b>first row</
23450 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  b> of the result
23460 73 65 74 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  set will always 
23470 63 6f 6e 74 61 69 6e 20 74 68 65 20 66 6f 6c 6c  contain the foll
23480 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f 54 20 4e 55  owings <b>NOT NU
23490 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 3a 0d  LL</b> columns:.
234a0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f  .<ul>..<li><b>No
234b0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
234c0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 3a 20 74 68  b>NodeTo</b>: th
234d0 65 20 74 77 6f 20 47 65 6f 6d 65 74 72 69 65 73  e two Geometries
234e0 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 3c 75   defining the <u
234f0 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f  ><i>origin</i></
23500 75 3e 20 61 6e 64 20 3c 75 3e 3c 69 3e 64 65 73  u> and <u><i>des
23510 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e  tination</i></u>
23520 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c   Points.</li>..<
23530 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c  li><b>Tolerance<
23540 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75 6d  /b>: the maximum
23550 20 64 69 73 74 61 6e 63 65 20 61 6c 6c 6f 77 65   distance allowe
23560 64 20 62 65 74 77 65 65 6e 20 72 65 66 65 72 65  d between refere
23570 6e 63 65 20 50 6f 69 6e 74 73 20 61 6e 64 20 43  nce Points and C
23580 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c  andidate Links.<
23590 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
235a0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c  ..<li>the <b>Rol
235b0 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e  e</b> column can
235c0 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74   assume one of t
235d0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c  he following val
235e0 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ues:..<ul>..<li>
235f0 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53  <b>Point2Point S
23600 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65  olution</b>: the
23610 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 6d 6d   header row summ
23620 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75  arizing the Solu
23630 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
23640 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50  ..<ul>..<li><b>P
23650 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62  ointFrom</b>, <b
23660 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64  >PointTo</b> and
23670 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62   <b>Tolerance</b
23680 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68  > columns will h
23690 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
236a0 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20  /b> values only 
236b0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
236c0 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  w.</li>..</ul></
236d0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72  li>..<li><b>Ingr
236e0 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
236f0 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23700 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
23710 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20  Origin Point to 
23720 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c  the first Link.<
23730 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72  /li>..<li><b>Egr
23740 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
23750 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23760 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
23770 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65  last Link to the
23780 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69   Destination Poi
23790 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62  nt...<ul>..<li>b
237a0 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 73 20  oth the Ingress 
237b0 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 20 50  and the Egress P
237c0 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c  ath rows will al
237d0 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c  ways have <b>NUL
237e0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20  L</b> values on 
237f0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e  <b>LinkRowid</b>
23800 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  , <b>NodeFrom</b
23810 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
23820 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69  /b> columns.</li
23830 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
23840 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69  li><b>Partial Li
23850 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20  nk (Start)</b>: 
23860 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74  the partial sect
23870 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74  ion of the first
23880 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c   Link...<ul>..<l
23890 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20  i>this specific 
238a0 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  row will always 
238b0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f  have a <b>NULL</
238c0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20  b> value on the 
238d0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
238e0 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  column.</li>..</
238f0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
23900 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45  >Partial Link (E
23910 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72  nd)</b>: the par
23920 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20  tial section of 
23930 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a  the last Link...
23940 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73  <ul>..<li>this s
23950 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c  pecific row will
23960 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c   always have a <
23970 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65  b>NULL</b> value
23980 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54   on the <b>NodeT
23990 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c  o</b> column.</l
239a0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
239b0 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a  <li><b>Link</b>:
239c0 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20   any other Link 
239d0 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20  required by the 
239e0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53  Point-to-Point S
239f0 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a  olution...<ul>..
23a00 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f  <li>all these ro
23a10 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68  ws will always h
23a20 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
23a30 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62  /b> values on <b
23a40 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20  >LinkRowid</b>, 
23a50 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
23a60 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
23a70 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d  > columns.</li>.
23a80 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
23a90 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  l></li>..</ul>..
23aa0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  <br><br><br>..<b
23ab0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c  >Point-to-Point<
23ac0 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20  /b> queries can 
23ad0 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62  be customized, b
23ae0 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61  ut the configura
23af0 74 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 67 68  tion rules sligh
23b00 74 6c 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20  tly differ from 
23b10 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c  what you have al
23b20 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 70 72  ready seen in pr
23b30 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 2e  evious examples.
23b40 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41  ..<ul>..<li><b>A
23b50 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e  lgorithm</b>: on
23b60 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c 2f  ly <b>Dijkstra</
23b70 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64 20  b> is supported 
23b80 62 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50  by <b>Point-to-P
23b90 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20 77 69  oint</b>, and wi
23ba0 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79  ll be implicitly
23bb0 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77 68   assumed even wh
23bc0 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69  en the alternati
23bd0 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67  ve <b>A*</b> alg
23be0 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65 6e  orithm is curren
23bf0 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 62 72  tly selected.<br
23c00 3e 0d 0a 54 68 69 73 20 69 73 20 62 65 63 61 75  >..This is becau
23c10 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20  se the internal 
23c20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74 2d 74  logic of Point-t
23c30 6f 2d 50 6f 69 6e 74 20 72 65 71 75 69 72 65 73  o-Point requires
23c40 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
23c50 6f 6e 20 71 75 65 72 69 65 73 20 69 6e 20 6f 72  on queries in or
23c60 64 65 72 20 74 6f 20 65 76 61 6c 75 61 74 65 20  der to evaluate 
23c70 61 6c 6c 20 43 61 6e 64 69 64 61 74 65 20 53 6f  all Candidate So
23c80 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c  lutions.</li>..<
23c90 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  li><b>Options</b
23ca0 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c 62 3e  >: the usual <b>
23cb0 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d  FULL</b>, <b>SIM
23cc0 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c  PLE</b>, <b>NO L
23cd0 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  INKS</b> and <b>
23ce0 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62  NO GEOMETRIES</b
23cf0 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20  > are supported 
23d00 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20 74 68  and will have th
23d10 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 61 73  e same effect as
23d20 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69   in single-desti
23d30 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c  nation queries.<
23d40 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c  /li>..<li><b>Tol
23d50 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 69 73  erance</b>: this
23d60 20 73 65 74 74 69 6e 67 20 69 73 20 73 70 65 63   setting is spec
23d70 69 66 69 63 20 74 6f 20 50 6f 69 6e 74 2d 74 6f  ific to Point-to
23d80 2d 50 6f 69 6e 74 2c 20 61 6e 64 20 64 65 66 69  -Point, and defi
23d90 6e 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20  nes the maximum 
23da0 61 6c 6c 6f 77 61 62 6c 65 20 64 69 73 74 61 6e  allowable distan
23db0 63 65 20 62 65 74 77 65 65 6e 20 61 20 72 65 66  ce between a ref
23dc0 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 61 6e 64  erence Point and
23dd0 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73   Candidate Links
23de0 2e 3c 62 72 3e 0d 0a 49 74 20 64 65 66 61 75 6c  .<br>..It defaul
23df0 74 73 20 74 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f  ts to <b>20.0m</
23e00 62 3e 20 69 66 20 6e 6f 74 20 65 78 70 6c 69 63  b> if not explic
23e10 69 74 6c 79 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a  itly set.</li>..
23e20 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  </ul>..<verbatim
23e30 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
23e40 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27   SET Options = '
23e50 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 2c 20  NO GEOMETRIES', 
23e60 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 2e 35  Tolerance = 25.5
23e70 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 52 65 71 75  ;....SELECT Requ
23e80 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 54 6f  est, Options, To
23e90 6c 65 72 61 6e 63 65 2c 20 52 6f 75 74 65 52 6f  lerance, RouteRo
23ea0 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
23eb0 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
23ec0 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
23ed0 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
23ee0 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50   byfoot..WHERE P
23ef0 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45  ointFrom = (SELE
23f00 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75  CT geom FROM hou
23f10 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d  se_nr_vw WHERE m
23f20 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41  unicipality = 'A
23f30 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65  REZZO' AND addre
23f40 73 73 20 3d 20 27 56 49 41 20 44 45 27 27 20 43  ss = 'VIA DE'' C
23f50 45 4e 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41  ENCI 13')..    A
23f60 4e 44 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45  ND PointTo = (SE
23f70 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68  LECT geom FROM h
23f80 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45  ouse_nr_vw WHERE
23f90 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20   municipality = 
23fa0 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64  'AREZZO' AND add
23fb0 72 65 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f  ress = 'VIA ANTO
23fc0 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31  NIO GUADAGNOLI 1
23fd0 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74  9/C');..</verbat
23fe0 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  im>..The followi
23ff0 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74  ng table shows t
24000 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
24010 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f  urned by the abo
24020 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  ve Point-to-Poin
24030 74 20 71 75 65 72 79 20 61 66 74 65 72 20 73 65  t query after se
24040 6c 65 63 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f  lecting <b>Optio
24050 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52  ns = 'NO GEOMETR
24060 49 45 53 27 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  IES'</b> and <b>
24070 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 2e 35  Tolerance = 25.5
24080 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  </b><br><br>..<t
24090 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
240a0 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
240b0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
240c0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
240d0 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
240e0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65  lor="#d0d0a0">Re
240f0 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  quest</th><th bg
24100 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
24110 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
24120 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
24130 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e  ">Tolerance</th>
24140 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
24150 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
24160 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
24170 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
24180 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24190 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
241a0 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
241b0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
241c0 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
241d0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
241e0 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
241f0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
24200 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
24210 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
24220 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
24230 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
24240 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
24250 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e  ..<tr>..<td>Poin
24260 74 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64  t2Point Path</td
24270 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69  ><td>No Geometri
24280 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  es</td><td align
24290 3d 22 72 69 67 68 74 22 3e 32 35 2e 35 30 30 30  ="right">25.5000
242a0 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
242b0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
242c0 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53  td>Point2Point S
242d0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e  olution</td><td>
242e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
242f0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24300 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24310 67 68 74 22 3e 36 35 31 2e 30 36 37 30 38 32 3c  ght">651.067082<
24320 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24330 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
24340 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24350 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24360 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24370 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24380 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
24390 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64  Ingress Path</td
243a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
243b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
243c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
243d0 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 30 31 36  n="right">2.3016
243e0 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  87</td><td>NULL<
243f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24400 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
24410 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24420 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24430 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24440 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
24450 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20  td>Partial Link 
24460 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20  (Start)</td><td 
24470 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
24480 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4264</td><td>NUL
24490 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
244a0 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f  "right">182630</
244b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
244c0 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f  ght">46.082761</
244d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
244e0 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45 4e 43  <td>VIA DE' CENC
244f0 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
24500 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24510 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24520 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24530 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
24540 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
24550 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24560 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74  t">223758</td><t
24570 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24580 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61  182630</td><td a
24590 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
245a0 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  629</td><td alig
245b0 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 39 38  n="right">24.198
245c0 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  115</td><td>NULL
245d0 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
245e0 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
245f0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24600 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24610 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24620 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24630 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">4</td><td>Link
24640 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24650 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74  right">225512</t
24660 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24670 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c  ht">182629</td><
24680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24690 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20  >182933</td><td 
246a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34  align="right">34
246b0 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e  .184194</td><td>
246c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
246d0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
246e0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
246f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24700 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24710 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24720 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e  ight">5</td><td>
24730 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
24740 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31  gn="right">22551
24750 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
24760 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f  "right">182933</
24770 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24780 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
24790 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
247a0 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e  ">49.241735</td>
247b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
247c0 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
247d0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
247e0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
247f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24800 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24810 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
24820 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
24830 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24840 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  25800</td><td al
24850 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
24860 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
24870 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
24880 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24890 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c  ight">95.592204<
248a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
248b0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
248c0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
248d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
248e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
248f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24900 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24910 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e  ight">7</td><td>
24920 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
24930 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37  gn="right">21917
24940 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
24950 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
24960 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24970 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
24980 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24990 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e  ">93.285538</td>
249a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
249b0 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
249c0 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
249d0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
249e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
249f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24a00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24a10 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">8</td><td>Link
24a20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24a30 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74  right">219058</t
24a40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24a50 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c  ht">178732</td><
24a60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24a70 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
24a80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34  align="right">14
24a90 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64  8.656089</td><td
24aa0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
24ab0 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
24ac0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
24ad0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24ae0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24af0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24b00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
24b10 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c  </td><td>Partial
24b20 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e   Link (End)</td>
24b30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24b40 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64  ">224019</td><td
24b50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
24b60 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55  82890</td><td>NU
24b70 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24b80 3d 22 72 69 67 68 74 22 3e 31 35 30 2e 32 36 30  ="right">150.260
24b90 36 34 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  641</td><td>NULL
24ba0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54  </td><td>VIA ANT
24bb0 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c  ONIO GUADAGNOLI<
24bc0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
24bd0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
24be0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24bf0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24c00 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f  ign="right">10</
24c10 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 61  td><td>Egress Pa
24c20 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  th</td><td>NULL<
24c30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24c40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24c50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24c60 37 2e 32 36 34 31 31 38 3c 2f 74 64 3e 3c 74 64  7.264118</td><td
24c70 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24c80 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
24c90 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
24ca0 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f  r>..The map belo
24cb0 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68  w graphically sh
24cc0 6f 77 73 20 74 68 65 20 74 77 6f 20 50 6f 69 6e  ows the two Poin
24cd0 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74  t-to-Point Solut
24ce0 69 6f 6e 73 20 72 65 74 75 72 6e 65 64 20 62 79  ions returned by
24cf0 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 71 75   the previous qu
24d00 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  eries...<br><br>
24d10 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
24d20 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
24d30 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
24d40 75 74 69 6e 67 2d 66 69 67 73 2f 70 6f 69 6e 74  uting-figs/point
24d50 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70 67 22 20 61  -to-point.jpg" a
24d60 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69  lt="point-to-poi
24d70 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  nt">..<ul>..<li>
24d80 74 68 65 20 67 72 65 65 6e 20 6c 69 6e 65 20 63  the green line c
24d90 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
24da0 65 20 66 69 72 73 74 20 73 6f 6c 75 74 69 6f 6e  e first solution
24db0 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56   (<i>PointTo = V
24dc0 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39  IA GUADAGNOLI 19
24dd0 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  /B</i>).</li>..<
24de0 6c 69 3e 74 68 65 20 79 65 6c 6c 6f 77 20 6c 69  li>the yellow li
24df0 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  ne corresponds t
24e00 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 73 6f 6c  o the second sol
24e10 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54  ution (<i>PointT
24e20 6f 20 3d 20 56 49 41 20 47 55 41 44 41 47 4e 4f  o = VIA GUADAGNO
24e30 4c 49 20 31 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c  LI 19/C</i>).</l
24e40 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
24e50 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f  .<u>Note</u>: Po
24e60 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65  int-to-Point que
24e70 72 69 65 73 20 61 72 65 20 76 65 72 79 20 73 65  ries are very se
24e80 6e 73 69 74 69 76 65 2c 20 61 6e 64 20 61 20 76  nsitive, and a v
24e90 65 72 79 20 62 6c 61 6e 64 20 73 68 69 66 74 20  ery bland shift 
24ea0 61 66 66 65 63 74 69 6e 67 20 74 68 65 20 70 6f  affecting the po
24eb0 73 69 74 69 6f 6e 20 6f 66 20 61 20 72 65 66 65  sition of a refe
24ec0 72 65 6e 63 65 20 50 6f 69 6e 74 20 63 6f 75 6c  rence Point coul
24ed0 64 20 65 61 73 69 6c 79 20 63 61 75 73 65 20 64  d easily cause d
24ee0 72 61 6d 61 74 69 63 20 63 68 61 6e 67 65 73 20  ramatic changes 
24ef0 69 6e 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 27  in the Solution'
24f00 73 20 50 61 74 68 20 28 61 73 20 69 73 20 69 6e  s Path (as is in
24f10 20 74 68 69 73 20 63 61 73 65 29 2e 0d 0a 3c 62   this case)...<b
24f20 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e  r><br>..<hr><br>
24f30 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  ..<a href="https
24f40 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
24f50 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61  it/fossil/libspa
24f60 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d  tialite/wiki?nam
24f70 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63  e=4.3.0-doc">bac
24f80 6b 3c 2f 61 3e 0a 5a 20 35 65 37 33 66 30 38 62  k</a>.Z 5e73f08b
24f90 61 31 34 30 37 65 34 33 35 37 61 34 64 62 34 62  a1407e4357a4db4b
24fa0 39 32 37 32 61 61 61 34 0a                       9272aaa4.