Hex Artifact Content
Not logged in

Artifact 570977e2a9783dbe1cd4d92d2b98e6c719ce5e25:

Wiki page [VirtualRouting] by sandro 2018-04-25 09:10:19.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 30 39 3a  D 2018-04-25T09:
0010: 31 30 3a 31 39 2e 37 30 31 0a 4c 20 56 69 72 74  10:19.701.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 66 32 33  ualRouting.P f23
0030: 37 39 31 37 38 63 38 36 30 32 31 63 33 35 30 63  79178c86021c350c
0040: 62 63 63 38 38 31 66 66 37 30 35 33 64 33 30 65  bcc881ff7053d30e
0050: 31 30 66 61 38 0a 55 20 73 61 6e 64 72 6f 0a 57  10fa8.U sandro.W
0060: 20 31 35 30 39 39 31 0a 3c 61 20 68 72 65 66 3d   150991.<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 2f 75 6c 3e 0d 0a 3c 68  </li>..</ul>..<h
18e0: 34 3e 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75  4>Logical conclu
18f0: 73 69 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20  sions</h4>..Any 
1900: 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61  topologically va
1910: 6c 69 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f  lid <b>Network</
1920: 62 3e 20 28 69 72 72 65 73 70 65 63 74 69 76 65  b> (irrespective
1930: 20 6f 66 20 77 68 65 74 68 65 72 20 69 74 20 69   of whether it i
1940: 73 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f  s a <b>Spatial</
1950: 62 3e 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c  b> or <b>Logical
1960: 3c 2f 62 3e 20 74 79 70 65 29 20 69 73 20 61 20  </b> type) is a 
1970: 76 61 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f  valid <b>Graph</
1980: 62 3e 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f  b>.<br>..A Netwo
1990: 72 6b 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20  rk allowing the 
19a0: 73 75 70 70 6f 72 74 20 28 64 69 72 65 63 74 20  support (direct 
19b0: 6f 72 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20  or indirect) of 
19c0: 73 6f 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65  some appropriate
19d0: 20 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f   <b>cost value</
19e0: 62 3e 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62  b> is a valid <b
19f0: 3e 57 65 69 67 68 74 65 64 20 47 72 61 70 68 3c  >Weighted Graph<
1a00: 2f 62 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e  /b>, and can con
1a10: 73 65 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72  sequently suppor
1a20: 74 20 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67  t <b>Routing alg
1a30: 6f 72 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e  orithms</b>.<br>
1a40: 0d 0a 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c  ..All Routing al
1a50: 67 6f 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74  gorithms are int
1a60: 65 6e 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66  ended to identif
1a70: 79 20 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73  y the <b>Shortes
1a80: 74 20 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74  t Path</b> solut
1a90: 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74  ion connecting t
1aa0: 77 6f 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20  wo <b>Nodes</b> 
1ab0: 69 6e 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64  in a <b>weighted
1ac0: 20 67 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61   graph</b> (<i>a
1ad0: 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72  ka</i> <b>Networ
1ae0: 6b 3c 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d  k</b>).<br><br>.
1af0: 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c  .<b><u>Note</u><
1b00: 2f 62 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62  /b>: the term <b
1b10: 3e 3c 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74  ><i>Shortest Pat
1b20: 68 3c 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65  h</i></b> can be
1b30: 20 65 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72   easily misunder
1b40: 73 74 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20  stood.<br>..Due 
1b50: 74 6f 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65  to historical re
1b60: 61 73 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63  asons the most c
1b70: 6f 6d 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f  ommon applicatio
1b80: 6e 20 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74  n field for Rout
1b90: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69  ing algorithms i
1ba0: 73 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e  s related to <b>
1bb0: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62  Road Networks</b
1bc0: 3e 2c 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79  >, but also many
1bd0: 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20   other kinds of 
1be0: 4e 65 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d  Networks exist:.
1bf0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f  .<ul>..<li>Hydro
1c00: 67 72 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73  graphic Networks
1c10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20  .</li>..<li>Gas 
1c20: 2f 20 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65  / Water / Oil Ne
1c30: 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  tworks.</li>..<l
1c40: 69 3e 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74  i>Electrical Net
1c50: 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  works.</li>..<li
1c60: 3e 54 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f  >Telecomunicatio
1c70: 6e 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e  n Networks.</li>
1c80: 0d 0a 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20  ..<li>Social or 
1c90: 45 63 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f  Economical Netwo
1ca0: 72 6b 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67  rks representing
1cb0: 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62   relationships b
1cc0: 65 74 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61  etween individua
1cd0: 6c 73 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e  ls or companies.
1ce0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65  </li>..<li>Epide
1cf0: 6d 69 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f  miological Netwo
1d00: 72 6b 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67  rks representing
1d10: 20 74 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e   the propagation
1d20: 20 6f 66 20 69 6e 66 65 63 74 69 76 65 20 64 69   of infective di
1d30: 73 65 61 73 65 73 20 62 65 74 77 65 65 6e 20 69  seases between i
1d40: 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72  ndividuals or gr
1d50: 6f 75 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  oups.</li>..</ul
1d60: 3e 3c 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49  ></li> ..<br>..I
1d70: 6e 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20  n all the above 
1d80: 63 61 73 65 73 20 77 65 20 63 65 72 74 61 69 6e  cases we certain
1d90: 6c 79 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65  ly have valid Ne
1da0: 74 77 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e  tworks supportin
1db0: 67 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  g Routing algori
1dc0: 74 68 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c  thns, but not al
1dd0: 6c 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d  l of them can im
1de0: 70 6c 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69  ply something li
1df0: 6b 65 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20  ke a <i>spatial 
1e00: 64 69 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69  distance</i> (<i
1e10: 3e 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74  >geometric lengt
1e20: 68 3c 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74  h</i>) or a <i>t
1e30: 72 61 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c  ravel time</i>.<
1e40: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74  br>..In the most
1e50: 20 67 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69   general accepti
1e60: 6f 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20  on <b>costs</b> 
1e70: 63 61 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74  can be represent
1e80: 65 64 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e  ed by any reason
1e90: 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75  able physical qu
1ea0: 61 6e 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20  antity.<br>..So 
1eb0: 61 20 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a  a more generaliz
1ec0: 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73  ed definition is
1ed0: 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52   assuming that R
1ee0: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d  outing algorithm
1ef0: 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74  s are intended t
1f00: 6f 20 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65  o identify <b>le
1f10: 73 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f  sser cost</b> so
1f20: 6c 75 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e  lutions on a <b>
1f30: 77 65 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f  weighted graph</
1f40: 62 3e 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61  b>.<br>..The exa
1f50: 63 74 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  ct interpretatio
1f60: 6e 20 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65  n of the involve
1f70: 64 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28  d <b>costs</b> (
1f80: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65  <i>aka</i> <b>we
1f90: 69 67 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63  ights</b>) stric
1fa0: 74 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74  tly depends on t
1fb0: 68 65 20 76 65 72 79 20 73 70 65 63 69 66 69 63  he very specific
1fc0: 20 6e 61 74 75 72 65 20 6f 66 20 65 61 63 68 20   nature of each 
1fd0: 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68  Network...<h3>Th
1fe0: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67  e Dijkstra's alg
1ff0: 6f 72 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69  orithm</h3>..Thi
2000: 73 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20  s well known <a 
2010: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e  href="https://en
2020: 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77  .wikipedia.org/w
2030: 69 6b 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73  iki/Dijkstra%27s
2040: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f  _algorithm">algo
2050: 72 69 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20  rithm</a> isn't 
2060: 6e 65 63 65 73 73 61 72 69 6c 79 20 74 68 65 20  necessarily the 
2070: 66 61 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74  fastest one, but
2080: 20 69 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72   it always ensur
2090: 65 73 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65  es <b>full corre
20a0: 63 74 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c  ctness</b>:..<ul
20b0: 3e 0d 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d  >..<li>Any Node-
20c0: 74 6f 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69  to-Node connecti
20d0: 6f 6e 20 69 64 65 6e 74 69 66 69 65 64 20 62 79  on identified by
20e0: 20 44 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63   Dijkstra's is c
20f0: 65 72 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64  ertainly ensured
2100: 20 74 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61   to be <b>optima
2110: 6c 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f  l</b>.<br>..In o
2120: 74 68 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63  ther words, no c
2130: 6f 6e 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65  onnetction prese
2140: 6e 74 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f  nting a lower co
2150: 73 74 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61  st can conceptua
2160: 6c 6c 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d  lly exist.</li>.
2170: 0a 3c 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74  .<li>When Dijsjt
2180: 72 61 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64  ra's fails to id
2190: 65 6e 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f  entify a solutio
21a0: 6e 20 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65  n this surely me
21b0: 61 6e 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75  ans that no solu
21c0: 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65  tion is possible
21d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
21e0: 68 33 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69  h3>The A* algori
21f0: 74 68 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61  thm</h3>..Many a
2200: 6c 74 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69  lternative Routi
2210: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61  ng algorithms ha
2220: 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64  ve been invented
2230: 20 64 75 72 69 6e 67 20 74 68 65 20 79 65 61 72   during the year
2240: 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d  s.<br>..All them
2250: 20 61 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65   are based on he
2260: 75 72 69 73 74 69 63 20 61 73 73 75 6d 70 74 69  uristic assumpti
2270: 6f 6e 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65  ons and are inte
2280: 6e 64 65 64 20 74 6f 20 62 65 20 66 61 73 74 65  nded to be faste
2290: 72 20 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27  r than Dijkstra'
22a0: 73 2c 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74  s, but none of t
22b0: 68 65 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c  hem can ensure <
22c0: 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65  b>full correctne
22d0: 73 73 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74  ss</b> as Dijkst
22e0: 72 61 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a  ra's does.<br>..
22f0: 54 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74  The <a href="htt
2300: 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
2310: 61 2e 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65  a.org/wiki/A*_se
2320: 61 72 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e  arch_algorithm">
2330: 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e  A* algorithm</a>
2340: 20 61 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20   applies a mild 
2350: 68 65 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69  heuristic optimi
2360: 7a 61 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20  zation, and can 
2370: 62 65 20 61 20 72 65 61 6c 69 73 74 69 63 20 61  be a realistic a
2380: 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69  lternative to Di
2390: 6a 6b 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79  jkstra's in many
23a0: 20 63 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d   cases.<br><br>.
23b0: 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61  .<hr>..<h1><a na
23c0: 6d 65 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20  me="sample">2 - 
23d0: 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20  The sample/test 
23e0: 44 42 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75  DB</a></h1>..You
23f0: 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f   are expected to
2400: 20 66 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72   follow the curr
2410: 65 6e 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f  ent tutorial abo
2420: 75 74 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75  ut <b>VirtualRou
2430: 74 69 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65  ting</b> by dire
2440: 63 74 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c  ctly testing all
2450: 20 53 51 4c 20 71 75 65 72 69 65 73 20 64 69 73   SQL queries dis
2460: 63 75 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69  cussed  below wi
2470: 74 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22  th the <a href="
2480: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
2490: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
24a0: 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65  s/routing-sample
24b0: 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c  -5.0.0.7z">sampl
24c0: 65 2f 74 65 73 74 20 44 42 20 74 68 61 74 20 79  e/test DB that y
24d0: 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20  ou can download 
24e0: 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72  from here</a><br
24f0: 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c  ><br>..The sampl
2500: 65 20 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68  e DB contains th
2510: 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e  e full <b>road n
2520: 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62  etwork</b> of <b
2530: 3e 54 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20  >Tuscany Region 
2540: 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20  (Italy)</b> (<a 
2550: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77  href="http://www
2560: 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63  502.regione.tosc
2570: 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f  ana.it/geoscopio
2580: 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f  /download/grafo_
2590: 73 74 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74  stradale/iternet
25a0: 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64  .zip">Iter.Net d
25b0: 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64  ataset</a>) kind
25c0: 6c 79 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65  ly released unde
25d0: 72 20 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53  r the <b>CC-BY-S
25e0: 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63  A 4.0</b> licenc
25f0: 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c  e terms.<br>..Al
2600: 6c 74 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74  lthough the cont
2610: 65 6e 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74  ents stored in t
2620: 68 65 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61  he sample databa
2630: 73 65 20 68 61 76 65 20 62 65 65 6e 20 72 65 61  se have been rea
2640: 72 72 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73  rranged, it is s
2650: 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20  till subject to 
2660: 74 68 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43  the initial <b>C
2670: 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20  C-BY-SA 4.0</b> 
2680: 63 6c 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69  clauses (<i>deri
2690: 76 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a  ved work</i>)...
26a0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a  <br><br>..<ul>..
26b0: 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d  <li>all road nam
26c0: 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 77 69  es are stored wi
26d0: 74 68 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f  thin the <b>topo
26e0: 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c  nyms</b> Table.<
26f0: 62 72 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73  br>..since the s
2700: 61 6d 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63  ame road names c
2710: 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20  ould be used in 
2720: 64 69 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69  different Munici
2730: 70 61 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62  palities, the <b
2740: 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61  >toponyms</b> Ta
2750: 62 6c 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79  ble relationally
2760: 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65 20   references the 
2770: 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65  <b>municipalitie
2780: 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61  s</b> Table (via
2790: 20 3c 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20   <b>PRIMARY</b> 
27a0: 2f 20 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59  / <b>FOREIGN KEY
27b0: 3c 2f 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69  </b> relationshi
27c0: 70 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ps).</li>..<li>t
27d0: 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20  he <b>roads</b> 
27e0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f  Spatial Table co
27f0: 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e  ntains about <b>
2800: 33 38 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b  380,000</b> Link
2810: 73 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66  s, and has the f
2820: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73  ollowing columns
2830: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
2840: 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69  id</b>: unique i
2850: 64 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63  dentifier of eac
2860: 68 20 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41  h Link (<b>PRIMA
2870: 52 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  RY KEY</b>).</li
2880: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66  >..<li><b>node_f
2890: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e  rom</b> and <b>n
28a0: 6f 64 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65  ode_to</b>: Node
28b0: 20 69 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54   identifiers...T
28c0: 68 65 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72  he original Iter
28d0: 2e 4e 65 74 20 64 61 74 61 73 65 74 20 61 64 6f  .Net dataset ado
28e0: 70 74 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e  pts very long an
28f0: 20 63 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75   complex alphanu
2900: 6d 65 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73  meric Node codes
2910: 3b 20 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f  ; the integer No
2920: 64 65 20 49 44 73 20 77 65 72 65 20 6f 62 74 61  de IDs were obta
2930: 69 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20  ined by calling 
2940: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
2950: 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20  tingNodes()</b> 
2960: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73  SQL function dis
2970: 63 75 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c  cussed in a foll
2980: 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f  owing section.</
2990: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74  li>..<li><b>id_t
29a0: 6f 70 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61  oponym</b>: rela
29b0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
29c0: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
29d0: 6e 64 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20  nding road name 
29e0: 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74  contained into t
29f0: 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f  he <b>toponyms</
2a00: 62 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52  b> Table (<b>FOR
2a10: 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f  EIGN KEY</b>).</
2a20: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65  li>..<li><b>spee
2a30: 64 5f 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65  d_kmh</b>: the e
2a40: 73 74 69 6d 61 74 65 64 20 61 76 65 72 61 67 65  stimated average
2a50: 20 73 70 65 65 64 20 73 75 70 70 6f 72 74 65 64   speed supported
2a60: 20 62 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78   by the Link, ex
2a70: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d  pressed in <b>km
2a80: 2f 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  /h</b>.<br>..<u>
2a90: 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67  Note</u>: <b>neg
2aa0: 61 74 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73  ative</b> speeds
2ab0: 20 69 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64   intend a forbid
2ac0: 64 65 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20  den Link (as it 
2ad0: 63 6f 75 6c 64 20 62 65 20 74 68 65 20 63 61 73  could be the cas
2ae0: 65 20 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20  e of pedestrian 
2af0: 73 74 72 65 65 74 73 20 6f 72 20 62 69 63 79 63  streets or bicyc
2b00: 6c 65 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e  le lanes exludin
2b10: 67 20 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73  g motor vehicles
2b20: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ).</li>..<li><b>
2b30: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62  oneway_fromto</b
2b40: 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f  > and <b>oneway_
2b50: 74 6f 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c  tofrom</b>: bool
2b60: 65 61 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d  ean flags determ
2b70: 69 6e 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61  ine if a Link ca
2b80: 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69  n be traversed i
2b90: 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e  n both direction
2ba0: 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73  s or just in a s
2bb0: 69 6e 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20  ingle direction 
2bc0: 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29  (<b>one-way</b>)
2bd0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
2be0: 75 3e 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65  u>: all Links de
2bf0: 63 6c 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61  claring <b>onewa
2c00: 79 5f 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61  y_fromto=0</b> a
2c10: 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66  nd <b>oneway_tof
2c20: 72 6f 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e  rom=0</b> are in
2c30: 74 65 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77  tended to be alw
2c40: 61 79 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f  ays forbidden.</
2c50: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74  li>..<li><b>cost
2c60: 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d  </b>: the <b>tim
2c70: 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20  e</b> expressed 
2c80: 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62  in <b>seconds</b
2c90: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72  > required to tr
2ca0: 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b  averse each Link
2cb0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
2cc0: 31 3c 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20  1</u> all costs 
2cd0: 77 65 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20  were calculated 
2ce0: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  accordingly to t
2cf0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72  he following for
2d00: 6d 75 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20  mula: <b>cost = 
2d10: 28 28 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d  ((ST_Length(geom
2d20: 29 20 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70  ) / 1000.0) / sp
2d30: 65 65 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e  eed_kmh) * 3600.
2d40: 30 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  0</b><br>..<u>No
2d50: 74 65 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62  te #2</u> all <b
2d60: 3e 38 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f  >86,400.0</b> co
2d70: 73 74 20 76 61 6c 75 65 73 20 28 65 71 75 69 76  st values (equiv
2d80: 61 6c 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20  alent to 1 day) 
2d90: 69 6d 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69  imply an <b>infi
2da0: 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20  nitive cost</b> 
2db0: 74 68 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61  thus intending a
2dc0: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62   <b>forbidden</b
2dd0: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  > Link.</li>..<l
2de0: 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61  i><b>geom</b>: a
2df0: 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e   <b>3D Linestrin
2e00: 67 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69  g</b> representi
2e10: 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20  ng the Geometry 
2e20: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72  of each Link.<br
2e30: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
2e40: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e  the original <b>
2e50: 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74  Iter.Net</b> dat
2e60: 61 73 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e  aset is just <b>
2e70: 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f  2D</b>; elevatio
2e80: 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f  ns (<b>Z</b> coo
2e90: 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20 69  rdinates) were i
2ea0: 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64  nterpolated by d
2eb0: 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61 73  raping the datas
2ec0: 65 74 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72  et over an <a hr
2ed0: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2ee0: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2ef0: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2f00: 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72  ownload/altimetr
2f10: 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f  ia/da_ctr10k/gb/
2f20: 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37  DTM_Orografico.7
2f30: 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45  z">orographic DE
2f40: 4d 20 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c  M (10m X 10m cel
2f50: 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ls)</a></li>..</
2f60: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  ul></li>..<li>th
2f70: 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62  e <b>roads_vw</b
2f80: 3e 20 53 70 61 74 69 61 6c 20 56 69 65 77 20 72  > Spatial View r
2f90: 65 73 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61  esolves all rela
2fa0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
2fb0: 73 20 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61  s between <b>roa
2fc0: 64 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e  ds</b>, <b>topon
2fd0: 79 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d  yms</b> and <b>m
2fe0: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62  unicipalities</b
2ff0: 3e 2c 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67  >, thus allowing
3000: 20 66 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20   for easier SQL 
3010: 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  queries.</li>..<
3020: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f  li>the <b>house_
3030: 6e 72 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54  nr</b> Spatial T
3040: 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62  able contains ab
3050: 6f 75 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30  out <b>1,480,000
3060: 3c 2f 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65  </b> House Numbe
3070: 72 73 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20  rs, and has the 
3080: 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e  following column
3090: 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  s:..<ul>..<li><b
30a0: 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20  >id</b>: unique 
30b0: 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61  identifier of ea
30c0: 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20  ch House Number 
30d0: 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c  (<b>PRIMARY KEY<
30e0: 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /b>).</li>..<li>
30f0: 3c 62 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20  <b>id_road</b>: 
3100: 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72  relational refer
3110: 65 6e 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72  ence to the corr
3120: 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63  esponding Link c
3130: 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68  ontained into th
3140: 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54  e <b>roads</b> T
3150: 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e  able (<b>FOREIGN
3160: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
3170: 0a 3c 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62  .<li><b>label</b
3180: 3e 3a 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c  >: the textual l
3190: 61 62 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69  abel fully quali
31a0: 66 79 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65  fying each House
31b0: 20 4e 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c   Number.</li>..<
31c0: 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20  li><b>geom</b>: 
31d0: 61 20 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62  a <b>3D Point</b
31e0: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  > representing t
31f0: 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65  he Geometry of e
3200: 61 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72  ach House Number
3210: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
3220: 31 3c 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74  1</u>: also in t
3230: 68 69 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65  his case all ele
3240: 76 61 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62  vations (<b>Z</b
3250: 3e 20 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77  > coordinates) w
3260: 65 72 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64  ere interpolated
3270: 20 62 79 20 64 72 61 70 69 6e 67 20 74 68 65 20   by draping the 
3280: 64 61 74 61 73 65 74 20 6f 76 65 72 20 74 68 65  dataset over the
3290: 20 73 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f   same DEM as abo
32a0: 76 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  ve.<br>..<u>Note
32b0: 20 23 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c   #2</u>: strictl
32c0: 79 20 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20  y speacking the 
32d0: 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72  House Numbers ar
32e0: 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68  e not part of th
32f0: 65 20 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20  e Road Network; 
3300: 74 68 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65  they are include
3310: 64 20 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f  d in the sample/
3320: 74 65 73 74 20 64 61 74 61 62 61 73 65 20 61 73  test database as
3330: 20 75 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73   useful examples
3340: 20 65 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72   explained later
3350: 20 69 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f   in this text.</
3360: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
3370: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73  .<li>the <b>hous
3380: 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74  e_nr_vw</b> Spat
3390: 69 61 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65  ial View resolve
33a0: 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c  s all relational
33b0: 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 74 77   references betw
33c0: 65 65 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c  een <b>house_nr<
33d0: 2f 62 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62  /b>, <b>roads</b
33e0: 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f  >, <b>toponyms</
33f0: 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69  b> and <b>munici
3400: 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68  palities</b>, th
3410: 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20  us allowing for 
3420: 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72 69  easier SQL queri
3430: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  es.</li>..</ul>.
3440: 0a 3c 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68  .<br>.. <hr>..<h
3450: 31 3e 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74  1><a name="creat
3460: 65 22 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20  e">3 - Creating 
3470: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
3480: 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  ables</a></h1>..
3490: 41 6c 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69  All VirtualRouti
34a0: 6e 67 20 71 75 65 72 69 65 73 20 61 72 65 20 62  ng queries are b
34b0: 61 73 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66  ased on a specif
34c0: 69 63 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75  ic <b>VirtualRou
34d0: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20  ting Table</b>, 
34e0: 61 6e 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65  and in turn, the
34f0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
3500: 54 61 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f  Table is based o
3510: 6e 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  n a correspondin
3520: 67 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61  g <b>Binary Data
3530: 20 54 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68   Table</b> which
3540: 2c 20 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65  , taken togeathe
3550: 72 2c 20 69 73 20 61 6e 20 65 66 66 69 63 69 65  r, is an efficie
3560: 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f  nt representatio
3570: 6e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79  n of the underly
3580: 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e  ing Network.<br>
3590: 0d 0a 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74  ..So we'll start
35a0: 20 66 69 72 73 74 20 62 79 20 63 72 65 61 74 69   first by creati
35b0: 6e 67 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e  ng these tables.
35c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c  <br><br>..The ol
35d0: 64 2c 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72  d, and now super
35e0: 73 65 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61  seded, <b>Virtua
35f0: 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71  lNetwork</b> req
3600: 75 69 72 65 64 20 74 68 65 20 75 73 65 20 6f 66  uired the use of
3610: 20 61 20 73 65 70 61 72 61 74 65 20 43 4c 49 20   a separate CLI 
3620: 74 6f 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c  tool (<b>spatial
3630: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29  ite_network</b>)
3640: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f   in order to pro
3650: 70 65 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65  perly initialize
3660: 20 61 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72   a VirtualNetwor
3670: 6b 20 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20  k Table and its 
3680: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
3690: 20 44 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c   Data Table;..al
36a0: 74 65 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73  ternatively <b>s
36b0: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62  patialite_gui</b
36c0: 3e 20 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62  > supported a <b
36d0: 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20  >GUI wizard</b> 
36e0: 66 6f 72 20 74 68 65 20 73 61 6d 65 20 74 61 73  for the same tas
36f0: 6b 2e 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e  k. Since version
3700: 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53   <b>5.0.0</b>, S
3710: 70 61 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f  patiaLite  suppo
3720: 72 74 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f  rts this functio
3730: 6e 61 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c  nality directly,
3740: 20 77 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65   with the <b>Cre
3750: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
3760: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a   SQL function...
3770: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
3780: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
3790: 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20  ('byfoot_data', 
37a0: 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73  'byfoot', 'roads
37b0: 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d  _vw', 'node_from
37c0: 27 2c 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65  ', 'nodeto', 'ge
37d0: 6f 6d 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53  om', NULL);....S
37e0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
37f0: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
3800: 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ();..-----------
3810: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3820: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64  ---------..ToNod
3830: 65 20 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f  e Column "nodeto
3840: 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64  " is not defined
3850: 20 69 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61   in the Input Ta
3860: 62 6c 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ble..</verbatim>
3870: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74  ..<u>Note</u>: t
3880: 68 69 73 20 66 69 72 73 74 20 71 75 65 72 79 20  his first query 
3890: 28 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69  (based on the <i
38a0: 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69  >minimal form</i
38b0: 3e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f  > of <b>CreateRo
38c0: 75 74 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69  uting</b>) <b><i
38d0: 3e 3c 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79  ><u>deliberately
38e0: 3c 2f 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e  </u></i></b> con
38f0: 74 61 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65  tains an intende
3900: 64 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20  d error causing 
3910: 61 20 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61  a failure to  ra
3920: 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  ise an exception
3930: 2e 3c 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75  .<br>..CreateRou
3940: 74 69 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20  ting() can fail 
3950: 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61  for multiple rea
3960: 73 6f 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c  sons, and by cal
3970: 6c 69 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f  ling <b>CreateRo
3980: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72  uting_GetLastErr
3990: 6f 72 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e  or()</b> you can
39a0: 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79   easily identify
39b0: 20 74 68 65 20 65 78 61 63 74 20 72 65 61 73 6f   the exact reaso
39c0: 6e 20 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72  n why the most r
39d0: 65 63 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72  ecent call to Cr
39e0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61  eateRouting() fa
39f0: 69 6c 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62  iled.<br>..<verb
3a00: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
3a10: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66  eateRouting('byf
3a20: 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f  oot_data', 'byfo
3a30: 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c  ot', 'roads_vw',
3a40: 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e   'node_from', 'n
3a50: 6f 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c  ode_to', 'geom',
3a60: 20 4e 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27   NULL, 'toponym'
3a70: 2c 20 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d  , 1, 1);..------
3a80: 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45  -------..1....SE
3a90: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69  LECT CreateRouti
3aa0: 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28  ng_GetLastError(
3ab0: 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  );..------------
3ac0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3ad0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a  --------..NULL..
3ae0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69  </verbatim>..Thi
3af0: 73 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74  s second attempt
3b00: 20 77 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77   will succeed, w
3b10: 69 74 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ith CreateRoutin
3b20: 67 28 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62  g() returning <b
3b30: 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  >1</b> (<i>aka</
3b40: 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c  i> <b>TRUE</b>),
3b50: 20 61 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20   and as you can 
3b60: 65 61 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77  easily check now
3b70: 20 74 68 65 20 44 61 74 61 62 61 73 65 20 63 6f   the Database co
3b80: 6e 74 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54  ntains two new T
3b90: 61 62 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74  ables: <b>byfoot
3ba0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f  </b> and <b>byfo
3bb0: 6f 74 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e  ot_data</b>.<br>
3bc0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61  ..<u>Note</u>: a
3bd0: 66 74 65 72 20 61 20 73 75 63 63 65 73 73 66 75  fter a successfu
3be0: 6c 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65  l call to Create
3bf0: 52 6f 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65  Routing() <b>Cre
3c00: 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61  ateRouting_GetLa
3c10: 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69  stError()</b> wi
3c20: 6c 6c 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e  ll always return
3c30: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72   <b>NULL</b>.<br
3c40: 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f  ><br>..Let's loo
3c50: 6b 2c 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69  k, in more detai
3c60: 6c 2c 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e  l, of the <i>min
3c70: 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66  imal form</i> of
3c80: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3c90: 3b 20 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e  ; and the meanin
3ca0: 67 20 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65  g of each argume
3cb0: 6e 74 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c  nt:..<ol>..<li><
3cc0: 69 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69  i>byfoot_data</i
3cd0: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  >: the name of t
3ce0: 68 65 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72  he Network Binar
3cf0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20  y Data Table to 
3d00: 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e  be created.</li>
3d10: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c  ..<li><i>byfoot<
3d20: 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66  /i>: the name of
3d30: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74   the VirtualRout
3d40: 69 6e 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20  ing Table to be 
3d50: 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c  created.</li>..<
3d60: 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f  li><i>roads_vw</
3d70: 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  i>: the name of 
3d80: 74 68 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54  the <b>Spatial T
3d90: 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53  able</b> or <b>S
3da0: 70 61 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20  patial View</b> 
3db0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3dc0: 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77   underlying Netw
3dd0: 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ork.<br>..<u>Not
3de0: 65 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63  e</u>: in this c
3df0: 61 73 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20  ase we actually 
3e00: 75 73 65 64 20 61 20 53 70 61 74 69 61 6c 20 56  used a Spatial V
3e10: 69 65 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  iew.</li>..<li><
3e20: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a  i>node_from</i>:
3e30: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
3e40: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
3e50: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
3e60: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
3e70: 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f  tain <b>node-fro
3e80: 6d 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c  m</b> values.</l
3e90: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f  i>..<li><i>node_
3ea0: 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  to</i>: name of 
3eb0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
3ec0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
3ed0: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
3ee0: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e   to contain <b>n
3ef0: 6f 64 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65  ode-to</b> value
3f00: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
3f10: 67 65 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  geom</i>: name o
3f20: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e  f the column (in
3f30: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
3f40: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74   or View) expect
3f50: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62  ed to contain <b
3f60: 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e  >Linestrings</b>
3f70: 2e 3c 62 72 3e 0d 0a 57 65 20 63 6f 75 6c 64 20  .<br>..We could 
3f80: 68 61 76 65 20 6c 65 67 69 74 69 6d 61 74 65 6c  have legitimatel
3f90: 79 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55  y passed a <b>NU
3fa0: 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 66 6f 72  LL</b> value for
3fb0: 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69   this argument i
3fc0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20  n the case of a 
3fd0: 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f  <b>Logical Netwo
3fe0: 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  rk</b>.</li>..<l
3ff0: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e  i><i>NULL</i>: n
4000: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
4010: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4020: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4030: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4040: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76  in <b>cost</b> v
4050: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  alues.<br>..In t
4060: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65  his case we have
4070: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c   passed a <b>NUL
4080: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64  L</b> value, and
4090: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
40a0: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66  e <b>cost</b> of
40b0: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20   each Link will 
40c0: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65  be assumed to be
40d0: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
40e0: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63  the <b>geometric
40f0: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74   length</b> of t
4100: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
4110: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e   Linestring.<br>
4120: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e  ..<u>Note #1</u>
4130: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  : in the case of
4140: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20   Networks based 
4150: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73  on <b>longitudes
4160: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69  </b> and <b>lati
4170: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  tudes</b> (<i>ak
4180: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70  a</i> <b>geograp
4190: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
41a0: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67  e Systems) the g
41b0: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f  eometry length o
41c0: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67  f all Linestring
41d0: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73  s will be precis
41e0: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20  ely <b>measured 
41f0: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
4200: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67  </b> by applying
4210: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61   the most accura
4220: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66  te <b>geodesic f
4230: 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 61 6e 64 20  ormulae</b> and 
4240: 77 69 6c 6c 20 62 65 20 63 6f 6e 73 65 71 75 65  will be conseque
4250: 6e 74 6c 79 20 65 78 70 72 65 73 73 65 64 20 69  ntly expressed i
4260: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e  n <b>meters</b>.
4270: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61   In any other ca
4280: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64  se (<b>projected
4290: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53  </b> Reference S
42a0: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20  ystems) lengths 
42b0: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65  will be expresse
42c0: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73  d in the <b>meas
42d0: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66  ure unit</b> def
42e0: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65  ined by the Refe
42f0: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e  rence System (e.
4300: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e  g. <b>meters</b>
4310: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20   for <b>UTM</b> 
4320: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20  projections and 
4330: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20  <b>feet</b> for 
4340: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72  <b>NAD-ft</b> pr
4350: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d  ojections).<br>.
4360: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a  .<u>Note #2</u>:
4370: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c   the <b>geom-col
4380: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63  umn</b> and <b>c
4390: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61  ost-column</b> a
43a0: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76  rguments are nev
43b0: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65  er allowed to be
43c0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20   <b>NULL</b> at 
43d0: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f  the same time.</
43e0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f  li>..<li><i>topo
43f0: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  nym</i>: name of
4400: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20   the column (in 
4410: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20  the above Table 
4420: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65  or View) expecte
4430: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  d to contain <b>
4440: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61  road-name</b> va
4450: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f  lues.<br>..It co
4460: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74  uld be legitimat
4470: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ely set to <b>NU
4480: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69  LL</b> if all Li
4490: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75  nks are anonymou
44a0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
44b0: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e  1</i>: a boolean
44c0: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74   flag intended t
44d0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65  o specify if the
44e0: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75   Network must su
44f0: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20  pport the <b>A* 
4500: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72  algorithm</b> or
4510: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e   not (set to <b>
4520: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61  TRUE</b> by defa
4530: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ult).</li>..<li>
4540: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c  <i>1</i>: a bool
4550: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65  ean flag intende
4560: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20  d to specify if 
4570: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69  all Network's Li
4580: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20  nks are assumed 
4590: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63  to be <b>bidirec
45a0: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f  tional</b> or no
45b0: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65  t (assumed to be
45c0: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20   <b>TRUE</b> by 
45d0: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d  default).</li> .
45e0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62  .</ol>..<table b
45f0: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
4600: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
4610: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
4620: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
4630: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f  Technical note</
4640: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61  h3>..The interna
4650: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74  l encoding adopt
4660: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e  ed by the <b>Bin
4670: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f  ary Data Table</
4680: 62 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20  b> is unchanged 
4690: 61 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20  and is the same 
46a0: 66 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74  for both <b>Virt
46b0: 75 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e  ualNetwok</b> an
46c0: 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74  d <b>VirtualRout
46d0: 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f  ing</b>.<br>..Yo
46e0: 75 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73  u can safely bas
46f0: 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  e a <b>VirtualRo
4700: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20  uting Table</b> 
4710: 6f 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20  on any existing 
4720: 42 69 6e 61 72 79 20 44 61 74 61 0d 0a 54 61 62  Binary Data..Tab
4730: 6c 65 20 63 72 65 61 74 65 64 20 62 79 20 74 68  le created by th
4740: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 2d  e <b>spatialite-
4750: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20  network</b> CLI 
4760: 74 6f 6f 6c 2c 20 65 78 61 63 74 6c 79 20 61 73  tool, exactly as
4770: 20 79 6f 75 20 63 61 6e 20 62 61 73 65 20 61 20   you can base a 
4780: 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72  <b>VirtualNetwor
4790: 6b 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61  k Table</b> on a
47a0: 6e 79 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  ny Binary Data T
47b0: 61 62 6c 65 20 63 72 65 61 74 65 64 20 62 79 20  able created by 
47c0: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
47d0: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66  ting()</b> SQL f
47e0: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61  unction...<verba
47f0: 74 69 6d 3e 0d 0a 43 52 45 41 54 45 20 56 49 52  tim>..CREATE VIR
4800: 54 55 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f  TUAL TABLE test_
4810: 6e 65 74 77 6f 72 6b 20 55 53 49 4e 47 20 56 69  network USING Vi
4820: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 28 27 73 6f  rtualNetwork('so
4830: 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b  me_data_table');
4840: 0d 0a 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55  ....CREATE VIRTU
4850: 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f 72 6f  AL TABLE test_ro
4860: 75 74 69 6e 67 20 55 53 49 4e 47 20 56 69 72 74  uting USING Virt
4870: 75 61 6c 52 6f 75 74 69 6e 67 28 27 73 6f 6d 65  ualRouting('some
4880: 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a  _data_table');..
4890: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 6e 20  </verbatim>..In 
48a0: 6f 72 64 65 72 20 74 6f 20 6d 61 6e 75 61 6c 6c  order to manuall
48b0: 79 20 63 72 65 61 74 65 20 79 6f 75 72 20 56 69  y create your Vi
48c0: 72 74 75 61 6c 20 54 61 62 6c 65 73 20 79 6f 75  rtual Tables you
48d0: 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78   just have to ex
48e0: 65 63 75 74 65 20 61 6e 20 61 70 70 72 6f 70 72  ecute an appropr
48f0: 69 61 74 65 20 3c 62 3e 43 52 45 41 54 45 20 56  iate <b>CREATE V
4900: 49 52 54 55 41 4c 20 54 41 42 4c 45 20 2e 2e 2e  IRTUAL TABLE ...
4910: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 2e 2e   USING Virtual..
4920: 2e 20 28 2e 2e 2e 29 3c 2f 62 3e 20 73 74 61 74  . (...)</b> stat
4930: 65 6d 65 6e 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e  ement...<h4>Warn
4940: 69 6e 67 3c 2f 68 34 3e 0d 0a 49 6e 20 74 68 65  ing</h4>..In the
4950: 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 70 61 74   case of <b>Spat
4960: 69 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e  ial Networks</b>
4970: 20 62 61 73 65 64 20 6f 6e 20 61 6e 79 20 3c 62   based on any <b
4980: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20  >geographic</b> 
4990: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
49a0: 20 28 75 73 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69   (using <b>longi
49b0: 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tudes</b> and <b
49c0: 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 3e 29 20  >latitudes</b>) 
49d0: 74 68 65 72 65 20 69 73 20 61 6e 20 69 6d 70 6f  there is an impo
49e0: 72 74 61 6e 74 20 64 69 66 66 65 72 65 6e 63 65  rtant difference
49f0: 20 62 65 74 77 65 65 6e 20 42 69 6e 61 72 79 20   between Binary 
4a00: 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 65 61  Data Tables crea
4a10: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70  ted by the <b>sp
4a20: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b  atialite_network
4a30: 3c 2f 62 3e 20 47 55 49 20 74 6f 6f 6c 20 61 6e  </b> GUI tool an
4a40: 64 20 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  d  Binary Data T
4a50: 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 79  ables created by
4a60: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
4a70: 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20  uting()</b> SQL 
4a80: 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 3c 62  function when <b
4a90: 3e 63 6f 73 74 73 3c 2f 62 3e 20 61 72 65 20 69  >costs</b> are i
4aa0: 6d 70 6c 69 63 69 74 6c 79 20 62 61 73 65 64 20  mplicitly based 
4ab0: 6f 6e 20 74 68 65 20 67 65 6f 6d 65 74 72 69 63  on the geometric
4ac0: 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 4c   length of the L
4ad0: 69 6e 6b 27 73 20 4c 69 6e 65 73 74 72 69 6e 67  ink's Linestring
4ae0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  :..<ul>..<li>the
4af0: 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e   <b>spatialite_n
4b00: 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74  etwork</b> CLI t
4b10: 6f 6f 6c 20 28 61 6e 64 20 74 68 65 20 3c 62 3e  ool (and the <b>
4b20: 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 69  GUI wizard</b> i
4b30: 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 70 72  mplemented by pr
4b40: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20  evious versions 
4b50: 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  of <b>spatialite
4b60: 5f 67 75 69 3c 2f 62 3e 29 20 63 6f 6d 70 75 74  _gui</b>) comput
4b70: 65 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67  e the Linestring
4b80: 27 73 20 6c 65 6e 67 74 68 20 61 73 20 61 6e 20  's length as an 
4b90: 3c 62 3e 61 6e 67 75 6c 61 72 20 64 69 73 74 61  <b>angular dista
4ba0: 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65  nce</b> expresse
4bb0: 64 20 69 6e 20 3c 62 3e 64 65 67 72 65 65 73 3c  d in <b>degrees<
4bc0: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /b>.</li>..<li>t
4bd0: 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  he <b>CreateRout
4be0: 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75  ing()</b> SQL fu
4bf0: 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 73 20  nction computes 
4c00: 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 27 73  the Linestring's
4c10: 20 6c 65 6e 67 74 68 20 61 73 20 61 20 3c 62 3e   length as a <b>
4c20: 6c 69 6e 65 61 72 20 64 69 73 74 61 6e 63 65 3c  linear distance<
4c30: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e  /b> expressed in
4c40: 20 3c 62 3e 6d 65 74 72 65 73 3c 2f 62 3e 20 62   <b>metres</b> b
4c50: 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d  y applying the m
4c60: 6f 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e  ost accurate <b>
4c70: 67 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61  geodesic formula
4c80: 65 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 65 6c 6c  e</b> on the ell
4c90: 69 70 73 6f 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ipsoid.</li>..</
4ca0: 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  ul>..</td></tr><
4cb0: 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d  /table><br><br>.
4cc0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
4cd0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
4ce0: 67 28 27 62 79 63 61 72 5f 64 61 74 61 27 2c 20  g('bycar_data', 
4cf0: 27 62 79 63 61 72 27 2c 20 27 72 6f 61 64 73 5f  'bycar', 'roads_
4d00: 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27  vw', 'node_from'
4d10: 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65  , 'node_to', 'ge
4d20: 6f 6d 27 2c 20 27 63 6f 73 74 27 2c 20 27 74 6f  om', 'cost', 'to
4d30: 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 2c 20 27 6f  ponym', 1, 1, 'o
4d40: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 27 2c 20 27  neway_fromto', '
4d50: 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 27 2c 20  oneway_tofrom', 
4d60: 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  0);..-----------
4d70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f  ---------..1..</
4d80: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72  verbatim>..After
4d90: 20 63 61 6c 6c 69 6e 67 20 79 65 74 20 61 6e 6f   calling yet ano
4da0: 74 68 65 72 20 74 69 6d 65 20 3c 62 3e 43 72 65  ther time <b>Cre
4db0: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
4dc0: 20 6e 6f 77 20 74 68 65 20 44 61 74 61 62 61 73   now the Databas
4dd0: 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66  e contains two f
4de0: 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c  urther Tables: <
4df0: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20  b>bycar</b> and 
4e00: 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62  <b>bycar_data</b
4e10: 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d  >.<br>..This tim
4e20: 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68  e you've used th
4e30: 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f  e <i>complete fo
4e40: 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65  rm</i> of Create
4e50: 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73  Routing(); let's
4e60: 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70   see in more dep
4e70: 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d  th all the argum
4e80: 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d  ents and their m
4e90: 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c  eaning:..<ol>..<
4ea0: 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61  li><i>bycar_data
4eb0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
4ec0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
4ed0: 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d  i>bycar</i>: sam
4ee0: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
4ef0: 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76  ..<li><i>roads_v
4f00: 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  w</i>: same as a
4f10: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  bove.</li>..<li>
4f20: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e  <i>node_from</i>
4f30: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
4f40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f  </li>..<li><i>no
4f50: 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20  de_to</i>: same 
4f60: 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a  as above.</li>..
4f70: 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a  <li><i>geom</i>:
4f80: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
4f90: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73  /li>..<li><i>cos
4fa0: 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  t</i>: same as a
4fb0: 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63  bove...In this c
4fc0: 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65  ase we have refe
4fd0: 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20  renced a column 
4fe0: 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76  preloaded with v
4ff0: 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64  alues correspond
5000: 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69  ing to the <b>ti
5010: 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20  me</b> measured 
5020: 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62  in <b>seconds</b
5030: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72  > required to tr
5040: 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b  averse each Link
5050: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e  .</li> ..<li><i>
5060: 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d  toponym</i>: sam
5070: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
5080: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20  ..<li><i>1</i>: 
5090: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c  same as above (<
50a0: 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e  i>A* enabled</i>
50b0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  ).</li>..<li><i>
50c0: 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  1</i>: same as a
50d0: 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63  bove (<i>bidirec
50e0: 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e  tional Links</i>
50f0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  ).</li>..<li><i>
5100: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69  oneway_fromto</i
5110: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
5120: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62  olumn (in the ab
5130: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65  ove Table or Vie
5140: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63  w) expected to c
5150: 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66  ontain boolean f
5160: 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20  lags specifying 
5170: 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e  if each Link can
5180: 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e   be traversed in
5190: 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c   the <b>from-to<
51a0: 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72  /b> direction or
51b0: 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e   not.</li>..<li>
51c0: 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d  <i>oneway_tofrom
51d0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  </i>: name of th
51e0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65  e column (in the
51f0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20   above Table or 
5200: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74  View) expected t
5210: 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61  o contain boolea
5220: 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69  n flags specifyi
5230: 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20  ng if each Link 
5240: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64  can be traversed
5250: 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72   in the <b>to-fr
5260: 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e  om</b> direction
5270: 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75   or not.<br>..<u
5280: 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f  >Note #1</u>: bo
5290: 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62  th <b>from-to</b
52a0: 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d  > and <b>to-from
52b0: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65  </b> column name
52c0: 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d  s can be legitim
52d0: 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e  ately set as <b>
52e0: 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c  NULL</b> if no <
52f0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65  b>one-way</b> re
5300: 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79  strictions apply
5310: 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20   to the current 
5320: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75  Network.<br>..<u
5330: 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65  >Note #2</u>: Ne
5340: 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62  tworks of the <b
5350: 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c  >unidirectional<
5360: 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76  /b> type are nev
5370: 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65  er enabled to re
5380: 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77  ference <b>one-w
5390: 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28  ay</b> columns (
53a0: 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61  they should alwa
53b0: 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e  ys be set to <b>
53c0: 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d  NULL</b>).</li>.
53d0: 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61  .<li><i>0</i>: a
53e0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e   boolean flag in
53f0: 74 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76  tending an <b>ov
5400: 65 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a  erwrite authoriz
5410: 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e  ation</b>...<ul>
5420: 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20  ..<li>If set to 
5430: 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20  <b>FALSE</b> an 
5440: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62  exception will b
5450: 65 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20  e raised if the 
5460: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
5470: 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20  able</b> and/or 
5480: 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  the <b>VirtualRo
5490: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20  uting Table</b> 
54a0: 64 6f 20 61 6c 72 65 61 64 79 20 65 78 69 73 74  do already exist
54b0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73  .</li>..<li>If s
54c0: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62  et to <b>TRUE</b
54d0: 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69  > eventually exi
54e0: 73 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c  sting Tables wil
54f0: 6c 20 62 65 20 70 72 65 76 65 6e 74 69 76 65 6c  l be preventivel
5500: 79 20 64 72 6f 70 70 65 64 20 69 6d 6d 65 64 69  y dropped immedi
5510: 61 74 65 6c 79 20 62 65 66 6f 72 65 20 73 74 61  ately before sta
5520: 72 74 69 6e 67 20 74 68 65 20 65 78 65 63 75 74  rting the execut
5530: 69 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65  ion of <b>Create
5540: 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 2e 3c 2f  Routing()</b>.</
5550: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
5560: 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ol>..<br>..<t
5570: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
5580: 66 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69  fffc0" cellspaci
5590: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
55a0: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
55b0: 0d 0a 3c 68 33 3e 48 69 67 68 6c 69 67 68 74 3a  ..<h3>Highlight:
55c0: 20 77 68 65 72 65 20 79 6f 75 20 61 72 65 3c 2f   where you are</
55d0: 68 33 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74  h3>..You've just
55e0: 20 63 72 65 61 74 65 64 20 74 77 6f 20 56 69 72   created two Vir
55f0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
5600: 65 73 20 62 61 73 65 64 20 6f 6e 20 64 69 66 66  es based on diff
5610: 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73 3b 20  erent settings; 
5620: 62 6f 74 68 20 74 68 65 6d 20 61 72 65 20 70 65  both them are pe
5630: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 61 6e  rfectly valid an
5640: 64 20 72 65 61 73 6f 6e 61 62 6c 65 2c 20 62 75  d reasonable, bu
5650: 74 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e  t they are inten
5660: 64 65 64 20 66 6f 72 20 64 69 66 66 65 72 65 6e  ded for differen
5670: 74 20 70 75 72 70 6f 73 65 73 3a 0d 0a 3c 75 6c  t purposes:..<ul
5680: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 6f 6f 74  >..<li><b>byfoot
5690: 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 63  </b> is specific
56a0: 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f  ally intended fo
56b0: 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73  r <b>pedestrians
56c0: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  </b>:..<ul>..<li
56d0: 3e 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61  >all Links are a
56e0: 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f  lways assumed to
56f0: 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69   be accessible i
5700: 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74  n <b>both direct
5710: 69 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 72 65 20  ions</b>; there 
5720: 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61  are no <b>one-wa
5730: 79 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f 20 3c 62  ys</b> and no <b
5740: 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c  >forbidden</b> L
5750: 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  inks.</li>..<li>
5760: 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20  the <b>cost</b> 
5770: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20  of each Link is 
5780: 64 69 72 65 63 74 6c 79 20 72 65 70 72 65 73 65  directly represe
5790: 6e 74 65 64 20 62 79 20 69 74 73 20 67 65 6f 6d  nted by its geom
57a0: 65 74 72 69 63 20 3c 62 3e 6c 65 6e 67 74 68 3c  etric <b>length<
57b0: 2f 62 3e 2c 20 77 68 69 63 68 20 69 73 20 63 6f  /b>, which is co
57c0: 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68  nsistent with th
57d0: 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20  e assumption of 
57e0: 61 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e 73 74 61  an almost consta
57f0: 6e 74 20 73 70 65 65 64 20 73 75 62 73 74 61 6e  nt speed substan
5800: 74 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 20 66 72  tially immune fr
5810: 6f 6d 20 61 64 76 65 72 73 65 20 72 6f 61 64 20  om adverse road 
5820: 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74  conditions and t
5830: 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f  raffic congestio
5840: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  n.</li>..</ul></
5850: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 63 61  li>..<li><b>byca
5860: 72 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69  r</b> is specifi
5870: 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66  cally intended f
5880: 6f 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 65 68 69  or <b>motor vehi
5890: 63 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d  cles</b>:..<ul>.
58a0: 0a 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e 6b 73 20  .<li>many Links 
58b0: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
58c0: 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e  be accessible in
58d0: 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 69   <b>both directi
58e0: 6f 6e 73 3c 2f 62 3e 20 62 75 74 20 6f 74 68 65  ons</b> but othe
58f0: 72 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20  rs could easily 
5900: 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 3c 62  be subject to <b
5910: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73  >one-way</b> res
5920: 74 72 69 63 74 69 6f 6e 73 20 6f 72 20 65 76 65  trictions or eve
5930: 6e 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20  n be completely 
5940: 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e  <b>forbidden</b>
5950: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
5960: 63 6f 73 74 20 6f 66 20 65 61 63 68 20 4c 69 6e  cost of each Lin
5970: 6b 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61  k is expressed a
5980: 73 20 61 6e 20 65 73 74 69 6d 61 74 65 64 20 3c  s an estimated <
5990: 62 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c 2f 62  b>travel time</b
59a0: 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65  >, because the e
59b0: 78 70 65 63 74 65 64 20 73 70 65 65 64 73 20 63  xpected speeds c
59c0: 61 6e 20 67 72 65 61 74 6c 79 20 76 61 72 79 20  an greatly vary 
59d0: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 73  accordingly to s
59e0: 70 65 63 69 66 69 63 20 72 6f 61 64 20 63 6f 6e  pecific road con
59f0: 64 69 74 69 6f 6e 73 2c 20 74 72 61 66 66 69 63  ditions, traffic
5a00: 20 63 6f 6e 67 65 73 74 69 6f 6e 20 61 6e 64 20   congestion and 
5a10: 6c 65 67 61 6c 20 72 65 67 75 6c 61 74 69 6f 6e  legal regulation
5a20: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
5a30: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
5a40: 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c  ..<u>Conclusion<
5a50: 2f 75 3e 3a 20 61 20 73 69 6e 67 6c 65 20 56 69  /u>: a single Vi
5a60: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
5a70: 6c 65 20 63 61 6e 27 74 20 62 65 20 61 62 6c 65  le can't be able
5a80: 20 74 6f 20 61 64 65 71 75 61 74 65 6c 79 20 73   to adequately s
5a90: 75 70 70 6f 72 74 20 73 75 70 70 6f 72 74 20 74  upport support t
5aa0: 68 65 20 73 70 65 63 69 66 69 63 20 72 65 71 75  he specific requ
5ab0: 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70  irements and exp
5ac0: 65 63 74 61 74 69 6f 6e 73 20 6f 66 20 64 69 66  ectations of dif
5ad0: 66 65 72 65 6e 74 20 75 73 65 72 73 2e 3c 62 72  ferent users.<br
5ae0: 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65  >..Defining more
5af0: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20   Routing Tables 
5b00: 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 73  with different s
5b10: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20  ettings for the 
5b20: 73 61 6d 65 20 4e 65 74 77 6f 72 6b 20 75 73 75  same Network usu
5b30: 61 6c 6c 79 20 69 73 20 61 20 67 6f 6f 64 20 64  ally is a good d
5b40: 65 73 69 67 6e 20 63 68 6f 69 63 65 20 6c 65 61  esign choice lea
5b50: 64 69 6e 67 20 74 6f 20 6d 6f 72 65 20 72 65 61  ding to more rea
5b60: 6c 69 73 74 69 63 20 72 65 73 75 6c 74 73 2e 3c  listic results.<
5b70: 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  br>..</td></tr>.
5b80: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  .</table>..<br><
5b90: 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79  br>..<h3>Utility
5ba0: 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75   function for au
5bb0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 74  tomatically sett
5bc0: 69 6e 67 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64  ing NodeFrom and
5bd0: 20 4e 6f 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e   NodeTo IDs</h3>
5be0: 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63  ..Sometimes it c
5bf0: 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20  ould eventually 
5c00: 68 61 70 70 65 6e 20 74 6f 20 65 6e 63 6f 75 6e  happen to encoun
5c10: 74 65 72 20 73 6f 6d 65 20 3c 62 3e 53 70 61 74  ter some <b>Spat
5c20: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ial Network</b> 
5c30: 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 62  representation b
5c40: 65 69 6e 67 20 66 75 6c 6c 79 20 74 6f 70 6f 6c  eing fully topol
5c50: 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73 74  ogically consist
5c60: 65 6e 74 20 62 75 74 20 63 6f 6d 70 6c 65 74 65  ent but complete
5c70: 6c 79 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 64  ly lacking any d
5c80: 65 66 69 6e 69 74 69 6f 6e 20 61 62 6f 75 74 20  efinition about 
5c90: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
5ca0: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
5cb0: 3e 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 62  > identifiers.<b
5cc0: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 73 70 65 63  r>..In this spec
5cd0: 69 66 69 63 20 63 61 73 65 20 79 6f 75 20 63 61  ific case you ca
5ce0: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72  n successfully r
5cf0: 65 63 6f 76 65 72 20 61 20 70 65 72 66 65 63 74  ecover a perfect
5d00: 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b  ly valid Network
5d10: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20   by calling the 
5d20: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
5d30: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20  Nodes()</b> SQL 
5d40: 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62  function...<verb
5d50: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
5d60: 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73  eateRoutingNodes
5d70: 28 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 5f 6e 61  (NULL, 'table_na
5d80: 6d 65 27 2c 20 27 67 65 6f 6d 27 2c 20 27 6e 6f  me', 'geom', 'no
5d90: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f  de_from', 'node_
5da0: 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f  to');.._________
5db0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5dc0: 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ..1..</verbatim>
5dd0: 0d 0a 4c 65 74 27 73 20 65 78 61 6d 69 6e 65 20  ..Let's examine 
5de0: 61 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 6e  all arguments an
5df0: 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a  d their meaning:
5e00: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e  ..<ol>..<li><i>N
5e10: 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  ULL</i>: name of
5e20: 20 74 68 65 20 3c 62 3e 41 74 74 61 63 68 65 64   the <b>Attached
5e30: 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69  -DB</b> containi
5e40: 6e 67 20 74 68 65 20 53 70 61 74 69 61 6c 20 54  ng the Spatial T
5e50: 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 20 63 61  able.<br>..It ca
5e60: 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 74 65 6c  n be legitimatel
5e70: 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c  y set to <b>NULL
5e80: 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69  </b>, and in thi
5e90: 73 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 41  s case the <b>MA
5ea0: 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 61 73 73  IN</b> DB is ass
5eb0: 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umed.</li>..<li>
5ec0: 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 3c 2f 69  <i>table_name</i
5ed0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 53  >: name of the S
5ee0: 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 2f 6c  patial Table.</l
5ef0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c  i>..<li><i>geom<
5f00: 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  /li>: name of th
5f10: 65 20 63 6f 6c 75 6d 6e 20 28 28 69 6e 20 74 68  e column ((in th
5f20: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 29 20 63  e above Table) c
5f30: 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 4c 69 6e  ontaining <b>Lin
5f40: 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 2f 6c  estrings</b>.</l
5f50: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f  i>..<li><i>node_
5f60: 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  from</i>: name o
5f70: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20  f the column to 
5f80: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  be added to the 
5f90: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20  above Table and 
5fa0: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61  populated with a
5fb0: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f  ppropriate <b>No
5fc0: 64 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 73 2e 3c  deFrom</b> IDs.<
5fd0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
5fe0: 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  e_to</i>: name o
5ff0: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20  f the column to 
6000: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  be added to the 
6010: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20  above Table and 
6020: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61  populated with a
6030: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f  ppropriate <b>No
6040: 64 65 54 6f 3c 2f 62 3e 20 49 44 73 2e 3c 62 72  deTo</b> IDs.<br
6050: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
6060: 62 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  both <b>NodeFrom
6070: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65  </b> and <b>Node
6080: 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 73  To</b> columns s
6090: 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 72  hould not be alr
60a0: 65 61 64 79 20 64 65 66 69 6e 65 64 20 69 6e 20  eady defined in 
60b0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 2e  the above Table.
60c0: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62  </li>..</ol>..<b
60d0: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f  >CreateRoutingNo
60e0: 64 65 73 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 72  des()</b> will r
60f0: 65 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 3e 20 28  eturn <b>1</b> (
6100: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52  <i>aka</i> <b>TR
6110: 55 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 63 63 65  UE</b>) on succe
6120: 73 73 3b 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  ss; an exception
6130: 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20   will be raised 
6140: 6f 6e 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 0d  on failure.<br>.
6150: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f  .<u>Note</u>: yo
6160: 75 20 63 61 6e 20 63 61 6c 6c 20 3c 62 3e 43 72  u can call <b>Cr
6170: 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c  eateRouting_GetL
6180: 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 73  astError()</b> s
6190: 6f 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69  o to precisely i
61a0: 64 65 6e 74 69 66 79 20 74 68 65 20 63 61 75 73  dentify the caus
61b0: 65 20 61 63 63 6f 75 6e 74 69 6e 67 20 66 6f 72  e accounting for
61c0: 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 3c 62 72   failure.<br><br
61d0: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  ><br>..<table bg
61e0: 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
61f0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
6200: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
6210: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48  ><tr><td>..<h3>H
6220: 61 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 69 63 20  andling dynamic 
6230: 4e 65 74 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 53  Networks</h3>..S
6240: 6f 6d 65 74 69 6d 65 73 20 69 74 20 68 61 70 70  ometimes it happ
6250: 65 6e 73 20 74 68 61 74 20 61 20 4e 65 74 77 6f  ens that a Netwo
6260: 72 6b 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a  rk could be subj
6270: 65 63 74 20 74 6f 20 72 61 74 68 65 72 20 66 72  ect to rather fr
6280: 65 71 75 65 6e 74 20 63 68 61 6e 67 65 73 3a 20  equent changes: 
6290: 73 6f 6d 65 20 6e 65 77 20 4c 69 6e 6b 73 20 72  some new Links r
62a0: 65 71 75 69 72 65 20 74 6f 20 62 65 20 61 64 64  equire to be add
62b0: 65 64 2c 20 6f 62 73 6f 6c 65 74 65 20 4c 69 6e  ed, obsolete Lin
62c0: 6b 73 20 72 65 71 75 69 72 65 20 74 6f 20 62 65  ks require to be
62d0: 20 72 65 6d 6f 76 65 64 2c 20 6f 74 68 65 72 20   removed, other 
62e0: 4c 69 6e 6b 73 20 6d 61 79 20 61 73 73 75 6d 65  Links may assume
62f0: 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f 73   a different Cos
6300: 74 2c 20 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c  t, one-ways coul
6310: 64 20 62 65 20 72 65 76 65 72 73 65 64 2c 20 74  d be reversed, t
6320: 68 65 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66  he discipline of
6330: 20 70 65 64 65 73 74 72 69 61 6e 20 61 72 65 61   pedestrian area
6340: 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66  s could be modif
6350: 69 65 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 62  ied and so on.<b
6360: 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75  r>..A VirtualRou
6370: 74 69 6e 67 20 54 61 62 6c 65 20 69 73 20 61 6c  ting Table is al
6380: 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20  ways based on a 
6390: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
63a0: 20 44 61 74 61 20 54 61 62 6c 65 2c 20 74 68 61   Data Table, tha
63b0: 74 20 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c  t is intrinsical
63c0: 6c 79 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e  ly <b>static</b>
63d0: 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74  , and consequent
63e0: 6c 79 20 79 6f 75 20 61 72 65 20 72 65 71 75 69  ly you are requi
63f0: 72 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65  red to re-create
6400: 20 62 6f 74 68 20 74 68 65 6d 20 66 72 6f 6d 20   both them from 
6410: 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20  time to time in 
6420: 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74  order to support
6430: 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e   all recent chan
6440: 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68  ges affecting th
6450: 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65  e underlaying Ne
6460: 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20  twork.<br>..The 
6470: 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63  optimal frequenc
6480: 79 20 66 6f 72 20 63 79 63 6c 69 63 61 6c 6c 79  y for cyclically
6490: 20 72 65 66 72 65 73 68 69 6e 67 20 74 68 65 20   refreshing the 
64a0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 73  Routing Tables s
64b0: 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64 73 20  trictly depends 
64c0: 6f 6e 20 73 70 65 63 69 66 69 63 20 72 65 71 75  on specific requ
64d0: 69 72 65 6d 65 6e 74 73 2c 20 62 75 74 20 74 68  irements, but th
64e0: 65 20 74 77 6f 20 6f 76 65 72 61 6c 6c 20 61 70  e two overall ap
64f0: 70 72 6f 61 63 68 65 73 20 61 72 65 20 63 6f 6d  proaches are com
6500: 6d 6f 6e 6c 79 20 61 64 6f 70 74 65 64 3a 0d 0a  monly adopted:..
6510: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 6f 77  <ol>..<li><b>low
6520: 20 66 72 65 71 75 65 6e 63 79 20 72 65 66 72 65   frequency refre
6530: 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 69 74  sh</b>: best fit
6540: 20 66 6f 72 20 73 6c 6f 77 6c 79 20 65 76 6f 6c   for slowly evol
6550: 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62  ving Networks.<b
6560: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65  r>..In this case
6570: 20 72 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65   re-creating the
6580: 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20   Network Tables 
6590: 6f 6e 63 65 20 61 20 6d 6f 6e 74 68 20 2f 20 77  once a month / w
65a0: 65 65 6b 20 2f 20 64 61 79 20 63 6f 75 6c 64 20  eek / day could 
65b0: 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 65 6e  be reasonably en
65c0: 6f 75 67 68 2e 0d 0a 52 65 63 72 65 61 74 69 6e  ough...Recreatin
65d0: 67 20 74 68 65 20 54 61 62 6c 65 73 20 66 72 6f  g the Tables fro
65e0: 6d 20 73 63 72 61 74 63 68 20 75 73 75 61 6c 6c  m scratch usuall
65f0: 79 20 72 65 71 75 69 72 65 73 20 73 65 76 65 72  y requires sever
6600: 61 6c 20 73 65 63 6f 6e 64 73 20 28 6f 72 20 65  al seconds (or e
6610: 76 65 6e 20 6c 65 73 73 2c 20 64 65 70 65 6e 64  ven less, depend
6620: 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65  ing on the numbe
6630: 72 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c 62 72 3e  r of Links).<br>
6640: 0d 0a 54 68 65 20 72 65 66 72 65 73 68 20 61 63  ..The refresh ac
6650: 74 69 76 69 74 69 65 73 20 63 6f 75 6c 64 20 62  tivities could b
6660: 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 70 6c  e opportunely pl
6670: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61  anned at low tra
6680: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e  ffic hours (e.g.
6690: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68   during the nigh
66a0: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74  t), and <b>Creat
66b0: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63  eRouting()</b> c
66c0: 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 6c 79  ould be usefully
66d0: 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 62 6c   called by enabl
66e0: 69 6e 67 20 74 68 65 20 3c 62 3e 6f 76 65 72 77  ing the <b>overw
66f0: 72 69 74 65 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e  rite</b> option.
6700: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65  </li>..<li><b>me
6710: 64 69 75 6d 2d 68 69 67 68 20 66 72 65 71 75 65  dium-high freque
6720: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a  ncy refresh</b>:
6730: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 71 75   best fit for qu
6740: 69 63 6b 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e  ickly evolving N
6750: 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65  etworks.<br>..Re
6760: 2d 63 72 65 61 74 69 6e 67 20 74 68 65 20 4e 65  -creating the Ne
6770: 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63  twork Tables onc
6780: 65 20 70 65 72 20 68 6f 75 72 20 28 6f 72 20 65  e per hour (or e
6790: 76 65 6e 20 6d 6f 72 65 20 66 72 65 71 75 65 6e  ven more frequen
67a0: 74 6c 79 29 20 63 6f 75 6c 64 20 62 65 20 73 74  tly) could be st
67b0: 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2c  rictly required,
67c0: 20 61 6e 64 20 66 72 65 71 75 65 6e 74 20 3c 62   and frequent <b
67d0: 3e 6f 75 74 20 6f 66 20 73 65 72 76 69 63 65 3c  >out of service<
67e0: 2f 62 3e 20 70 65 72 69 6f 64 73 20 77 68 69 6c  /b> periods whil
67f0: 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68  e waiting for th
6800: 65 20 72 65 66 72 65 73 68 20 70 72 6f 63 65 73  e refresh proces
6810: 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f  s to complete co
6820: 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 75 6e  uld easily be un
6830: 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d  acceptable.<br>.
6840: 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f  .In this case yo
6850: 75 20 63 6f 75 6c 64 20 75 73 65 66 75 6c 6c 79  u could usefully
6860: 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d 75 6c 74   adopt a <b>mult
6870: 69 2d 74 68 72 65 61 64 65 64 20 73 74 72 61 74  i-threaded strat
6880: 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  egy</b>:..<ul>..
6890: 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 31  <li><b>thread #1
68a0: 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 72 65 61  </b> (<i>the rea
68b0: 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 66  der</i>): this f
68c0: 69 72 73 74 20 74 68 72 65 61 64 20 69 73 20 69  irst thread is i
68d0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 72 76 69  ntended to servi
68e0: 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 6e 67 20  ce any incoming 
68f0: 52 6f 75 74 69 6e 67 20 72 65 71 75 65 73 74 2e  Routing request.
6900: 20 49 74 20 77 69 6c 6c 20 62 65 20 61 6c 77 61   It will be alwa
6910: 79 73 20 61 63 74 69 76 65 2c 20 61 6e 64 20 77  ys active, and w
6920: 69 6c 6c 20 74 61 72 67 65 74 20 61 20 77 65 6c  ill target a wel
6930: 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 61 6c 52  l known VirtualR
6940: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 28 65 2e  outing Table (e.
6950: 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67  g. <b>my_routing
6960: 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 3c 62  </b> based on <b
6970: 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61  >my_routing_data
6980: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </b>).</li>..<li
6990: 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 3c 2f 62  ><b>thread #2</b
69a0: 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 74 65 72  > (<i>the writer
69b0: 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 65 63 6f  </i>): this seco
69c0: 6e 64 20 74 68 72 65 61 64 20 69 73 20 6a 75 73  nd thread is jus
69d0: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 72 65  t intended to re
69e0: 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74  -create both Net
69f0: 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 74 20 70  work Tables at p
6a00: 72 65 64 65 66 69 6e 65 64 20 69 6e 74 65 72 76  redefined interv
6a10: 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c  als, and it will
6a20: 20 73 6c 65 65 70 20 62 65 74 77 65 65 6e 20 61   sleep between a
6a30: 6e 20 69 6e 74 65 72 76 61 6c 20 61 6e 64 20 74  n interval and t
6a40: 68 65 20 6f 74 68 65 72 2e 3c 62 72 3e 0d 0a 57  he other.<br>..W
6a50: 68 65 6e 20 74 68 69 73 20 74 68 72 65 61 64 20  hen this thread 
6a60: 61 77 61 6b 65 6e 73 20 77 69 6c 6c 20 72 65 2d  awakens will re-
6a70: 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74 77  create both Netw
6a80: 6f 72 6b 20 54 61 62 6c 65 73 20 62 79 20 75 73  ork Tables by us
6a90: 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6e 61  ing different na
6aa0: 6d 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 6f 76  mes, and will ov
6ab0: 65 72 77 72 69 74 65 20 74 68 65 20 73 74 61 6e  erwrite the stan
6ac0: 64 61 72 64 20 6f 6e 65 73 20 6a 75 73 74 20 61  dard ones just a
6ad0: 74 20 74 68 65 20 76 65 72 79 20 65 6e 64 20 6f  t the very end o
6ae0: 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 61  f the process (a
6af0: 63 74 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61  ctivating a sema
6b00: 70 68 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69  phore during thi
6b10: 73 20 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61  s short-timed la
6b20: 73 74 20 73 74 65 70 20 69 73 20 68 69 67 68 6c  st step is highl
6b30: 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c  y recommended).<
6b40: 62 72 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c  br>..Something l
6b50: 69 6b 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d  ike this pseudo-
6b60: 63 6f 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73  code exemplifies
6b70: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  :..<verbatim>..S
6b80: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
6b90: 69 6e 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74  ing('new_my_rout
6ba0: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f  ing_data', 'new_
6bb0: 6d 79 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e  my_routing', ...
6bc0: 29 3b 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20  );....--> start 
6bd0: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f  the semaphore so
6be0: 20 74 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68   to lock the oth
6bf0: 65 72 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47  er thread....BEG
6c00: 49 4e 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20  IN;..DROP TABLE 
6c10: 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f  my_routing;..DRO
6c20: 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69  P TABLE my_routi
6c30: 6e 67 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54  ng_data;..SELECT
6c40: 20 43 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49   CloneTable('MAI
6c50: 4e 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74  N', 'new_my_rout
6c60: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72  ing_data', 'my_r
6c70: 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29  outing_data', 0)
6c80: 3b 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41  ;..CREATE VIRTUA
6c90: 4c 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69  L TABLE my_routi
6ca0: 6e 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c  ng USING Virtual
6cb0: 52 6f 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74  Routing('my_rout
6cc0: 69 6e 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f  ing_data');..DRO
6cd0: 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72  P TABLE new_my_r
6ce0: 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41  outing;..DROP TA
6cf0: 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69  BLE new_my_routi
6d00: 6e 67 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54  ng_data;..COMMIT
6d10: 3b 0d 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20  ;....--> remove 
6d20: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c  the semaphore..<
6d30: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e  /verbatim>..<u>N
6d40: 6f 74 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c  ote</u>: strictl
6d50: 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68 65  y respecting the
6d60: 20 61 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20   above sequence 
6d70: 6f 66 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e  of SQL operation
6d80: 73 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20  s is absolutely 
6d90: 72 65 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d  required.</li> .
6da0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f  .</ul></li>..</o
6db0: 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  l>..</td></tr>..
6dc0: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
6dd0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
6de0: 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61  #ffb060" cellspa
6df0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
6e00: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
6e10: 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a  d>..<h3>Warning:
6e20: 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c   how to correctl
6e30: 79 20 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54  y drop Network T
6e40: 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e  ables</h3>..When
6e50: 20 64 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74   dropping a Virt
6e60: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
6e70: 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69   and its compani
6e80: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  on Binary Data T
6e90: 61 62 6c 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  able following t
6ea0: 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65  he correct seque
6eb0: 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61  nce of SQL comma
6ec0: 6e 64 73 20 69 73 20 70 61 72 61 6d 6f 75 6e 74  nds is paramount
6ed0: 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74  .<br>..Failing t
6ee0: 6f 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65  o strictly respe
6ef0: 63 74 20 74 68 65 20 65 78 70 65 63 74 65 64 20  ct the expected 
6f00: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75  sequence will su
6f10: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73  rely cause you s
6f20: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20  everal troubles 
6f30: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61  and severe heada
6f40: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70  ches, and will p
6f50: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20  ossibly lead to 
6f60: 61 6e 20 69 72 72 65 6d 65 64 69 61 62 6c 79 20  an irremediably 
6f70: 63 6f 72 72 75 70 74 65 64 20 64 61 74 61 62 61  corrupted databa
6f80: 73 65 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79  se...<ol>..<li>y
6f90: 6f 75 20 61 72 65 20 61 6c 77 61 79 73 20 65 78  ou are always ex
6fa0: 70 65 63 74 65 64 20 74 6f 20 44 52 4f 50 20 66  pected to DROP f
6fb0: 69 72 73 74 20 74 68 65 20 56 69 72 74 75 61 6c  irst the Virtual
6fc0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f  Routing Table.</
6fd0: 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 63 61 6e  li>..<li>you can
6fe0: 20 73 61 66 65 6c 79 20 44 52 4f 50 20 74 68 65   safely DROP the
6ff0: 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72   companion Binar
7000: 79 20 44 61 74 61 20 54 61 62 6c 65 20 6f 6e 6c  y Data Table onl
7010: 79 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c  y once it's no l
7020: 6f 6e 67 65 72 20 72 65 66 65 72 65 6e 63 65 64  onger referenced
7030: 20 62 79 20 74 68 65 20 56 69 72 74 75 61 6c 52   by the VirtualR
7040: 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c  outing Table.</l
7050: 69 3e 0d 0a 3c 6c 69 3e 62 79 20 66 6f 6c 6c 6f  i>..<li>by follo
7060: 77 69 6e 67 20 74 68 65 20 72 65 76 65 72 73 65  wing the reverse
7070: 20 73 65 71 75 65 6e 63 65 20 79 6f 75 27 6c 6c   sequence you'll
7080: 20 64 69 72 65 63 74 6c 79 20 63 72 65 61 74 65   directly create
7090: 20 61 6e 20 3c 62 3e 6f 72 70 68 61 6e 3c 2f 62   an <b>orphan</b
70a0: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
70b0: 20 54 61 62 6c 65 20 74 68 61 74 20 63 61 6e 6e   Table that cann
70c0: 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 20 61  ot be accessed a
70d0: 6e 79 20 6c 6f 6e 67 65 72 2c 20 61 6e 64 20 74  ny longer, and t
70e0: 68 61 74 20 77 69 6c 6c 20 63 6f 6e 73 65 71 75  hat will consequ
70f0: 65 6e 74 6c 79 20 72 65 66 75 73 65 20 74 6f 20  ently refuse to 
7100: 62 65 20 64 72 6f 70 70 65 64 2e 3c 62 72 3e 0d  be dropped.<br>.
7110: 0a 42 65 20 77 61 72 6e 65 64 20 21 21 3c 2f 6c  .Be warned !!</l
7120: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
7130: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
7140: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c  .<br><br>..<hr><
7150: 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  br>..<h1><a name
7160: 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53  ="from_to">4 - S
7170: 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53  olving classic S
7180: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
7190: 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  blems</a></h1>..
71a0: 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63  The most classic
71b0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70   Shortest Path p
71c0: 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
71d0: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
71e0: 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69  optimal connecti
71f0: 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62  on between an <b
7200: 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e  >Origin Node</b>
7210: 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e   and a <b>Destin
7220: 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c  ation Node</b>.<
7230: 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69  br>..We can easi
7240: 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63  ly translate suc
7250: 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f  h a problem into
7260: 20 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75   a simple SQL qu
7270: 65 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f  ery targeting so
7280: 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  me VirtualRoutin
7290: 67 20 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61  g Table...<verba
72a0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d  tim>..SELECT * .
72b0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
72c0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
72d0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
72e0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
72f0: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
7300: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
7310: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
7320: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
7330: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
7340: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
7350: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
7360: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
7370: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
7380: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
7390: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
73a0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
73b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
73c0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
73d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
73e0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
73f0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7400: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
7410: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7420: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
7430: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7440: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
7450: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
7460: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
7470: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
7480: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7490: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
74a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
74b0: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c  >PointFrom</th><
74c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
74d0: 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68  0a0">PointTo</th
74e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
74f0: 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65  0d0a0">Tolerance
7500: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7510: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
7520: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7530: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
7540: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
7550: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
7560: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
7570: 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
7580: 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74  /td><td>Shortest
7590: 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75   Path</td><td>Fu
75a0: 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39  ll</td><td>, &#9
75b0: 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63  1;dec=44, hex=2c
75c0: 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c  &#93;</td><td al
75d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
75e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
75f0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
7600: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
7610: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7620: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
7630: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7640: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
7650: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7660: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7670: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
7680: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
7690: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
76a0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
76b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
76c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
76d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
76e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
76f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7700: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7710: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
7720: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
7730: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
7740: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7750: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
7760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7770: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
7780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
7790: 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  885</td><td>NULL
77a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
77b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
77c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
77d0: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
77e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
77f0: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
7800: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
7810: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
7820: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7830: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7840: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
7850: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
7860: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7870: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
7880: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
7890: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
78a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
78b0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
78c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
78d0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
78e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
78f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7900: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7910: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36  right">69.727726
7920: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7930: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
7940: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
7950: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
7960: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7970: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7980: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7990: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
79a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
79b0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
79c0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
79d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
79e0: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
79f0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
7a00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7a10: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
7a20: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7a30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7a40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
7a50: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
7a60: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
7a70: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
7a80: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
7a90: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
7aa0: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69  .<br>..Let's qui
7ab0: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65  ckly examine the
7ac0: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
7ad0: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
7ae0: 20 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d   Routing query:.
7af0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  .<ul>..<li>the <
7b00: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
7b10: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64  (<i>aka</i> head
7b20: 65 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70  er row) has a sp
7b30: 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61  ecial interpreta
7b40: 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74  tion, and is int
7b50: 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69  ended to summari
7b60: 7a 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f  ze the travel so
7b70: 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c  lution as a whol
7b80: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c  e.</li>..<li>all
7b90: 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e   the <b>followin
7ba0: 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65  g rows</b> repre
7bb0: 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69  sent a single Li
7bc0: 6e 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62  nk required to b
7bd0: 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f  uild the solutio
7be0: 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b  n (optima path);
7bf0: 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72   Links are order
7c00: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74  ed accordingly t
7c10: 6f 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72  o the travel dir
7c20: 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e  ection connectin
7c30: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64  g the Origin and
7c40: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
7c50: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  .</li>..<li>colu
7c60: 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  mns <b>Algorithm
7c70: 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74  </b>, <b>Request
7c80: 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73  </b>, <b>Options
7c90: 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74  </b>, <b>Delimit
7ca0: 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  er</b>, <b>Point
7cb0: 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  From</b>, <b>Poi
7cc0: 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c  ntTo</b>, <b>Tol
7cd0: 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c  erance</b> and <
7ce0: 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61  b>Geometry</b> a
7cf0: 72 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f  re always set to
7d00: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63   <b>NULL</b> exc
7d10: 65 70 74 20 74 68 61 74 20 69 6e 20 74 68 65 20  ept that in the 
7d20: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65  first row of the
7d30: 20 72 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c   resultset:..<ul
7d40: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
7d50: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61  >Algorithm</b> a
7d60: 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20  ccounts for the 
7d70: 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68  Routing Algorith
7d80: 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63 75  m used by the cu
7d90: 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e  rrent query (<i>
7da0: 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f  Dijkstra's</i> o
7db0: 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c  r <i>A*</i>).</l
7dc0: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  i>..<li>column <
7dd0: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70  b>Request</b> sp
7de0: 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61 63  ecifies the exac
7df0: 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20  t nature of the 
7e00: 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 69  current query (i
7e10: 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20  n this specific 
7e20: 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74  case <i>Shortest
7e30: 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e   Path</i>).</li>
7e40: 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f  ..<li>we'll igno
7e50: 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d  re for now colum
7e60: 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  ns <b>Options</b
7e70: 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c  >, <b>Delimiter<
7e80: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  /b>, <b>PointFro
7e90: 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54  m</b>, <b>PointT
7ea0: 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c  o</b> and <b>Tol
7eb0: 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 69  erance</b>: thei
7ec0: 72 20 72 65 73 70 65 63 74 69 76 65 20 6d 65 61  r respective mea
7ed0: 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 65 78  nings will be ex
7ee0: 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f  plained in follo
7ef0: 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e  wing paragraphs.
7f00: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
7f10: 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62  n <b>Geometry</b
7f20: 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c 62 3e  > contains a <b>
7f30: 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 72  LINESTRING</b> r
7f40: 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66  epresentation of
7f50: 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 76 65   the whole trave
7f60: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d  l solution.<br>.
7f70: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6f 6e  .<u>Note</u>: on
7f80: 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77   <b>Logical Netw
7f90: 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 73 75  orks</b> (not su
7fa0: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72  pporting Geometr
7fb0: 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74 72 79  ies) <b>Geometry
7fc0: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73  </b> will always
7fd0: 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e   be <b>NULL</b>.
7fe0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
7ff0: 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e  >..<li>we'll ign
8000: 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75  ore for now colu
8010: 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62  mn <b>RouteId</b
8020: 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67 20 77  >; its meaning w
8030: 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64  ill be explained
8040: 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61   in following pa
8050: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a  ragraphs.</li>..
8060: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f  <li>column <b>Ro
8070: 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d 70 6c  uteRow</b> simpl
8080: 79 20 69 73 20 74 68 65 20 70 72 6f 67 72 65 73  y is the progres
8090: 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 74  sive number of t
80a0: 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20 74 72  he row in the tr
80b0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 61  avel solution (a
80c0: 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e 20 69  lways <b>0</b> i
80d0: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  n the header row
80e0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  ).</li>..<li>col
80f0: 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20  umn <b>Role</b> 
8100: 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74 65 3c  can be <i>Route<
8110: 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f 77 29  /i> (header row)
8120: 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 3e 20   or <i>Link</i> 
8130: 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 72  (all following r
8140: 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ows).</li>..<li>
8150: 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b 52 6f  column <b>LinkRo
8160: 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65 6e 63  wid</b> referenc
8170: 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49 44 3c  es the <b>ROWID<
8180: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65  /b> of the corre
8190: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 28 61  sponding Link (a
81a0: 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e  lways set to <b>
81b0: 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20  NULL</b> in the 
81c0: 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69  header row).</li
81d0: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
81e0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
81f0: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
8200: 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69  have the followi
8210: 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  ng interpretatio
8220: 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e  n:..<ul>..<li>in
8230: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 20   the header row 
8240: 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e 64 20  they correspond 
8250: 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69 6e 3c  to he <b>Origin<
8260: 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73 74 69  /b> and <b>Desti
8270: 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 65 73  nation</b> Nodes
8280: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61  .</li>..<li>in a
8290: 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ll the following
82a0: 20 72 6f 77 73 20 74 68 65 79 20 61 72 65 20 69   rows they are i
82b0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69  ntended to speci
82c0: 66 79 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e  fy the direction
82d0: 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20   of the current 
82e0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  Link.</li>..</ul
82f0: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  ></li>..<li>colu
8300: 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68  mn <b>Cost</b> h
8310: 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  as the following
8320: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a   interpretation:
8330: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74  ..<ul>..<li>in t
8340: 68 65 20 68 65 61 64 65 72 20 74 6f 77 20 69 74  he header tow it
8350: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
8360: 74 68 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73  the <b>total cos
8370: 74 3c 2f 62 3e 20 6f 66 20 74 68 65 20 74 72 61  t</b> of the tra
8380: 76 65 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69  vel.</li>..<li>i
8390: 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77  n all the follow
83a0: 69 6e 67 20 72 6f 77 73 20 69 74 20 72 65 70 72  ing rows it repr
83b0: 65 73 65 6e 74 73 20 74 68 65 20 73 70 65 63 69  esents the speci
83c0: 66 69 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20  fic cost of the 
83d0: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c  current Link.</l
83e0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
83f0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61  <li>column <b>Na
8400: 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  me</b> contains 
8410: 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20  the description 
8420: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c  of the current L
8430: 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72  ink (usually a r
8440: 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69  oad name), and i
8450: 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c  s always <b>NULL
8460: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64  </b> in the head
8470: 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e  er row.<br>..<u>
8480: 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c  Note</u> it coul
8490: 64 20 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c  d be always be <
84a0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68  b>NULL</b> if th
84b0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
84c0: 20 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20   Table does not 
84d0: 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 73 2e 3c  supports names.<
84e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
84f0: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72  ..</ul>..<br><br
8500: 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72  >..Testing the r
8510: 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e  eturn connection
8520: 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73   just requires s
8530: 77 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67  wapping the Orig
8540: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
8550: 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20  nation; in this 
8560: 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a  example you'll j
8570: 75 73 74 20 72 65 71 75 65 73 74 20 74 68 65 20  ust request the 
8580: 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6c 75 6d  meaningful colum
8590: 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ns:..<verbatim>.
85a0: 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77  .SELECT RouteRow
85b0: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
85c0: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
85d0: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65  eTo, Cost, Geome
85e0: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20  try, Name..FROM 
85f0: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
8600: 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e  deTo = 178731 AN
8610: 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33  D NodeFrom = 183
8620: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  286;..</verbatim
8630: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
8640: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
8650: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
8660: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
8670: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
8680: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8690: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
86a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
86b0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
86c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
86d0: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
86e0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
86f0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
8700: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
8710: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
8720: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
8730: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
8740: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
8750: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
8760: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
8770: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8780: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
8790: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
87a0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
87b0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
87c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
87d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
87e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
87f0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
8800: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8810: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f  ht">300.912208</
8820: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
8830: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  72 GEOMETRY</td>
8840: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
8850: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
8860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
8870: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
8880: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8890: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74  t">224414</td><t
88a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
88b0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
88c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
88d0: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
88e0: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
88f0: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
8900: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
8910: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
8920: 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  </tr>..<td align
8930: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
8940: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
8950: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
8960: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
8970: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
8980: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
8990: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
89a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
89b0: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
89c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
89d0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
89e0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
89f0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
8a00: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
8a10: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
8a20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
8a30: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
8a40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
8a50: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
8a60: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
8a70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8a80: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f  ght">94.812424</
8a90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8aa0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
8ab0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
8ac0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
8ad0: 72 3e 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d  r>..If you remem
8ae0: 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f  ber, the <b>byfo
8af0: 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f  ot</b> VirtualRo
8b00: 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73 20  uting Table has 
8b10: 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f  no <b>one-ways</
8b20: 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65  b>, and conseque
8b30: 6e 74 6c 79 20 74 68 65 20 72 65 74 75 72 6e 20  ntly the return 
8b40: 70 61 74 68 20 65 78 61 63 74 6c 79 20 63 6f 72  path exactly cor
8b50: 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20  responds to the 
8b60: 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63 65 70  first one, excep
8b70: 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20 64 69  t in that all di
8b80: 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77  rections are now
8b90: 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62 72 3e   reversed...<br>
8ba0: 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f  <br><br>..Now yo
8bb0: 75 27 6c 6c 20 67 6f 20 74 6f 20 74 65 73 74 20  u'll go to test 
8bc0: 74 68 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74  the same connect
8bd0: 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74  ions, but this t
8be0: 69 6d 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65  ime you'll targe
8bf0: 74 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f  t the <b>bycar</
8c00: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  b> VirtualRoutin
8c10: 67 20 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c  g Table that ful
8c20: 6c 79 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f  ly supports <b>o
8c30: 6e 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76  ne-ways</b>:..<v
8c40: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
8c50: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
8c60: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
8c70: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
8c80: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
8c90: 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a  me..FROM bycar..
8ca0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
8cb0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
8cc0: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f  To = 183286;..</
8cd0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c  verbatim>..<tabl
8ce0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
8cf0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
8d00: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
8d10: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
8d20: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
8d30: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
8d40: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
8d50: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
8d60: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
8d70: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
8d80: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
8d90: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8da0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
8db0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8dc0: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
8dd0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8de0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
8df0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8e00: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
8e10: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8e20: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
8e30: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
8e40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
8e50: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
8e60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8e70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8e80: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
8e90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8ea0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
8eb0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e  ign="right">101.
8ec0: 38 31 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42  815552</td><td>B
8ed0: 4c 4f 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d  LOB sz=2032 GEOM
8ee0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
8ef0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
8f00: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8f10: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
8f20: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8f30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
8f40: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8f50: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
8f60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8f70: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
8f80: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8f90: 74 22 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64  t">13.127874</td
8fa0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8fb0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
8fc0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
8fd0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
8fe0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
8ff0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9000: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9010: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  24446</td><td al
9020: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
9030: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
9040: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
9050: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9060: 69 67 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f  ight">9.654608</
9070: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9080: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
9090: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
90a0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
90b0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
90c0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
90d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
90e0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
90f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
9100: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
9110: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
9120: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9130: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74  ght">7.809952</t
9140: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9150: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
9160: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
9170: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9180: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
9190: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
91a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
91b0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
91c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
91d0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
91e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
91f0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
9200: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36  ="right">12.4456
9210: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
9220: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
9230: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
9240: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9250: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9260: 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">5</td><td>Link
9270: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9280: 72 69 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74  right">225888</t
9290: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
92a0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
92b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
92c0: 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20  >183461</td><td 
92d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e  align="right">1.
92e0: 35 39 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e  599865</td><td>N
92f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9300: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
9310: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9320: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9330: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e  ight">6</td><td>
9340: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9350: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38  gn="right">22588
9360: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
9370: 22 72 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f  "right">183461</
9380: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9390: 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e  ght">182800</td>
93a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
93b0: 22 3e 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c  ">3.300590</td><
93c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
93d0: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
93e0: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
93f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9400: 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e  n="right">7</td>
9410: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9420: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9430: 32 33 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  23935</td><td al
9440: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
9450: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
9460: 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c  ="right">182799<
9470: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9480: 69 67 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f  ight">6.688786</
9490: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
94a0: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
94b0: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
94c0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
94d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
94e0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
94f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9500: 68 74 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c  ht">226038</td><
9510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9520: 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20  >182799</td><td 
9530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9540: 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3456</td><td ali
9550: 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34  gn="right">1.294
9560: 30 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  017</td><td>NULL
9570: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c  </td><td>VIALE L
9580: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f  UCA SIGNORELLI</
9590: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
95a0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
95b0: 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">9</td><td>Li
95c0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
95d0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c  ="right">225832<
95e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
95f0: 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64  ight">183456</td
9600: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9610: 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74  t">183444</td><t
9620: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9630: 32 2e 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64  2.385486</td><td
9640: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9650: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
9660: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9670: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9680: 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e  ="right">10</td>
9690: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
96a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
96b0: 32 35 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  25831</td><td al
96c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
96d0: 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  44</td><td align
96e0: 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c  ="right">183554<
96f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9700: 69 67 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f  ight">3.160662</
9710: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9720: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
9730: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
9740: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9750: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9760: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
9770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9780: 67 68 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e  ght">225765</td>
9790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
97a0: 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64  ">183554</td><td
97b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
97c0: 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  83954</td><td al
97d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36  ign="right">7.46
97e0: 39 39 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9917</td><td>NUL
97f0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
9800: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
9810: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9820: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9830: 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e  ght">12</td><td>
9840: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9850: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36  gn="right">22576
9860: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9870: 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f  "right">183954</
9880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9890: 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e  ght">183905</td>
98a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
98b0: 22 3e 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c  ">3.236389</td><
98c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
98d0: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
98e0: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
98f0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9900: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74  gn="right">13</t
9910: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9920: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9930: 3e 32 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20  >225979</td><td 
9940: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9950: 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3905</td><td ali
9960: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32  gn="right">18362
9970: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9980: 22 72 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32  "right">13.98362
9990: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
99a0: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45  td><td>STRADA SE
99b0: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c  NZA NOME</td>..<
99c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
99d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34  align="right">14
99e0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
99f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9a00: 68 74 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c  ht">224905</td><
9a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9a20: 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20  >183626</td><td 
9a30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9a40: 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3128</td><td ali
9a50: 67 6e 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37  gn="right">5.627
9a60: 33 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  358</td><td>NULL
9a70: 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20  </td><td>STRADA 
9a80: 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d  SENZA NOME</td>.
9a90: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
9aa0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9ab0: 31 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  15</td><td>Link<
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 32 32 34 38 39 37 3c 2f 74 64  ight">224897</td
9ae0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9af0: 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74  t">183128</td><t
9b00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9b10: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
9b20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e  lign="right">10.
9b30: 30 33 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e  030792</td><td>N
9b40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9b50: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
9b60: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
9b70: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  >..<verbatim>..S
9b80: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20  ELECT RouteRow, 
9b90: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
9ba0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
9bb0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
9bc0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
9bd0: 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54  car..WHERE NodeT
9be0: 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  o = 178731 AND N
9bf0: 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36  odeFrom = 183286
9c00: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
9c10: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
9c20: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
9c30: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
9c40: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
9c50: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
9c60: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9c70: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
9c80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
9c90: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
9ca0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9cb0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
9cc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9cd0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
9ce0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9cf0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
9d00: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
9d10: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
9d20: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9d30: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
9d40: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
9d50: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
9d60: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
9d70: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9d80: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
9d90: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
9da0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9db0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
9dc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9dd0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
9de0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9df0: 3e 31 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e  >103.305259</td>
9e00: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20  <td>BLOB sz=944 
9e10: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
9e20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
9e30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9e40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
9e50: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9e60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9e70: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
9e80: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9e90: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9ea0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
9eb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9ec0: 72 69 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35  right">18.882285
9ed0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9ee0: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
9ef0: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
9f00: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9f10: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
9f20: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9f30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f40: 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61  219171</td><td a
9f50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9f60: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
9f70: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
9f80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9f90: 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c  right">7.809952<
9fa0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9fb0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
9fc0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
9fd0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9fe0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
9ff0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a000: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a010: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
a020: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a030: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
a040: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
a050: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
a060: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34  gn="right">12.44
a070: 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5626</td><td>NUL
a080: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
a090: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
a0a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
a0b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a0c0: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">4</td><td>Li
a0d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a0e0: 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c  ="right">224538<
a0f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a100: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
a110: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a120: 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74  t">181972</td><t
a130: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a140: 37 2e 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64  7.047784</td><td
a150: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a160: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
a170: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
a180: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a190: 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
a1a0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a1b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a1c0: 32 32 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  22575</td><td al
a1d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
a1e0: 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  72</td><td align
a1f0: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c  ="right">181971<
a200: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a210: 69 67 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f  ight">1.852283</
a220: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a230: 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20  <td>VIA ANTONIO 
a240: 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d  GUADAGNOLI</td>.
a250: 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  .</tr>..<td alig
a260: 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
a270: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a280: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a290: 32 34 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  24967</td><td al
a2a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
a2b0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
a2c0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c  ="right">182891<
a2d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a2e0: 69 67 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c  ight">14.273185<
a2f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a300: 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f  ><td>VIA ANTONIO
a310: 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e   GUADAGNOLI</td>
a320: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
a330: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a340: 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >7</td><td>Link<
a350: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a360: 69 67 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64  ight">224168</td
a370: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a380: 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74  t">182891</td><t
a390: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a3a0: 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61  183057</td><td a
a3b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36  lign="right">6.6
a3c0: 34 33 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  43309</td><td>NU
a3d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
a3e0: 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f  ACALLE'</td>..</
a3f0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a400: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
a410: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a430: 22 3e 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64  ">224167</td><td
a440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a450: 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  83057</td><td al
a460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30  ign="right">1830
a470: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
a480: 3d 22 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37  ="right">3.15127
a490: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
a4a0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c  td><td>VIA MACAL
a4b0: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LE'</td>..</tr>.
a4c0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a4d0: 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c  ="right">9</td><
a4e0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a4f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a500: 34 31 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4174</td><td ali
a510: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a520: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
a530: 22 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f  "right">182941</
a540: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a550: 67 68 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74  ght">7.966870</t
a560: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a570: 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e  td>VIA RODI</td>
a580: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
a590: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a5a0: 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  >10</td><td>Link
a5b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a5c0: 72 69 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74  right">224059</t
a5d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a5e0: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c  ht">182941</td><
a5f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a600: 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20  >182001</td><td 
a610: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e  align="right">6.
a620: 33 39 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e  393747</td><td>N
a630: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a640: 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  RODI</td>..</tr>
a650: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a660: 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64  n="right">11</td
a670: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a680: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a690: 32 32 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61  222637</td><td a
a6a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a6b0: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  001</td><td alig
a6c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
a6d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a6e0: 72 69 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c  right">2.475538<
a6f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a700: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
a710: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
a720: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c  lign="right">12<
a740: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a750: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a760: 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74  t">222636</td><t
a770: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a780: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
a790: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
a7a0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
a7b0: 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33  n="right">14.363
a7c0: 34 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  408</td><td>NULL
a7d0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
a7e0: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
a7f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
a800: 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20  >..<br>..As you 
a810: 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63  can easily notic
a820: 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 70  e, the optimal p
a830: 61 74 68 73 20 72 65 74 75 72 6e 65 64 20 62 79  aths returned by
a840: 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62   the <b>bycar</b
a850: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
a860: 20 54 61 62 6c 65 20 74 68 65 20 70 61 74 68 73   Table the paths
a870: 20 69 6e 20 6f 70 70 6f 73 69 74 65 20 64 69 72   in opposite dir
a880: 65 63 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79  ections strongly
a890: 20 64 69 66 66 65 72 20 62 65 74 77 65 65 6e 20   differ between 
a8a0: 74 68 65 6d 2c 20 61 6e 64 20 62 6f 74 68 20 61  them, and both a
a8b0: 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69  re completely di
a8c0: 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65  fferent from the
a8d0: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62   path returned b
a8e0: 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79  y querying <b>by
a8f0: 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  foot</b>.<br>..A
a900: 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74   quick glance at
a910: 20 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77   the below map w
a920: 69 6c 6c 20 73 75 72 65 6c 79 20 68 65 6c 70 20  ill surely help 
a930: 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 62 65  to understand be
a940: 74 74 65 72 20 77 68 61 74 27 73 20 72 65 61 6c  tter what's real
a950: 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e 3c 62 72  ly happening.<br
a960: 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 63 65 6e  >..This is a cen
a970: 74 72 61 6c 20 61 72 65 61 20 6f 66 20 74 68 65  tral area of the
a980: 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a 7a 6f 20   town of Arezzo 
a990: 61 72 6f 75 6e 64 20 74 68 65 20 61 72 63 68 61  around the archa
a9a0: 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 6e 73 20  eological ruins 
a9b0: 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 41 6d 70  of the Roman Amp
a9c0: 68 69 74 68 65 61 74 65 72 3b 20 63 69 72 63 75  hitheater; circu
a9d0: 6c 61 74 69 6e 67 20 62 79 20 63 61 72 20 69 73  lating by car is
a9e0: 20 64 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64   discouraged and
a9f0: 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 6d   is subject to m
aa00: 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 65 73 74  any one-way rest
aa10: 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75  rictions. Not su
aa20: 72 70 72 69 73 69 6e 67 6c 79 2c 20 6d 6f 76 69  rprisingly, movi
aa30: 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20 74 68  ng by foot is th
aa40: 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f 6e 2e  e faster option.
aa50: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
aa60: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
aa70: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
aa80: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
aa90: 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e 6a 70  figs/routing1.jp
aaa0: 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e 0d 0a  g" alt="fig1">..
aab0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77  <ul>..<li>yellow
aac0: 20 70 61 74 68 3a 20 70 65 64 65 73 74 72 69 61   path: pedestria
aad0: 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65  ns</li>..<li>gre
aae0: 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20 64 69  en path: car, di
aaf0: 72 65 63 74 20 64 69 72 65 63 74 69 6f 6e 3c 2f  rect direction</
ab00: 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74  li>..<li>red pat
ab10: 68 3a 20 63 61 72 2c 20 72 65 74 75 72 6e 20 64  h: car, return d
ab20: 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c  irection</li>..<
ab30: 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  /ul>..<br>..<tab
ab40: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
ab50: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
ab60: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
ab70: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
ab80: 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20  <h3>Linestrings 
ab90: 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72 74  returned by Virt
aba0: 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d  ualRouting</h3>.
abb0: 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20  .All LINESTRING 
abc0: 47 65 6f 6d 65 74 72 69 65 73 20 63 72 65 61 74  Geometries creat
abd0: 65 64 20 62 79 20 61 6e 79 20 56 69 72 74 75 61  ed by any Virtua
abe0: 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c  lRouting will al
abf0: 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  ways contain <b>
ac00: 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c  M values</b>:..<
ac10: 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20  ul>..<li>if the 
ac20: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
ac30: 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73  ork's Geometries
ac40: 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74   are <b>XY</b> t
ac50: 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c  hen <b>XYM</b> L
ac60: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20  inestrings will 
ac70: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69  be returned.</li
ac80: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e  >..<li>if the un
ac90: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
aca0: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61  k's Geometries a
acb0: 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68  re <b>XYZ</b> th
acc0: 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c  en <b>XYZM</b> L
acd0: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20  inestrings will 
ace0: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69  be returned.</li
acf0: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e  >..<li>if the un
ad00: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
ad10: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61  k's Geometries a
ad20: 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72  re <b>XYM</b> or
ad30: 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65   <b>XYZM</b> the
ad40: 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72  n  Linestrings r
ad50: 65 74 75 72 6e 65 64 20 69 6e 74 6f 20 74 68 65  eturned into the
ad60: 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20   resultset will 
ad70: 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 73 61 6d  maintain the sam
ad80: 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20  e dimensions as 
ad90: 69 6e 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  in the underlayi
ada0: 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e  ng Network.</li>
adb0: 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73  ..<li>in any cas
adc0: 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76  e the <b>M</b> v
add0: 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 61 70  alues will be ap
ade0: 70 72 6f 70 72 69 61 74 65 6c 79 20 73 65 74 20  propriately set 
adf0: 73 6f 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20  so to represent 
ae00: 74 68 65 20 3c 75 3e 70 61 72 74 69 61 6c 20 63  the <u>partial c
ae10: 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f  ost</u> correspo
ae20: 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 76 65  nding to each ve
ae30: 72 74 65 78 2e 0d 0a 28 69 66 20 74 68 65 20 69  rtex...(if the i
ae40: 6e 70 75 74 20 4c 69 6e 65 73 74 72 69 6e 67 73  nput Linestrings
ae50: 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e   already contain
ae60: 73 20 4d 2d 76 61 6c 75 65 73 20 74 68 65 79 27  s M-values they'
ae70: 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 74 74 65  ll be overwritte
ae80: 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  n).</li>..</ul>.
ae90: 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20  .<br>..In other 
aea0: 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73  words, all Lines
aeb0: 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20  trings returned 
aec0: 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
aed0: 67 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c  g can effectivel
aee0: 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c  y support <b>LR<
aef0: 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52  /b> (<i>Linear R
af00: 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20  eferencing</i>) 
af10: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61  SQL functions, a
af20: 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69  s in the followi
af30: 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76  ng examples:..<v
af40: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
af50: 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65   ST_Locate_Betwe
af60: 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f  en_Measures(<geo
af70: 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35  metry>, 30.0, 45
af80: 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53  .0);....SELECT S
af90: 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e  T_Locate_Between
afa0: 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65  _Measures(<geome
afb0: 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30  try>, 80.0, 95.0
afc0: 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  );..</verbatim>.
afd0: 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 72  .The side map gr
afe0: 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20  aphically shows 
aff0: 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f  the estimated po
b000: 73 69 74 69 6f 6e 73 20 72 65 73 70 65 63 74 69  sitions respecti
b010: 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c  vely <b>30</b>-<
b020: 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73  b>45</b> seconds
b030: 20 61 66 74 65 72 20 73 74 61 72 74 69 6e 67 20   after starting 
b040: 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c  (yellow dotted l
b050: 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f  ine) and <b>80</
b060: 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63  b>-<b>95</b> sec
b070: 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74  onds after start
b080: 69 6e 67 20 28 67 72 65 65 6e 20 64 6f 74 74 65  ing (green dotte
b090: 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61  d line).<br>..(a
b0a0: 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65  ssuming the same
b0b0: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62   path returned b
b0c0: 79 20 74 68 65 20 6c 61 74 65 73 74 20 3c 62 3e  y the latest <b>
b0d0: 62 79 63 61 72 3c 2f 62 3e 20 71 75 65 72 79 29  bycar</b> query)
b0e0: 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69  ...</td>..<td><i
b0f0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
b100: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
b110: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
b120: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e  g-figs/routing2.
b130: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 32 22 3e  jpg" alt="fig2">
b140: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
b150: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68  table>..<br>..<h
b160: 32 3e 50 6c 61 79 69 6e 67 20 77 69 74 68 20 56  2>Playing with V
b170: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f  irtualRouting co
b180: 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f  nfigurable optio
b190: 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c  ns</h2>..Several
b1a0: 20 61 73 70 65 63 74 73 20 6f 66 20 56 69 72 74   aspects of Virt
b1b0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 62  ualRouting can b
b1c0: 65 20 66 72 65 65 6c 79 20 63 75 73 74 6f 6d 69  e freely customi
b1d0: 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  zed...<verbatim>
b1e0: 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
b1f0: 53 45 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20  SET Algorithm = 
b200: 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  'A*';....SELECT 
b210: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f  Algorithm, Optio
b220: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ns, RouteRow, Ro
b230: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
b240: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
b250: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
b260: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
b270: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
b280: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
b290: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
b2a0: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49  ..</verbatim>..I
b2b0: 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 72 20 69  f you remember i
b2c0: 6e 20 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f  n all the previo
b2d0: 75 73 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20  us examples the 
b2e0: 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62  <b>Dijkstra's</b
b2f0: 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20  > algorithm was 
b300: 75 73 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72  used; now (after
b310: 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 61   executing the a
b320: 62 6f 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f  bove <b>UPDATE</
b330: 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74  b>) all Shortest
b340: 20 50 61 74 68 20 71 75 65 72 69 65 73 20 77 69   Path queries wi
b350: 6c 6c 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74  ll be based on t
b360: 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c  he alternative <
b370: 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74  b>A*</b> algorit
b380: 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20  hm.<br>..If you 
b390: 77 69 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61  wish to select a
b3a0: 67 61 69 6e 20 74 68 65 20 44 69 6a 6b 73 74 72  gain the Dijkstr
b3b0: 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 79 6f  a's algorithm yo
b3c0: 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65  u just have to e
b3d0: 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50  xecute<br> <b>UP
b3e0: 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
b3f0: 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 44 49 4a  Algorithm = 'DIJ
b400: 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e  KSTRA';</b>.<br>
b410: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
b420: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
b430: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
b440: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
b450: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20  evious Shortest 
b460: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61  Path query; plea
b470: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61  se notice the va
b480: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c  lue in the <b>Al
b490: 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75  gorithm</b> colu
b4a0: 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  mn...<br><br>..<
b4b0: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22  table border="1"
b4c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63   bgcolor="#ffffc
b4d0: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  f" cellspacing="
b4e0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  4" cellpadding="
b4f0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  6">..<tr><th bgc
b500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41  olor="#d0d0a0">A
b510: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68  lgorithm</th><th
b520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b530: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
b540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
b550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
b560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
b580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
b5a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b5b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
b5c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
b5d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
b5e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
b5f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
b600: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
b610: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
b620: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
b630: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b640: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
b650: 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e  .<tr><td>A*</td>
b660: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
b670: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
b680: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
b690: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b6a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b6b0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
b6c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b6d0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
b6e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
b6f0: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42  912208</td><td>B
b700: 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45  LOB sz=272 GEOME
b710: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
b720: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
b730: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
b740: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
b750: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b760: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
b770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b780: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
b790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b7a0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
b7b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b7c0: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
b7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
b7e0: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
b7f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
b800: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
b810: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
b820: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
b830: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
b850: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
b860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b870: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
b880: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b890: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
b8a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
b8b0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
b8c0: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
b8d0: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
b8e0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
b8f0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
b900: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
b910: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
b920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b930: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
b940: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
b950: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
b960: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
b970: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
b980: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b990: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
b9a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
b9b0: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
b9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
b9d0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
b9e0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
b9f0: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
ba00: 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20  r><br>..You can 
ba10: 65 76 65 6e 74 75 61 6c 6c 79 20 63 6f 6e 66 69  eventually confi
ba20: 67 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 73  gure the results
ba30: 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 20  et returned the 
ba40: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71  VirtualRouting q
ba50: 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74  ueries...<verbat
ba60: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
ba70: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d  ot SET Options =
ba80: 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a   'NO LINKS';....
ba90: 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d  SELECT Algorithm
baa0: 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65  , Options, Route
bab0: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
bac0: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
bad0: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
bae0: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
baf0: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
bb00: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
bb10: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
bb20: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
bb30: 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 74  tim>..After sett
bb40: 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27  ing <b>Options='
bb50: 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 68  NO LINKS'</b> th
bb60: 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c  e resultset will
bb70: 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e 20   simply contain 
bb80: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2c 20  the header row, 
bb90: 61 6e 64 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c  and all the foll
bba0: 6f 77 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20  owing rows will 
bbb0: 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62  be suppressed.<b
bbc0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  r>..<u>Note</u>:
bbd0: 20 70 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64   producing a red
bbe0: 75 63 65 64 20 72 65 73 75 6c 74 73 65 74 20 69  uced resultset i
bbf0: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  s expected to be
bc00: 20 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e   someway faster.
bc10: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
bc20: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
bc30: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
bc40: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
bc50: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20  evious Shortest 
bc60: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61  Path query; plea
bc70: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61  se notice the va
bc80: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70  lue in the <b>Op
bc90: 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  tions</b> column
bca0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
bcb0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
bcc0: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
bcd0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
bce0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
bcf0: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
bd00: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
bd10: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
bd20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
bd30: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68  >Options</th><th
bd40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bd50: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
bd60: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bd70: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
bd80: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bd90: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
bda0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bdb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
bdc0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
bdd0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
bde0: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
bdf0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
be00: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
be10: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
be20: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
be30: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
be40: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
be50: 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e  tr>..<td>A*</td>
be60: 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64  <td>No Links</td
be70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
be80: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
be90: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
bea0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
beb0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
bec0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
bed0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
bee0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
bef0: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c  300.912208</td><
bf00: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47  td>BLOB sz=272 G
bf10: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
bf20: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
bf30: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
bf40: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  <br><br>..<verba
bf50: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
bf60: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20  oot SET Options 
bf70: 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  = 'NO GEOMETRIES
bf80: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
bf90: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c  orithm, Options,
bfa0: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
bfb0: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
bfc0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
bfd0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
bfe0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
bff0: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
c000: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
c010: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  eTo = 183286;..<
c020: 2f 76 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20  /verbatim>After 
c030: 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f  setting <b>Optio
c040: 6e 73 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45  ns='NO GEOMETRIE
c050: 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c  S'</b> the resul
c060: 74 73 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69  tset will contai
c070: 6e 20 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20  n all rows, but 
c080: 61 6c 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77  all Geometries w
c090: 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65  ill be suppresse
c0a0: 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  d.<br>..<u>Note<
c0b0: 2f 75 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73  /u>: this too is
c0c0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20   expected to be 
c0d0: 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c  someway faster.<
c0e0: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  br>..The followi
c0f0: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74  ng table shows t
c100: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
c110: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65  urned by the pre
c120: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50  vious Shortest P
c130: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73  ath query; pleas
c140: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c  e notice the val
c150: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74  ue in the <b>Opt
c160: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e  ions</b> column.
c170: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
c180: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
c190: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
c1a0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
c1b0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
c1c0: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
c1d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
c1e0: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
c1f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c200: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
c210: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c220: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
c230: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c240: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
c250: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c260: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
c270: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c280: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
c290: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c2a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
c2b0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
c2c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
c2d0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c2e0: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
c2f0: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
c300: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
c310: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
c320: 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64  r><td>A*</td><td
c330: 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f  >No Geometries</
c340: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c350: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
c360: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
c370: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
c380: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
c390: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c3a0: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
c3b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c3c0: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
c3d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c3e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
c3f0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
c400: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
c410: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c420: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
c430: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
c440: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
c450: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
c460: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
c470: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c480: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
c490: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c4a0: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e  ">94.812424</td>
c4b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c4c0: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
c4d0: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
c4e0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
c4f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c500: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c510: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
c520: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
c530: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
c540: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c550: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
c560: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c570: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
c580: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
c590: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
c5a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
c5b0: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
c5c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
c5d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
c5e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
c5f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
c600: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
c610: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c620: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
c630: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c640: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
c650: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
c660: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
c670: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
c680: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
c690: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
c6a0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
c6b0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
c6c0: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76  <br><br><br>..<v
c6d0: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
c6e0: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69   byfoot SET Opti
c6f0: 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d  ons = 'SIMPLE';.
c700: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
c710: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
c720: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
c730: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
c740: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
c750: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
c760: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
c770: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
c780: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
c790: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
c7a0: 72 62 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c  rbatim>Setting <
c7b0: 62 3e 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c  b>Options='SIMPL
c7c0: 45 27 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73  E'</b> has the s
c7d0: 61 6d 65 20 65 66 66 65 63 74 20 74 68 61 6e 20  ame effect than 
c7e0: 73 65 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e  setting both <b>
c7f0: 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64  NO LINKS</b> and
c800: 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45   <b>NO GEOMETRIE
c810: 53 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d  S</b> at the sam
c820: 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e  e time.<br>..<u>
c830: 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69  Note</u>: this i
c840: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  s expected to be
c850: 20 74 68 65 20 66 61 73 74 65 73 74 20 73 65 74   the fastest set
c860: 74 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66  ting.<br>..The f
c870: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
c880: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
c890: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
c8a0: 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72  he previous Shor
c8b0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b  test Path query;
c8c0: 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74   please notice t
c8d0: 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20  he value in the 
c8e0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63  <b>Options</b> c
c8f0: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  olumn...<br><br>
c900: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
c910: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
c920: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
c930: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
c940: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
c950: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c960: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
c970: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c980: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
c990: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c9a0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
c9b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c9c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
c9d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c9e0: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
c9f0: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
ca00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
ca10: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
ca20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
ca30: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
ca40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
ca50: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
ca60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
ca70: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
ca80: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
ca90: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
caa0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a  r>..<tr>..<td>A*
cab0: 3c 2f 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c  </td><td>Simple<
cac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
cad0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
cae0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
caf0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
cb00: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
cb10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
cb20: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
cb30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
cb40: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
cb50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
cb60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
cb70: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
cb80: 62 72 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66  br>..Finally, if
cb90: 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c   you wish to sel
cba0: 65 63 74 20 61 67 61 69 6e 20 74 68 65 20 69 6e  ect again the in
cbb0: 69 74 69 61 6c 20 73 74 61 6e 64 61 72 64 20 73  itial standard s
cbc0: 65 74 74 69 6e 67 20 79 6f 75 20 6a 75 73 74 20  etting you just 
cbd0: 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c  have to execute<
cbe0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79  br> <b>UPDATE by
cbf0: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73  foot SET Options
cc00: 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c   = 'FULL';</b>.<
cc10: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
cc20: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
cc30: 6d 75 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69  multi">5 - Solvi
cc40: 6e 67 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  ng multi-destina
cc50: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
cc60: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  th problems</a><
cc70: 2f 68 31 3e 0d 0a 41 20 76 65 72 79 20 69 6e 74  /h1>..A very int
cc80: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65  eresting feature
cc90: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
cca0: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67  e Dijkstra's Alg
ccb0: 6f 72 69 74 68 6d 20 69 73 20 74 68 61 74 20 69  orithm is that i
ccc0: 74 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72  t robustly ensur
ccd0: 65 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64  es that when a d
cce0: 65 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65  estination is re
ccf0: 61 63 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65  ached all the de
cd00: 73 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65  stinations prese
cd10: 6e 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65  nting a <b>lesse
cd20: 72 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20  r cost</b> have 
cd30: 61 6c 72 65 61 64 79 20 62 65 65 6e 20 72 65 61  already been rea
cd40: 63 68 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65  ched in some pre
cd50: 76 69 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68  vious step of th
cd60: 65 20 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a  e process.<br>..
cd70: 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65  This allows to e
cd80: 66 66 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f  fficiently suppo
cd90: 72 74 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64  rt <b>multiple d
cda0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
cdb0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
cdc0: 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70  eries...You simp
cdd0: 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69  ly have to speci
cde0: 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f  fy a <b>single o
cdf0: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
ce00: 6e 64 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61  nd an <b>arbitra
ce10: 72 79 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69  ry list of desti
ce20: 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e  nation Nodes</b>
ce30: 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 44 69 6a   in a single Dij
ce40: 6b 73 74 72 61 27 73 20 65 78 65 63 75 74 69 6f  kstra's executio
ce50: 6e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e  n.<br><br>..<u>N
ce60: 6f 74 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69  ote</u>: executi
ce70: 6e 67 20 61 20 6d 75 6c 74 69 2d 64 65 73 74 69  ng a multi-desti
ce80: 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20  nation Shortest 
ce90: 50 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69  Path query requi
cea0: 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73  res a <b>process
ceb0: 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61  ing time</b> tha
cec0: 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73  t isn't the <u>s
ced0: 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69  um of all indivi
cee0: 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72  dual timings for
cef0: 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f   each destinatio
cf00: 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c  n</u>, but simpl
cf10: 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65  y is the <u>time
cf20: 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 61   required to rea
cf30: 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74  ch the most cost
cf40: 6c 79 20 6f 66 20 61 6c 6c 20 64 65 73 74 69 6e  ly of all destin
cf50: 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69  ations in the li
cf60: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69  st</u>.<br>..Thi
cf70: 73 20 69 73 6e 27 74 20 72 69 67 6f 72 6f 75 73  s isn't rigorous
cf80: 6c 79 20 74 72 75 65 20 69 6e 20 74 68 65 20 63  ly true in the c
cf90: 61 73 65 20 6f 66 20 74 68 65 20 56 69 72 74 75  ase of the Virtu
cfa0: 61 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66  alRouting specif
cfb0: 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ic implementatio
cfc0: 6e 2c 20 62 65 63 61 75 73 65 20 61 72 72 61 6e  n, because arran
cfd0: 67 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73  ging the results
cfe0: 65 74 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65  et to be returne
cff0: 64 20 61 6e 64 20 63 72 65 61 74 69 6e 67 20 61  d and creating a
d000: 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64 75 61  ll the individua
d010: 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 66 6f  l Linestrings fo
d020: 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69  r each destinati
d030: 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 69  on will surely i
d040: 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72 74 68  mpose some furth
d050: 65 72 20 6f 76 65 72 68 65 61 64 2c 20 62 75 74  er overhead, but
d060: 20 6e 6f 6e 65 74 68 65 6c 65 73 73 20 69 74 20   nonetheless it 
d070: 72 65 6d 61 69 6e 73 20 63 6f 6e 66 69 72 6d 65  remains confirme
d080: 64 20 74 68 61 74 20 65 78 65 63 75 74 69 6e 67  d that executing
d090: 20 61 20 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d   a single multi-
d0a0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72  destination quer
d0b0: 79 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 62 65  y will surely be
d0c0: 20 20 6e 6f 74 69 63 65 61 62 6c 79 20 66 61 73    noticeably fas
d0d0: 74 65 72 20 74 68 65 6e 20 65 78 65 63 75 74 69  ter then executi
d0e0: 6e 67 20 6d 61 6e 79 20 73 70 61 72 73 65 20 73  ng many sparse s
d0f0: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
d100: 6e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72  n queries...<ver
d110: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41  batim>..SELECT A
d120: 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
d130: 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
d140: 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
d150: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
d160: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
d170: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
d180: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
d190: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
d1a0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
d1b0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
d1c0: 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30  To = '183286,290
d1d0: 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33  458,181999,18403
d1e0: 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c  0,124622,183882,
d1f0: 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
d200: 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61  atim>..As you ca
d210: 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c  n easily notice,
d220: 20 61 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64   a <b>multiple-d
d230: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
d240: 71 75 65 72 79 20 68 61 73 20 74 68 65 20 73 61  query has the sa
d250: 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72  me identical for
d260: 6d 20 6f 66 20 61 6e 79 20 75 73 75 61 6c 20 53  m of any usual S
d270: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
d280: 72 79 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68  ry, except in th
d290: 61 74 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  at <b>NodeTo</b>
d2a0: 20 6e 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73   now corresponds
d2b0: 20 74 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61   to a comma-sepa
d2c0: 72 61 74 65 64 20 6c 69 73 74 2e 3c 62 72 3e 0d  rated list.<br>.
d2d0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
d2e0: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
d2f0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
d300: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
d310: 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  s multi-destinat
d320: 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74  ion Shortest Pat
d330: 68 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62  h query...<br><b
d340: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
d350: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
d360: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
d370: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
d380: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
d390: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d3a0: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
d3b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d3c0: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
d3d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d3e0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
d3f0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
d400: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
d410: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
d420: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d430: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
d440: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d450: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
d460: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d470: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
d480: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d490: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
d4a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d4b0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
d4c0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d4d0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
d4e0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
d4f0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
d500: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d510: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
d520: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
d530: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
d540: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
d550: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
d560: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73  </td><td>Shortes
d570: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46  t Path</td><td>F
d580: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23  ull</td><td>, &#
d590: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32  91;dec=44, hex=2
d5a0: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61  c&#93;</td><td a
d5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
d5c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d5d0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
d5e0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
d5f0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
d600: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
d610: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d620: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
d630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d640: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64  ">154.750839</td
d650: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30  ><td>BLOB sz=240
d660: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
d670: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
d680: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
d690: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d6a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d6b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d6c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d6d0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
d6e0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
d6f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
d700: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
d710: 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  636</td><td alig
d720: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
d730: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d740: 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
d750: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d760: 68 74 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f  ht">103.735722</
d770: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d780: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
d790: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
d7a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
d7b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d7c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d7d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d7e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d7f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
d800: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
d810: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
d820: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
d830: 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  527</td><td alig
d840: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
d850: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d860: 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74  right">183882</t
d870: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d880: 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74  ht">51.015117</t
d890: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d8a0: 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e  td>VIA LICIO NEN
d8b0: 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  CETTI</td>..</tr
d8c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
d8d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d8e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d8f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d900: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d920: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
d930: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
d940: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
d950: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
d960: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d970: 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
d980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d990: 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f  ht">176.364755</
d9a0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33  td><td>BLOB sz=3
d9b0: 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  04 GEOMETRY</td>
d9c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
d9d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
d9e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d9f0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
da00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
da10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
da20: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
da30: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
da40: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
da50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
da60: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
da70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
da80: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
da90: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
daa0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dab0: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
dac0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dad0: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
dae0: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
daf0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
db00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
db10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
db20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
db30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
db40: 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >1</td><td align
db50: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
db60: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
db70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
db80: 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4862</td><td ali
db90: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
dba0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
dbb0: 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f  "right">182043</
dbc0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dbd0: 67 68 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f  ght">37.095287</
dbe0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dbf0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
dc00: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
dc10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
dc20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dc30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dc40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
dc50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
dc60: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dc70: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
dc80: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
dc90: 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 30  n="right">226070
dca0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dcb0: 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74  right">182043</t
dcc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dcd0: 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
dce0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dcf0: 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c  >44.457044</td><
dd00: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dd10: 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53  PIAZZA SANT'AGOS
dd20: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
dd30: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
dd40: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dd50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dd60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
dd70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
dd80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dd90: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
dda0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
ddb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ddc0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
ddd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dde0: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
ddf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
de00: 74 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74  t">224.677095</t
de10: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34  d><td>BLOB sz=24
de20: 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
de30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
de40: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
de50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
de60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
de70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c  d><td>NULL<td al
de80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
de90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dea0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
deb0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
dec0: 3d 22 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c  ="right">219045<
ded0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dee0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
def0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
df00: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74  t">178732</td><t
df10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
df20: 37 36 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74  76.021007</td><t
df30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
df40: 49 41 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c  IA ASSAB</td>..<
df50: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
df60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
df70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
df80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
df90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dfa0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
dfb0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
dfc0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
dfd0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
dfe0: 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  19058</td><td al
dff0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e000: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
e010: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
e020: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e030: 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39  ight">148.656089
e040: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e050: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
e060: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
e070: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e080: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e090: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e0a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e0b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e0c0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
e0d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
e0e0: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
e0f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e100: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e110: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
e120: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
e130: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
e140: 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32  ="right">260.132
e150: 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  354</td><td>BLOB
e160: 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59   sz=240 GEOMETRY
e170: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e180: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e190: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e1a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e1b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e1c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e1d0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
e1e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e1f0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e200: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e210: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
e220: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e230: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
e240: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e250: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
e260: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
e270: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
e280: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
e290: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
e2a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e2b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e2c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e2d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e2e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e2f0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
e300: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
e310: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
e320: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e330: 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74  t">224446</td><t
e340: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e350: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
e360: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e370: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
e380: 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37  n="right">69.727
e390: 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  726</td><td>NULL
e3a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
e3b0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
e3c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e3d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e3e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e3f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e400: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e410: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e420: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
e430: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e450: 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  25800</td><td al
e460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
e470: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
e480: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
e490: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e4a0: 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c  ight">95.592204<
e4b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e4c0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
e4d0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
e4e0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
e4f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e500: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e510: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e520: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e530: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
e540: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
e550: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
e560: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e570: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e580: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
e590: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
e5a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
e5b0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
e5c0: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
e5d0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
e5e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e5f0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e600: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e610: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e620: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e640: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
e650: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
e660: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
e670: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e680: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
e690: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e6a0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
e6b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
e6c0: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
e6d0: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32  n="right">94.812
e6e0: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  424</td><td>NULL
e6f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
e700: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
e710: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
e720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e730: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e740: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e750: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e760: 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
e770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
e780: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
e790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e7a0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
e7b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e7c0: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
e7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
e7e0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
e7f0: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
e800: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
e810: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
e820: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
e830: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e840: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e850: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e860: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e870: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e880: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e890: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
e8a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e8b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e8c0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
e8d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
e8e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
e8f0: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
e900: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e910: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c  ght">136.372057<
e920: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e930: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
e940: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
e950: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e960: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e9a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63  L</td><td>Unreac
e9b0: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64  hable NodeTo</td
e9c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e9d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e9e0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
e9f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30  lign="right">290
ea00: 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  458</td><td>NULL
ea10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ea20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
ea30: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
ea40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ea50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ea60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</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 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ea90: 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65  Unreachable Node
eaa0: 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  To</td><td>NULL<
eab0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
eac0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
ead0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
eae0: 74 22 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74  t">124622</td><t
eaf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
eb00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
eb10: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
eb20: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65  table>..<br>..Le
eb30: 74 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d  t's quickly exam
eb40: 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65  ine the resultse
eb50: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
eb60: 65 20 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69  e above <b>multi
eb70: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62  -destinations</b
eb80: 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a  > query...<ul>..
eb90: 3c 6c 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20  <li>the overall 
eba0: 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74  layout is almost
ebb0: 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   exactly the sam
ebc0: 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65  e as you've alre
ebd0: 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20  ady seen in the 
ebe0: 63 61 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c  case of <b>singl
ebf0: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62  e-destination</b
ec00: 3e 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69  > queries, but i
ec10: 6e 20 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65  n this case more
ec20: 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76   individual trav
ec30: 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65  el solutions are
ec40: 20 67 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74   grouped altoget
ec50: 68 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  her.</li>..<li>t
ec60: 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c  he <b>first row<
ec70: 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c  /b> of the resul
ec80: 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20  tset is someway 
ec90: 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64  exceptional, and
eca0: 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72   is the unique r
ecb0: 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  ow of the result
ecc0: 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c  set presenting <
ecd0: 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
ece0: 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e  alues in the <b>
ecf0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c  Algorithm</b>, <
ed00: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c  b>Request</b>, <
ed10: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e  b>Options</b> an
ed20: 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  d <b>Delimiter</
ed30: 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e  b> columns.</li>
ed40: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75  ..<li>the <b>Rou
ed50: 74 65 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20  teId</b> column 
ed60: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67  is intended to g
ed70: 72 6f 75 70 20 74 6f 67 65 74 68 65 72 20 61 6c  roup together al
ed80: 6c 20 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e 67  l rows belonging
ed90: 20 74 6f 20 73 61 6d 65 20 74 72 61 76 65 6c 20   to same travel 
eda0: 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b 61  solution (<i>aka
edb0: 3c 2f 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f 62  </i> <b>Route</b
edc0: 3e 29 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 20  >).<br>..Routes 
edd0: 61 72 65 20 70 72 6f 67 72 65 73 73 69 76 65 6c  are progressivel
ede0: 79 20 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 61  y numbered and a
edf0: 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72  re ordered accor
ee00: 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 20  dingly to their 
ee10: 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62  <b>total cost</b
ee20: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
ee30: 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e   <b>RouteRow</b>
ee40: 20 63 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 20   column has the 
ee50: 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74  same interpretat
ee60: 69 6f 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c 65  ion as in single
ee70: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 73  -destination res
ee80: 75 6c 74 73 65 74 73 2c 20 61 6e 64 20 69 73 20  ultsets, and is 
ee90: 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 67  intended to prog
eea0: 72 65 73 73 69 76 65 6c 79 20 6f 72 64 65 72 20  ressively order 
eeb0: 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 73  in the correct s
eec0: 65 71 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b  equence all Link
eed0: 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65  s connecting the
eee0: 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20   Origin and the 
eef0: 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 65  Destination of e
ef00: 61 63 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a  ach Route.<br>..
ef10: 3c 62 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f 62  <b>RouteRow=0</b
ef20: 3e 20 61 6c 77 61 79 73 20 69 64 65 6e 74 69 66  > always identif
ef30: 69 65 73 20 74 68 65 20 68 65 61 64 65 72 20 72  ies the header r
ef40: 6f 77 20 6f 66 20 65 61 63 68 20 74 72 61 76 65  ow of each trave
ef50: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  l solution.</li>
ef60: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
ef70: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68  u>Notice</u>: th
ef80: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20  e last two rows 
ef90: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  in the resultset
efa0: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65   reports <b>Unre
efb0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c  achable NodeTo.<
efc0: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f  /b> in the <b>Ro
efd0: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74  le</b> column, t
efe0: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c  hus implying a <
eff0: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e  b>forbidden conn
f000: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d  ection</b>.<br>.
f010: 0a 54 68 69 73 20 77 61 73 20 70 75 72 70 6f 73  .This was purpos
f020: 65 6c 79 20 69 6e 74 65 6e 64 65 64 3a 20 4e 6f  ely intended: No
f030: 64 65 73 20 3c 62 3e 32 39 30 34 35 38 3c 2f 62  des <b>290458</b
f040: 3e 20 61 6e 64 20 3c 62 3e 31 32 34 36 32 32 3c  > and <b>124622<
f050: 2f 62 3e 20 61 72 65 20 6c 6f 63 61 74 65 64 20  /b> are located 
f060: 6f 6e 20 45 6c 62 61 20 61 6e 64 20 47 69 67 6c  on Elba and Gigl
f070: 69 6f 20 69 73 6c 61 6e 64 73 2e 20 54 68 65 20  io islands. The 
f080: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
f090: 6f 72 6b 20 69 73 20 62 61 73 65 64 20 6f 6e 20  ork is based on 
f0a0: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20  <b>Iter.Net</b> 
f0b0: 74 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f  that don't suppo
f0c0: 72 74 73 20 66 65 72 72 79 20 63 6f 6e 6e 65 63  rts ferry connec
f0d0: 74 69 6f 6e 73 2c 20 73 6f 20 61 6e 79 20 74 72  tions, so any tr
f0e0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 62 65  avel solution be
f0f0: 74 77 65 65 6e 20 74 68 65 20 69 73 6c 61 6e 64  tween the island
f100: 73 20 61 6e 64 20 74 68 65 20 6d 61 69 6e 6c 61  s and the mainla
f110: 6e 64 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66  nd will always f
f120: 61 69 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ail...<br><br><b
f130: 72 3e 0d 0a 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74  r>..Also <b>mult
f140: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
f150: 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20 62  b> queries can b
f160: 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75  e customized, bu
f170: 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74  t the configurat
f180: 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 74  ion rules slight
f190: 6c 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20 77  ly differ from w
f1a0: 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72  hat you have alr
f1b0: 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65  eady seen in the
f1c0: 20 63 61 73 65 20 6f 66 20 73 69 6e 67 6c 65 2d   case of single-
f1d0: 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75  destination...<u
f1e0: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72  l>..<li><b>Algor
f1f0: 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c  ithm</b>: only <
f200: 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69  b>Dijkstra</b> i
f210: 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6d  s supported by m
f220: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
f230: 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 69 6d  , and will be im
f240: 70 6c 69 63 69 74 6c 79 20 61 73 73 75 6d 65 64  plicitly assumed
f250: 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61   even when the a
f260: 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a  lternative <b>A*
f270: 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69  </b> algorithm i
f280: 73 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65  s currently sele
f290: 63 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  cted.</li>..<li>
f2a0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20  <b>Options</b>: 
f2b0: 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c  the usual <b>FUL
f2c0: 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45  L</b>, <b>SIMPLE
f2d0: 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b  </b>, <b>NO LINK
f2e0: 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20  S</b> and <b>NO 
f2f0: 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61  GEOMETRIES</b> a
f300: 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64  re supported and
f310: 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73   will have the s
f320: 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e  ame effect as in
f330: 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74   single-destinat
f340: 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  ion queries.</li
f350: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61  >..</ul>..<verba
f360: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
f370: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20  oot SET Options 
f380: 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53  = 'SIMPLE';....S
f390: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
f3a0: 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e   Request, Option
f3b0: 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f  s, Delimiter, Ro
f3c0: 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c  uteId, RouteRow,
f3d0: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
f3e0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
f3f0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
f400: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
f410: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
f420: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
f430: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33  ND NodeTo = '183
f440: 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39  286,290458,18199
f450: 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c  9,184030,124622,
f460: 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
f470: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
f480: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
f490: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
f4a0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
f4b0: 79 20 74 68 65 20 73 61 6d 65 20 6d 75 6c 74 69  y the same multi
f4c0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65  -destination que
f4d0: 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70  ry used in the p
f4e0: 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20  revious example 
f4f0: 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74  after enabling t
f500: 68 65 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e  he <b>SIMPLE</b>
f510: 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62   option...<br><b
f520: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
f530: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
f540: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
f550: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
f560: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
f570: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f580: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
f590: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f5a0: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
f5b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f5c0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
f5d0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
f5e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
f5f0: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
f600: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f610: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
f620: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f630: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
f640: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f650: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
f660: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f670: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
f680: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f690: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
f6a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f6b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
f6c0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
f6d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
f6e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f6f0: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
f700: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
f710: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
f720: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
f730: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
f740: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73  </td><td>Shortes
f750: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46  t Path</td><td>F
f760: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23  ull</td><td>, &#
f770: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32  91;dec=44, hex=2
f780: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61  c&#93;</td><td a
f790: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
f7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f7b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
f7c0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
f7d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
f7e0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
f7f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f800: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
f810: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f820: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64  ">154.750839</td
f830: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f840: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
f850: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
f860: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f870: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f880: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f890: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f8a0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
f8b0: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
f8c0: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
f8d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
f8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
f8f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
f900: 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
f910: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f920: 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c  ght">176.364755<
f930: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f940: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
f950: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
f960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
f970: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f980: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f990: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f9a0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
f9b0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
f9c0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</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 37  align="right">17
f9f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fa00: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
fa10: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
fa20: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30  "right">224.6770
fa30: 39 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  95</td><td>NULL<
fa40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fa50: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
fa60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fa70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fa80: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fa90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
faa0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
fab0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
fac0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</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 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
fb00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
fb10: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
fb20: 67 6e 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31  gn="right">260.1
fb30: 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  32354</td><td>NU
fb40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fb50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
fb60: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
fb70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fb80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fb90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fba0: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
fbb0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fbc0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
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 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fc00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fc10: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
fc20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
fc30: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
fc40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fc50: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
fc60: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
fc70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fc80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fc90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fca0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fcb0: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61  /td><td>Unreacha
fcc0: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
fcd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fce0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
fcf0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fd00: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35  gn="right">29045
fd10: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
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 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fd40: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
fd50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fd60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fd70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fd80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fd90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e  >NULL</td><td>Un
fda0: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f  reachable NodeTo
fdb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fdc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fdd0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fde0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fdf0: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e  >124622</td><td>
fe00: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fe10: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fe20: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
fe30: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20  ble>..<br>..The 
fe40: 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69  map below graphi
fe50: 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20  cally shows the 
fe60: 70 72 65 76 69 6f 75 73 20 3c 62 3e 6d 75 6c 74  previous <b>mult
fe70: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
fe80: 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72  b> queries...<br
fe90: 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  ><br>..<img src=
fea0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
feb0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
fec0: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
fed0: 72 6f 75 74 69 6e 67 33 2e 6a 70 67 22 20 61 6c  routing3.jpg" al
fee0: 74 3d 22 66 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d  t="fig3">..<ul>.
fef0: 0a 3c 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74  .<li>Red star: t
ff00: 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c  he Origin Node.<
ff10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20  /li>..<li>Green 
ff20: 64 6f 74 73 3a 20 74 68 65 20 44 65 73 74 69 6e  dots: the Destin
ff30: 61 74 69 6f 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69  ation Nodes.</li
ff40: 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69  >..<li>Yellow li
ff50: 6e 65 73 3a 20 61 6c 6c 20 69 6e 64 69 76 69 64  nes: all individ
ff60: 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ual travel solut
ff70: 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  ions.</li>..</ul
ff80: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
ff90: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30  bgcolor="#ffb060
ffa0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
ffb0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
ffc0: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
ffd0: 3e 44 61 6e 67 65 72 6f 75 73 20 70 69 74 66 61  >Dangerous pitfa
ffe0: 6c 6c 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d  lls related to m
fff0: 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
10000 69 6f 6e 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a  ion lists</h3>..
10010 53 51 4c 20 73 79 6e 74 61 78 20 64 69 72 65 63  SQL syntax direc
10020 74 6c 79 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70  tly allows to sp
10030 65 63 69 66 79 20 6c 69 73 74 73 20 6f 66 20 20  ecify lists of  
10040 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2c  multiple values,
10050 20 73 6f 20 6d 61 79 20 62 65 20 79 6f 75 20 61   so may be you a
10060 72 65 20 6e 6f 77 20 77 6f 6e 64 65 72 69 6e 67  re now wondering
10070 20 61 62 6f 75 74 20 77 72 69 74 69 6e 67 20 74   about writing t
10080 68 65 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64  he <b>multiple d
10090 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
100a0 71 75 65 72 79 20 74 65 73 74 65 64 20 69 6e 20  query tested in 
100b0 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
100c0 6d 70 6c 65 73 20 74 68 69 73 20 77 61 79 3a 0d  mples this way:.
100d0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
100e0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
100f0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
10100 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
10110 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
10120 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
10130 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
10140 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
10150 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
10160 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
10170 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
10180 20 4e 6f 64 65 54 6f 20 49 4e 20 28 31 38 33 32   NodeTo IN (1832
10190 38 36 2c 20 32 39 30 34 35 38 2c 20 31 38 31 39  86, 290458, 1819
101a0 39 39 2c 20 31 38 34 30 33 30 2c 20 31 32 34 36  99, 184030, 1246
101b0 32 32 2c 20 31 38 33 38 38 32 2c 20 31 37 38 37  22, 183882, 1787
101c0 35 34 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54);..</verbatim
101d0 3e 0d 0a 54 68 65 72 65 20 69 73 20 61 20 76 65  >..There is a ve
101e0 72 79 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 64  ry good reason d
101f0 69 73 63 6f 75 72 61 67 69 6e 67 20 66 72 6f 6d  iscouraging from
10200 20 64 6f 69 6e 67 20 73 75 63 68 20 61 20 74 68   doing such a th
10210 69 6e 67 2c 20 6c 65 74 27 73 20 73 65 65 20 77  ing, let's see w
10220 68 79 2e 3c 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69  hy.<br>..<b>SQLi
10230 74 65 3c 2f 62 3e 20 77 69 6c 6c 20 70 72 6f 63  te</b> will proc
10240 65 73 73 20 61 20 72 65 71 75 65 73 74 20 77 72  ess a request wr
10250 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 20 62  itten this way b
10260 79 20 72 65 70 65 61 74 65 64 6c 79 20 63 61 6c  y repeatedly cal
10270 6c 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74  ling VirtualRout
10280 69 6e 67 20 70 61 73 73 69 6e 67 20 65 61 63 68  ing passing each
10290 20 74 69 6d 65 20 61 20 73 69 6e 67 6c 65 20 44   time a single D
102a0 65 73 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 64 20  estination; and 
102b0 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e  consequently <b>
102c0 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
102d0 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65  b> will never re
102e0 63 65 69 76 65 20 74 68 65 20 63 72 69 74 69 63  ceive the critic
102f0 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74  al information t
10300 68 61 74 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e  hat a single mon
10310 6f 6c 69 74 68 69 63 20 72 65 71 75 65 73 74 20  olithic request 
10320 77 61 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  was intended to 
10330 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 20 61  be executed in a
10340 20 73 69 6e 67 6c 65 20 73 68 6f 74 2e 20 53 6f   single shot. So
10350 20 74 68 65 20 72 65 71 75 65 73 74 20 63 6f 6e   the request con
10360 74 65 78 74 20 77 69 6c 6c 20 62 65 20 65 61 73  text will be eas
10370 69 6c 79 20 6d 69 73 69 6e 74 65 72 70 72 65 74  ily misinterpret
10380 65 64 2c 20 61 6e 64 20 61 6e 79 20 65 78 70 65  ed, and any expe
10390 63 74 65 64 20 73 70 65 65 64 20 62 65 6e 65 66  cted speed benef
103a0 69 74 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 6c  it will be compl
103b0 65 74 65 6c 79 20 66 72 75 73 74 72 61 74 65 64  etely frustrated
103c0 2e 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68  ...<h3>Beware</h
103d0 33 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65  3>..<b>Never eve
103e0 72 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f  r</b> attempt to
103f0 20 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f   define a list o
10400 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69  f multiple desti
10410 6e 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68  nations using th
10420 65 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73  e standard SQL s
10430 79 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52  yntax <b><i>WHER
10440 45 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e  E NodeTo IN (...
10450 2e 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65  ...)</i></b>, be
10460 63 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20  cause this will 
10470 63 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20  certainly cause 
10480 6d 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20  many unexpected 
10490 74 72 6f 75 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42  troubles.<br>..B
104a0 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72  adly formatted r
104b0 65 73 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62  esultsets will b
104c0 65 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c  e then returned,
104d0 20 6d 61 79 20 62 65 20 63 6f 6e 74 61 69 6e 69   may be containi
104e0 6e 67 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 73  ng wrong results
104f0 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 72  . <b>You are war
10500 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  ned</b>.<br><br>
10510 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
10520 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  ble>..<br>..<tab
10530 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
10540 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
10550 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
10560 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
10570 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 65  <h3>How to corre
10580 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c 74  ctly format mult
10590 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
105a0 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 69  s lists</h3>..Vi
105b0 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c 77  rtualRouting alw
105c0 61 79 73 20 65 78 70 65 63 74 73 20 74 6f 20 72  ays expects to r
105d0 65 63 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c 74  eceive a <b>mult
105e0 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
105f0 62 3e 20 6c 69 73 74 20 61 73 20 61 20 3c 62 3e  b> list as a <b>
10600 54 45 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 20  TEXT</b> string 
10610 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 74  containing tight
10620 6c 79 20 70 61 63 6b 65 64 20 76 61 6c 75 65 73  ly packed values
10630 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20   separated by a 
10640 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e  conventional <b>
10650 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 75  delimiter</b> (u
10660 73 75 61 6c 6c 79 20 72 65 70 72 65 73 65 6e 74  sually represent
10670 65 64 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d 61  ed by a <b>comma
10680 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d  </b>).<br>..Exam
10690 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c 20  ples of <b>well 
106a0 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75  formatted</b> mu
106b0 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73  lti-destinations
106c0 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74   lists:..<verbat
106d0 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c  im>..'1,2,3,4,5,
106e0 31 30 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 30  10,100,1000,1000
106f0 30 30 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72  00'   -- integer
10700 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 31   Node IDs....'A1
10710 30 30 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 2c  00B,A100F,B250Z,
10720 43 30 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d 2d  C010M,Z999A'  --
10730 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f   alphanumeric No
10740 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62  de Codes..</verb
10750 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 20  atim>..Examples 
10760 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 6d  of <b>badly form
10770 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d  atted</b> multi-
10780 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73  destinations lis
10790 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ts:..<verbatim>.
107a0 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 2c  .'  1, 2, 3, 4 ,
107b0 20 35 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 30   5 , 10, 100, 10
107c0 30 30 2c 20 31 30 30 30 30 30 20 20 27 20 20 20  00, 100000  '   
107d0 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20  -- integer Node 
107e0 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 2c  IDs....'  A100B,
107f0 20 41 31 30 30 46 20 2c 20 42 32 35 30 5a 20 2c   A100F , B250Z ,
10800 20 43 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 27   C010M, Z999A  '
10810 20 20 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e 75        -- alphanu
10820 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 73  meric Node Codes
10830 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c  ..</verbatim>..<
10840 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20  u>Note</u>: all 
10850 77 68 69 74 65 73 70 61 63 65 73 20 69 6d 6d 65  whitespaces imme
10860 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 69 6e  diately precedin
10870 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  g or following t
10880 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c  he <b>delimiter<
10890 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  /b> will be cons
108a0 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 74  idered to be int
108b0 65 67 72 61 6c 20 70 61 72 74 20 6f 66 20 74 68  egral part of th
108c0 65 20 76 61 6c 75 65 20 69 74 73 65 6c 66 2e 3c  e value itself.<
108d0 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68  br>..This will h
108e0 61 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63  ave no adverse c
108f0 6f 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74  onsequences in t
10900 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67  he case of integ
10910 65 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63  er values, but c
10920 61 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63  an easily have c
10930 61 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65  atastrophic effe
10940 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65  cts on alphanume
10950 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33  ric values...<h3
10960 3e 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74  >Defining a cust
10970 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33  om delimiter</h3
10980 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20  >..Sometimes it 
10990 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20  could be useful 
109a0 73 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c  setting up a del
109b0 69 6d 69 74 65 72 20 64 69 66 66 65 72 65 6e 74  imiter different
109c0 20 66 72 6f 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f   from <b>comma</
109d0 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  b>...<verbatim>.
109e0 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
109f0 45 54 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27  ET Delimiter = '
10a00 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65  *';....SELECT De
10a10 6c 69 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66  limiter FROM byf
10a20 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  oot;..----------
10a30 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63  --------..* [dec
10a40 3d 34 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f  =42, hex=2a]..</
10a50 76 65 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20  verbatim> ..You 
10a60 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65  simply have to e
10a70 78 65 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44  xecute an <b>UPD
10a80 41 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e  ATE</b> statemen
10a90 74 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20  t by specifying 
10aa0 74 68 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65  the new delimite
10ab0 72 20 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e  r value.<br><br>
10ac0 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
10ad0 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ble>..<br><br>..
10ae0 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61  <hr><br>..<h1><a
10af0 20 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65   name="isochrone
10b00 22 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73  ">6 - Solving Is
10b10 6f 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73  ochrone problems
10b20 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72  </a></h1>..<a hr
10b30 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
10b40 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
10b50 69 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22  i/Isochrone_map"
10b60 3e 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20  >Isochrones</a> 
10b70 61 72 65 20 61 72 65 61 73 20 28 6f 72 20 63 75  are areas (or cu
10b80 72 76 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67  rves) connecting
10b90 20 70 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68   points at which
10ba0 20 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72   something occur
10bb0 73 20 6f 72 20 61 72 72 69 76 65 73 20 61 74 20  s or arrives at 
10bc0 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62  the same time.<b
10bd0 72 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61  r>..Isochrones a
10be0 72 65 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74  re usually relat
10bf0 65 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e  ed to Network An
10c00 61 6c 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69  alysis and Routi
10c10 6e 67 20 62 65 63 61 75 73 65 20 74 68 65 79 20  ng because they 
10c20 61 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20  allow to easily 
10c30 69 64 65 6e 74 69 66 79 20 77 68 69 63 68 20 73  identify which s
10c40 70 65 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20  pecific portion 
10c50 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63  of the Network c
10c60 61 6e 20 62 65 20 72 65 61 63 68 65 64 20 73 74  an be reached st
10c70 61 72 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c  arting by some <
10c80 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62  b>origin Node</b
10c90 3e 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f  > spending no mo
10ca0 72 65 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20  re than a given 
10cb0 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e  <b>Cost</b>.<br>
10cc0 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76  <br>..As you hav
10cd0 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 61  e already seen a
10ce0 62 6f 75 74 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  bout <b>multi-de
10cf0 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75  stination</b> qu
10d00 65 72 69 65 73 2c 20 74 68 65 20 44 69 6a 6b 73  eries, the Dijks
10d10 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20  tra's Algorithm 
10d20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73  robustly ensures
10d30 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65 73   that when a des
10d40 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63  tination is reac
10d50 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74  hed all the dest
10d60 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74  inations present
10d70 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20  ing a <b>lesser 
10d80 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c  cost</b> have al
10d90 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 63 68  ready been reach
10da0 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69  ed in some previ
10db0 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 65 20  ous step of the 
10dc0 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68  process.<br>..Th
10dd0 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66  is allows to eff
10de0 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74  iciently support
10df0 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62   <b>Isochrone</b
10e00 3e 20 71 75 65 72 69 65 73 2e 0d 0a 59 6f 75 20  > queries...You 
10e10 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 73  simply have to s
10e20 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69 6e 67  pecify a <b>sing
10e30 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f  le origin Node</
10e40 62 3e 20 61 6e 64 20 61 20 3c 62 3e 43 6f 73 74  b> and a <b>Cost
10e50 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c   threshold</b>.<
10e60 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  br><br>..<u>Note
10e70 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20  </u>: executing 
10e80 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65  an Isochrone que
10e90 72 79 20 72 65 71 75 69 72 65 73 20 61 20 3c 62  ry requires a <b
10ea0 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65  >processing time
10eb0 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20  </b> that isn't 
10ec0 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c  the <u>sum of al
10ed0 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d  l individual tim
10ee0 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 65  ings for each de
10ef0 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62  stination</u>, b
10f00 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65  ut simply is the
10f10 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65   <u>time require
10f20 64 20 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d  d to reach the m
10f30 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69  ost costly desti
10f40 6e 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d  nation</u>.<br>.
10f50 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
10f60 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
10f70 65 71 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f  equest, Role, No
10f80 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
10f90 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a  Cost, Geometry..
10fa0 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
10fb0 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38  RE NodeFrom = 18
10fc0 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d  1999 AND Cost <=
10fd0 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62   1000.0;..</verb
10fe0 61 74 69 6d 3e 0d 0a 41 6e 20 3c 62 3e 49 73 6f  atim>..An <b>Iso
10ff0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79  chrone</b> query
11000 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79   as supported by
11010 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
11020 6e 67 3c 2f 62 3e 20 6a 75 73 74 20 72 65 71 75  ng</b> just requ
11030 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 3a  ires to specify:
11040 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e  ..<ul>..<li><b>N
11050 6f 64 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65  odeFrom</b>: the
11060 20 3c 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62   <b><i>ID</i></b
11070 3e 20 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c  > or <b><i>Code<
11080 2f 69 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c 79  /i></b> uniquely
11090 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65   identifying the
110a0 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c   <b>origin Node<
110b0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /b>.</li>..<li><
110c0 62 3e 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20  b>Cost</b>: the 
110d0 6d 61 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74 20  maximum <b>Cost 
110e0 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f  threshold</b> no
110f0 74 20 74 6f 20 62 65 20 65 78 63 65 65 64 65 64  t to be exceeded
11100 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
11110 75 3e 3a 20 61 6e 79 20 76 61 6c 69 64 20 49 73  u>: any valid Is
11120 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 3c 62  ochrone query <b
11130 3e 6d 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73 73  >must</b> necess
11140 61 72 69 6c 79 20 73 70 65 63 69 66 79 20 61 20  arily specify a 
11150 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69  <b><=</b> (<u><i
11160 3e 6c 65 73 73 65 72 20 74 68 61 6e 20 6f 72 20  >lesser than or 
11170 65 71 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e  equal to</i></u>
11180 29 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65  ) comparison ope
11190 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  rator.</li>..</u
111a0 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  l>..<br>..The fo
111b0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
111c0 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
111d0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
111e0 65 20 61 62 6f 76 65 20 49 73 6f 63 68 72 6f 6e  e above Isochron
111f0 65 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62  e query...<br><b
11200 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
11210 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
11220 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
11230 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
11240 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
11250 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
11260 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
11270 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
11280 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
11290 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
112a0 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
112b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
112c0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
112d0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
112e0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
112f0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
11300 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
11310 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
11320 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
11330 65 74 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  etry</th></tr>..
11340 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  <tr>..<tr>..<td>
11350 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64  Dijkstra</td><td
11360 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c  >Isochrone</td><
11370 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e  td>Solution</td>
11380 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
11390 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
113a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
113b0 37 38 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  78717</td><td al
113c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 32 2e  ign="right">572.
113d0 34 35 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e 42  455143</td><td>B
113e0 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54  LOB sz=60 GEOMET
113f0 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RY</td>..</tr>..
11400 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
11410 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
11420 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64 20  <td>Solution<td 
11430 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
11440 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11450 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31  gn="right">17871
11460 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
11470 22 72 69 67 68 74 22 3e 35 38 37 2e 33 30 33 37  "right">587.3037
11480 37 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  79</td><td>BLOB 
11490 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
114a0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
114b0 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e  ..<td align="cen
114c0 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37 22  ter" colspan="7"
114d0 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f  >.............</
114e0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
114f0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
11500 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
11510 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 53 6f  align="right">So
11520 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61  lution</td><td a
11530 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
11540 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
11550 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 35  n="right">184035
11560 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
11570 72 69 67 68 74 22 3e 35 37 39 2e 37 38 36 37 32  right">579.78672
11580 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
11590 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  z=60 GEOMETRY</t
115a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
115b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
115c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53  d>NULL</td><td>S
115d0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20  olution</td><td 
115e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
115f0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11600 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
11610 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
11620 22 72 69 67 68 74 22 3e 36 34 32 2e 36 39 31 35  "right">642.6915
11630 39 37 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  97</td><td>BLOB 
11640 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11650 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
11660 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27  ble>..<br>..Let'
11670 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  s quickly examin
11680 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
11690 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
116a0 61 62 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72 6f  above <b>isochro
116b0 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c  ne</b> query...<
116c0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  ul>..<li>the <b>
116d0 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66  first row</b> of
116e0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69   the resultset i
116f0 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74  s someway except
11700 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68  ional, and is th
11710 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20  e unique row of 
11720 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72  the resultset pr
11730 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20  esenting <b>NOT 
11740 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20  NULL</b> values 
11750 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69  in the <b>Algori
11760 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75  thm</b>, <b>Requ
11770 65 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74  est</b>, </b>Opt
11780 69 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f  ions</b> (and </
11790 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29  b>Delimiter</b>)
117a0 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a   columns.</li>..
117b0 3c 6c 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e  <li>all rows (in
117c0 63 6c 75 64 69 6e 67 20 74 68 65 20 66 69 72 73  cluding the firs
117d0 74 20 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52  t one) have <b>R
117e0 6f 6c 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f  ole = Solution</
117f0 62 3e 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e  b>, and represen
11800 74 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65  t a single conne
11810 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62  ction between <b
11820 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
11830 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c  d <b>NodeTo</b>,
11840 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 73   with the corres
11850 70 6f 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c  ponding <b>Cost<
11860 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /b>.</li>..<li>t
11870 68 65 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f  he <b>Geometry</
11880 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73  b> column always
11890 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
118a0 74 68 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c  the <b>2D Point<
118b0 2f 62 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64  /b> where <b>Nod
118c0 65 54 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74  eTo</b> is locat
118d0 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ed.</li>..</ul>.
118e0 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
118f0 75 3e 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65  u>: <b>isochrone
11900 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 61 72 65  </b> queries are
11910 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79   not affected by
11920 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70   configurable op
11930 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72  tions...<b>Algor
11940 69 74 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  ithm</b> will be
11950 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20   always assumed 
11960 74 6f 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72  to be <b>Dijsktr
11970 61 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63  a</b>, and the c
11980 75 72 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e  urrent <b>Option
11990 73 3c 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77  s</b> settings w
119a0 69 6c 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67  ill be simply ig
119b0 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69  nored...<verbati
119c0 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f  m>..SELECT ST_Co
119d0 6e 63 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c  ncaveHull(ST_Col
119e0 6c 65 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d  lect(Geometry)).
119f0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
11a00 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
11a10 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c  81999 AND Cost <
11a20 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72  = 1000.0;..</ver
11a30 62 61 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63  batim>..Any isoc
11a40 68 72 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c  hrone query will
11a50 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 50   just return a P
11a60 6f 69 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75  oint-set; if you
11a70 20 65 76 65 6e 74 75 61 6c 6c 79 20 77 69 73 68   eventually wish
11a80 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63   to obtain the c
11a90 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65  orresponding are
11aa0 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f  al representatio
11ab0 6e 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20  n you just have 
11ac0 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f  to call <b>ST_Co
11ad0 6c 6c 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f  llect()</b> in o
11ae0 72 64 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f  rder to get a mo
11af0 6e 6f 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f  nolithic MultiPo
11b00 69 6e 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e  int, then callin
11b10 67 20 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48  g <b>ST_ConcaveH
11b20 75 6c 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64  ull()</b> in ord
11b30 65 72 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79  er to get a Poly
11b40 67 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  gon...<br><br><b
11b50 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f  r>..The map belo
11b60 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68  w graphically sh
11b70 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f 75 73  ows the previous
11b80 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62   <b>isochrone</b
11b90 3e 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62  > query...<br><b
11ba0 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74  r>..<img src="ht
11bb0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
11bc0 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
11bd0 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f  routing-figs/iso
11be0 63 68 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d  chrone.jpg" alt=
11bf0 22 69 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75  "isochrone">..<u
11c00 6c 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73  l>..<li>Yellow s
11c10 74 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20  tar: the Origin 
11c20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Node.</li>..<li>
11c30 42 6c 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44  Blue dots: all D
11c40 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73  estination Nodes
11c50 20 77 69 74 68 69 6e 20 74 68 65 20 67 69 76 65   within the give
11c60 6e 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  n Cost.</li>..<l
11c70 69 3e 57 68 69 74 65 20 6c 69 6e 65 3a 20 74 68  i>White line: th
11c80 65 20 62 6f 75 6e 64 61 72 79 20 6f 66 20 74 68  e boundary of th
11c90 65 20 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c  e Isochrone. ..<
11ca0 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
11cb0 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30  bgcolor="#c0ffc0
11cc0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
11cd0 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
11ce0 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72  6"><tr><td>..<br
11cf0 3e 3c 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74  ><br>..<u><b>Not
11d00 65 3c 2f 62 3e 3c 2f 75 3e 3a 20 69 74 20 74 68  e</b></u>: it th
11d10 69 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 76  is example you'v
11d20 65 20 75 73 65 64 20 74 68 65 20 3c 62 3e 62 79  e used the <b>by
11d30 66 6f 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b  foot</b> Network
11d40 2c 20 74 68 61 74 20 69 73 20 62 61 73 65 64 20  , that is based 
11d50 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20  on <b>Costs</b> 
11d60 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
11d70 6d 65 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d  meters</b> (geom
11d80 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 20  etric length of 
11d90 65 61 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d  each Link).<br>.
11da0 0a 54 68 69 73 20 4e 65 74 77 6f 72 6b 20 69 73  .This Network is
11db0 20 6d 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64   mainly intended
11dc0 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69   for <b>pedestri
11dd0 61 6e 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63  ans</b>, so we c
11de0 61 6e 20 73 61 66 65 6c 79 20 61 73 73 75 6d 65  an safely assume
11df0 20 61 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e   a <u><i>constan
11e00 74 20 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20  t speed</i></u> 
11e10 6f 66 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62  of about <b>4</b
11e20 3e 20 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f  > to <b>6 km/h</
11e30 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65  b>, and conseque
11e40 6e 74 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f 63  ntly the <b>Isoc
11e50 68 72 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74  hrone</b> effect
11e60 69 76 65 6c 79 20 72 65 73 70 65 63 74 73 20 74  ively respects t
11e70 68 65 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69  he <u><i>same ti
11e80 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69  me</i></u> requi
11e90 73 69 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53  site.<br><br>..S
11ea0 70 65 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20  peaking in more 
11eb0 67 65 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20 61  general terms, a
11ec0 6e 20 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20  n Isochrone can 
11ed0 62 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61  be intended as a
11ee0 20 67 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d   generic synonym
11ef0 20 66 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20   for <u><i>same 
11f00 43 6f 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76  Cost</i></u>, ev
11f10 65 6e 20 77 68 65 6e 20 74 68 65 72 65 20 69 73  en when there is
11f20 20 6e 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e   no obvious conn
11f30 65 63 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54  ection with <b>T
11f40 69 6d 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72  ime.</b>.<br><br
11f50 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74  >..</td></tr></t
11f60 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d  able>..<hr><br>.
11f70 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73  .<h1><a name="ts
11f80 70 22 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54  p">7 - Solving T
11f90 53 50 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61  SP (traveling sa
11fa0 6c 65 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73  lesman) problems
11fb0 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53  </a></h1>..<b>TS
11fc0 50 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22  P</b> (<a href="
11fd0 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
11fe0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72  edia.org/wiki/Tr
11ff0 61 76 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61  avelling_salesma
12000 6e 5f 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65  n_problem">Trave
12010 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72  ling Salesman Pr
12020 6f 62 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20  oblem</a>) is a 
12030 77 65 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61  well known Opera
12040 74 69 6f 6e 73 20 52 65 73 65 61 72 63 68 20 70  tions Research p
12050 72 6f 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72  roblem...<br><br
12060 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
12070 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c  r="#c0ffc0" cell
12080 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
12090 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
120a0 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54  ><td>..<h3>The T
120b0 72 61 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61  raveling Salesma
120c0 6e 20 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a  n Problem</h3>..
120d0 3c 62 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69  <b><i>Given a li
120e0 73 74 20 6f 66 20 63 69 74 69 65 73 20 61 6e 64  st of cities and
120f0 20 74 68 65 20 64 69 73 74 61 6e 63 65 73 20 62   the distances b
12100 65 74 77 65 65 6e 20 65 61 63 68 20 70 61 69 72  etween each pair
12110 20 6f 66 20 63 69 74 69 65 73 2c 20 77 68 61 74   of cities, what
12120 20 69 73 20 74 68 65 20 73 68 6f 72 74 65 73 74   is the shortest
12130 20 70 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 20   possible route 
12140 74 68 61 74 20 76 69 73 69 74 73 20 65 61 63 68  that visits each
12150 20 63 69 74 79 20 61 6e 64 20 72 65 74 75 72 6e   city and return
12160 73 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 20  s to the origin 
12170 63 69 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a  city ?</i></b>..
12180 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
12190 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  /tr></table>..<b
121a0 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e  r>..<u>Note:</u>
121b0 20 74 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75   the terms <i><u
121c0 3e 73 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69  >salesman</u></i
121d0 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79  > and <i><u>city
121e0 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69  </u></i> are uni
121f0 76 65 72 73 61 6c 6c 79 20 75 73 65 64 20 66 6f  versally used fo
12200 72 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61  r historical rea
12210 73 6f 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 68  sons, but you sh
12220 6f 75 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c 69  ould avoid to li
12230 74 65 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62  terally intend b
12240 6f 74 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54  oth them.<br>..T
12250 68 65 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61  he term <u><i>sa
12260 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69  lesman</i></u> i
12270 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20  n this specific 
12280 63 6f 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 20  context intends 
12290 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e  any possible kin
122a0 64 20 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e  d of <u><i>movin
122b0 67 20 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20  g agent</i></u> 
122c0 28 70 65 64 65 73 74 72 69 61 6e 2c 20 76 65 68  (pedestrian, veh
122d0 69 63 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 20  icle, passenger 
122e0 6f 72 20 77 68 61 74 65 76 65 72 20 65 6c 73 65  or whatever else
122f0 29 2c 20 65 78 61 63 74 6c 79 20 61 73 20 3c 69  ), exactly as <i
12300 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e  ><u>city</u></i>
12310 20 73 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 66   simply stands f
12320 6f 72 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e  or any <i><u>gen
12330 65 72 69 63 20 64 65 73 74 69 6e 61 74 69 6f 6e  eric destination
12340 3c 2f 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69  </u></i> on a gi
12350 76 65 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62  ven Network...<b
12360 72 3e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63  r><br>..We can c
12370 6f 6e 63 65 70 74 75 61 6c 79 20 73 70 6c 69 74  onceptualy split
12380 20 54 50 53 20 69 6e 20 74 77 6f 20 68 61 6c 76   TPS in two halv
12390 65 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63  es:..<ol>..<li>c
123a0 6f 6d 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 73  omputing all dis
123b0 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20 70  tances between p
123c0 61 69 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 65  airs of <i>citie
123d0 73 3c 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 61  s</i>. This is a
123e0 20 74 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72   typical <b>Shor
123f0 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f  testPath</b> pro
12400 62 6c 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e  blem, and we can
12410 20 64 75 6c 79 20 75 73 65 20 74 68 65 20 44 69   duly use the Di
12420 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74  jkstra's algorit
12430 68 6d 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69  hm for this.</li
12440 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68  >..<li>then we h
12450 61 76 65 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c  ave to check all
12460 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 72   possible <b>per
12470 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20  mutations</b> / 
12480 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c  <b>combinations<
12490 2f 62 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 69  /b> so to identi
124a0 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54  fy the optimal T
124b0 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69  SP solution.</li
124c0 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70  >..</ol>..Unhapp
124d0 69 6c 79 20 74 68 65 72 65 20 69 73 20 61 20 70  ily there is a p
124e0 72 61 63 74 69 63 61 6c 20 64 69 66 66 69 63 75  ractical difficu
124f0 6c 74 79 20 69 6e 20 73 75 63 68 20 61 20 73 74  lty in such a st
12500 72 61 69 67 68 74 20 61 70 70 72 6f 61 63 68 3b  raight approach;
12510 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63   the number of c
12520 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c  ombinations will
12530 20 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20   grow extremely 
12540 66 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62  fast as the numb
12550 65 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69  er of <b><i>citi
12560 65 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65  es</i></b> incre
12570 61 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c  ases.<br>..Simpl
12580 79 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20  y computing the 
12590 63 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c  complete TSP sol
125a0 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20  ution for about 
125b0 74 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20  ten cities will 
125c0 72 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72  require a <b>ver
125d0 79 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20  y long time</b> 
125e0 65 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70  even using a sup
125f0 65 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d  ercomputer.<br>.
12600 0a 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20  .And attempting 
12610 74 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50  to compute a TSP
12620 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62   solution for ab
12630 6f 75 74 20 68 75 6e 64 72 65 64 20 63 69 74 69  out hundred citi
12640 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20  es will require 
12650 61 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79  a <b>practically
12660 20 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69   infinite</b> ti
12670 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48  me...<br><br>..H
12680 6f 77 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 54  owever solving T
12690 53 50 20 69 73 20 68 69 67 68 6c 79 20 64 65 73  SP is highly des
126a0 69 72 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61  irable in many a
126b0 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64  pplication field
126c0 73 3a 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c  s: <b>logistics<
126d0 2f 62 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b 20  /b> (just think 
126e0 61 62 6f 75 74 20 63 6f 75 72 69 65 72 20 63 6f  about courier co
126f0 6d 70 61 6e 69 65 73 20 61 73 20 44 48 4c 2c 20  mpanies as DHL, 
12700 46 65 64 45 58 2c 20 55 50 53 20 6f 72 20 54 4e  FedEX, UPS or TN
12710 54 29 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69  T), <b>field mai
12720 6e 74 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c  ntenance</b> / <
12730 62 3e 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e  b>assistance</b>
12740 2c 20 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65  , <b>waste colle
12750 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63  ction</b>, <b>sc
12760 68 6f 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62  hoolbus</b> / <b
12770 3e 73 68 61 72 65 64 20 74 61 78 69 20 73 65 72  >shared taxi ser
12780 76 69 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62  vices</b> etc.<b
12790 72 3e 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74  r>..Many algorit
127a0 68 6d 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e  hms have been in
127b0 76 65 6e 74 65 64 20 64 75 72 69 6e 67 20 6c 61  vented during la
127c0 73 74 20 64 65 63 61 64 65 73 20 69 6e 74 65 6e  st decades inten
127d0 64 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 70  ded to produce p
127e0 72 61 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 67  ractical althoug
127f0 68 20 61 70 70 72 6f 78 69 6d 61 74 65 20 2f 20  h approximate / 
12800 69 6d 70 65 72 66 65 63 74 20 54 53 50 20 73 6f  imperfect TSP so
12810 6c 75 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61  lutions in a rea
12820 73 6f 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69  sonably short ti
12830 6d 65 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65  me...Many of the
12840 6d 20 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e  m strongly depen
12850 64 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74  d on <a href="ht
12860 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  tps://en.wikiped
12870 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72  ia.org/wiki/Heur
12880 69 73 74 69 63 22 3e 68 65 75 72 69 73 74 69 63  istic">heuristic
12890 3c 2f 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61  </a> and / or <a
128a0 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65   href="https://e
128b0 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f  n.wikipedia.org/
128c0 77 69 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22  wiki/Randomness"
128d0 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e  >randomness</a>.
128e0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56  ..<br><br>..<b>V
128f0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62  irtualRouting</b
12900 3e 20 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64  > supports two d
12910 69 66 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67  ifferent TSP alg
12920 6f 72 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a  orithms:..<ul>..
12930 3c 6c 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62  <li><b>TSP NN</b
12940 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
12950 3e 3c 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67  ><i>Nearest Neig
12960 68 62 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62  hbour</i></b>)<b
12970 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66  r>..This <a href
12980 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
12990 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
129a0 4e 65 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75  Nearest_neighbou
129b0 72 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72  r_algorithm">fir
129c0 73 74 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e  st algorithm</a>
129d0 20 69 73 20 73 74 72 61 69 67 68 74 66 6f 72 77   is straightforw
129e0 61 72 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 76  ard simple and v
129f0 65 72 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e  ery fast; it can
12a00 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c   effectively sol
12a10 76 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75  ve huge TSP solu
12a20 74 69 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 20  tions (thousand 
12a30 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72  <i>cities</i> or
12a40 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61   even more) in a
12a50 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d 65   very short time
12a60 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20  .<br>..<u>Short 
12a70 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a  description</u>:
12a80 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72  ..<ul>..<li>star
12a90 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 75  ting from the <u
12aa0 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69  ><i>base city</i
12ab0 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e  ></u> the <u><i>
12ac0 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e  salesman</i></u>
12ad0 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 3e   goes to the <u>
12ae0 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20  <i>city</i></u> 
12af0 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 3c  presenting the <
12b00 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e  i><u>lesser conn
12b10 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c  ection cost</u><
12b20 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /i>.</li>..<li>t
12b30 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69 74  he already visit
12b40 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75  ed <i><u>city</u
12b50 3e 3c 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c  ></i> is cancell
12b60 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74  ed from the list
12b70 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c  , and then the <
12b80 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69  u><i>salesman</i
12b90 3e 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68  ></u> goes to th
12ba0 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74  e next <u><i>cit
12bb0 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e  y</i></u> presen
12bc0 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c  ting the <i><u>l
12bd0 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e  esser connection
12be0 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f   cost</u></i>.</
12bf0 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63  li>..<li>the cyc
12c00 6c 65 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74  le continues unt
12c10 69 6c 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69  il all  <i><u>ci
12c20 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20  ties</u></i> in 
12c30 74 68 65 20 6c 69 73 74 20 68 61 76 65 20 62 65  the list have be
12c40 65 6e 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e  en visited.</li>
12c50 0d 0a 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74  ..<li>finally, t
12c60 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61  he <u><i>salesma
12c70 6e 3c 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e  n</i></u> return
12c80 73 20 74 6f 20 68 69 73 2f 68 65 72 20 69 6e 69  s to his/her ini
12c90 74 69 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20  tial <u><i>base 
12ca0 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69  city</i></u></li
12cb0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74  >..</ul>..<u>Not
12cc0 65 3c 2f 75 3e 20 69 74 27 73 20 76 65 72 79 20  e</u> it's very 
12cd0 75 6e 6c 69 6b 65 20 74 68 61 74 20 54 53 50 20  unlike that TSP 
12ce0 4e 4e 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 68  NN could find th
12cf0 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e  e <b>optimal</b>
12d00 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69   solution, but i
12d10 74 20 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 69  t can quickly fi
12d20 6e 64 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62  nd some reasonab
12d30 6c 65 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74  le <b>approximat
12d40 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28  e</b> solution (
12d50 3c 69 3e 66 65 77 20 69 73 20 73 75 72 65 6c 79  <i>few is surely
12d60 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74   better than not
12d70 68 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a  hing</i>).<br>..
12d80 49 6e 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75  In the most unlu
12d90 63 6b 79 20 63 61 73 65 20 54 53 50 20 4e 4e 20  cky case TSP NN 
12da0 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 72  could possibly r
12db0 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72  eturn the <b>wor
12dc0 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c  st solution</b>,
12dd0 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66 69   but the specifi
12de0 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  c implementation
12df0 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72 74   adopted by Virt
12e00 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b  ualRouting check
12e10 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 70  s against this p
12e20 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c  ossibility:..<ul
12e30 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20  >..<li>each TSP 
12e40 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d  NN is always com
12e50 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20 72  puted twice by r
12e60 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67  andomly choosing
12e70 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e   a different <u>
12e80 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e  <i>base city</i>
12e90 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f  </u> and then no
12ea0 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f  rmalizing the so
12eb0 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74  lution; the best
12ec0 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75   of the two solu
12ed0 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65  tions is then re
12ee0 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  turned.</li>..<l
12ef0 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 20 62 75  i>this simple bu
12f00 74 20 65 66 66 65 63 74 69 76 65 20 70 72 65 63  t effective prec
12f10 61 75 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20  aution robustly 
12f20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65  ensures that the
12f30 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69   <b>worst soluti
12f40 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65  on</b> will neve
12f50 72 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 61  r be returned, a
12f60 6e 64 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 20  nd just implies 
12f70 61 20 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e 63  a moderately inc
12f80 72 65 61 73 65 64 20 65 78 65 63 75 74 69 6f 6e  reased execution
12f90 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75   time.</li>..</u
12fa0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  l></li>..<li><b>
12fb0 54 53 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61  TSP GA</b> (<i>a
12fc0 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e  ka</i> <b><i>Gen
12fd0 65 74 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f  etic Algorithm</
12fe0 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68  i></b>).<br>..Th
12ff0 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  is <a href="http
13000 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
13010 2e 6f 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69  .org/wiki/Geneti
13020 63 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74  c_algorithm">alt
13030 65 72 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 74  ernative algorit
13040 68 6d 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d  hm</a> is much m
13050 6f 72 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20  ore complex and 
13060 73 6f 70 68 69 73 74 69 63 61 74 65 64 2c 20 61  sophisticated, a
13070 6e 64 20 69 73 20 64 69 72 65 63 74 6c 79 20 69  nd is directly i
13080 6e 73 70 69 72 65 64 20 62 79 20 62 69 6f 6c 6f  nspired by biolo
13090 67 69 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 73  gical concepts s
130a0 75 63 68 20 61 73 20 3c 62 3e 73 65 78 75 61 6c  uch as <b>sexual
130b0 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62   reproduction</b
130c0 3e 2c 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75  >, <b>genetic mu
130d0 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20  tations</b> and 
130e0 3c 62 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63  <b>natural selec
130f0 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c  tion</b>.<br>..<
13100 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69 70 74  u>Short descript
13110 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  ion</u>:..<ul>..
13120 3c 6c 69 3e 61 20 66 69 72 73 74 20 69 6e 69 74  <li>a first init
13130 69 61 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 74  ial set of solut
13140 69 6f 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20  ions (<i><u>the 
13150 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f  population</u></
13160 69 3e 29 20 69 73 20 63 72 65 61 74 65 64 20 62  i>) is created b
13170 79 20 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 61  y using TSP NN a
13180 66 74 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68  fter randomly ch
13190 6f 6f 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69  oosing the <u><i
131a0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f  >base city</i></
131b0 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d  u> and then norm
131c0 61 6c 69 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c  alizing each sol
131d0 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  ution.</li>..<li
131e0 3e 74 68 65 6e 20 64 75 72 69 6e 67 20 65 61 63  >then during eac
131f0 68 20 73 74 65 70 20 6f 66 20 74 68 65 20 65 78  h step of the ex
13200 65 63 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69  ecution loop (<i
13210 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f  ><u>generation</
13220 75 3e 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f 66  u></i>) pairs of
13230 20 73 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75   solutions <i><u
13240 3e 73 65 78 75 61 6c 6c 79 20 72 65 70 72 6f 64  >sexually reprod
13250 75 63 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76  uces</i></u> giv
13260 69 6e 67 20 62 69 72 74 68 20 74 6f 20 3c 75 3e  ing birth to <u>
13270 3c 69 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75  <i>children solu
13280 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72  tions</i></u>; r
13290 65 70 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 73  eproduction is s
132a0 75 62 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e  ubject to <u><i>
132b0 63 68 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73  chromosome cross
132c0 6f 76 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e  overs</i></u> an
132d0 64 20 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d  d <i><u>random m
132e0 75 74 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e  utation</u></i>.
132f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65  </li>..<li>for e
13300 61 63 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61  ach <i><u>genera
13310 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65  tion</u></i> the
13320 20 3c 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73   <i><u>natural s
13330 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  election</u></i>
13340 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20   eliminates all 
13350 70 6f 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 76  poorly fit indiv
13360 69 64 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 20  iduals from the 
13370 3c 75 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e  <u><i>population
13380 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e  </i></u> and con
13390 73 65 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74  sequently only t
133a0 68 65 20 62 65 73 74 20 66 69 74 20 69 6e 64 69  he best fit indi
133b0 76 69 64 75 61 6c 73 20 63 61 6e 20 66 75 72 74  viduals can furt
133c0 68 65 72 20 70 72 6f 70 61 67 61 74 65 20 74 68  her propagate th
133d0 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65  eir <u><i>genome
133e0 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20  </i></u> to the 
133f0 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72  next <u><i>gener
13400 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f  ation</i></u>.</
13410 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61  li>..<li>after a
13420 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20   certain number 
13430 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74  of <i><u>generat
13440 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65  ions</i></u> (le
13450 74 27 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f  t's say about so
13460 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69 74 65  me hundredth ite
13470 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e  rations) the <b>
13480 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e  optimal solution
13490 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73  </b> (or at leas
134a0 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f  t a <b>fairly go
134b0 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73  od sub-optimal s
134c0 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f  olution</b>) sho
134d0 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72  uld finally emer
134e0 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c  ge, and so the l
134f0 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c  oop can exit.</l
13500 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
13510 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  <li><u>Note</u>:
13520 20 54 53 50 20 47 41 20 69 73 20 75 73 75 61 6c   TSP GA is usual
13530 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f 20 69  ly expected to i
13540 64 65 6e 74 69 66 79 20 62 65 74 74 65 72 20 73  dentify better s
13550 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53  olutions than TS
13560 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74  P NN can do, but
13570 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20   it will surely 
13580 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72  require much mor
13590 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65  e time to comple
135a0 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e  te.</li> ..</ul>
135b0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27  ..<br><br>..Let'
135c0 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20  s now examine a 
135d0 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c  practical exampl
135e0 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67  e of TSP solving
135f0 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f   using VirtualRo
13600 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74  uting. ..<verbat
13610 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
13620 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20 3d  ot SET Request =
13630 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43   'TSP';....SELEC
13640 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
13650 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44  uest, Options, D
13660 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49  elimiter, RouteI
13670 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
13680 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
13690 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
136a0 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
136b0 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
136c0 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f  t..WHERE NodeFro
136d0 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  m = 178731 AND N
136e0 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c  odeTo = '183286,
136f0 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38  181999,184030,18
13700 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c  3882,178754';..<
13710 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69  /verbatim>..A Vi
13720 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e  rtualRouting <b>
13730 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61  TSP</b> query ha
13740 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74  s the same ident
13750 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c  ical form of a <
13760 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  b>multi-destinat
13770 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74  ion</b> query; t
13780 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69  he <i><u>base ci
13790 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77  ty<u></i> is alw
137a0 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f 20  ays expected to 
137b0 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62  correspond to <b
137c0 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
137d0 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c  d all other <i><
137e0 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e  u>cities</u></i>
137f0 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 20 61   to be visited a
13800 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62  re expected to b
13810 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74  e enumerated int
13820 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73  o a <b>multi-des
13830 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73  tination</b> lis
13840 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62  t assigned to <b
13850 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75  >NodeTo</b>...<u
13860 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d  >Note</u>: you m
13870 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73  ust explicitly s
13880 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c  et the current <
13890 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73  b>Request</b> as
138a0 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e   <b>TSP</b>, <b>
138b0 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62  TSP NN</b> or <b
138c0 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50  >TSP GA</b> (TSP
138d0 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20   and TSP NN are 
138e0 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e  synonyms)...<br>
138f0 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
13900 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
13910 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
13920 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
13930 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
13940 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13950 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
13960 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13970 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73  "#d0d0a0">Reques
13980 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
13990 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
139a0 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
139b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65  lor="#d0d0a0">De
139c0 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20  limiter</th><th 
139d0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
139e0 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74  ">RouteId</th><t
139f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13a00 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68  a0">RouteRow</th
13a10 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13a20 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e  0d0a0">Role</th>
13a30 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13a40 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c  d0a0">LinkRowid<
13a50 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13a60 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72  "#d0d0a0">NodeFr
13a70 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
13a80 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
13a90 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eTo</th><th bgco
13aa0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
13ab0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
13ac0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
13ad0 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67  metry</th><th bg
13ae0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13af0 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  Name</th></tr>..
13b00 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74  <tr>..<td>Dijkst
13b10 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e  ra</td><td>TSP N
13b20 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f  N</td><td>Full</
13b30 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65  td><td>, &#91;de
13b40 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33  c=44, hex=2c&#93
13b50 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  ;</td><td align=
13b60 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
13b70 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13b80 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f  0</td><td>TSP So
13b90 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e  lution</td><td>N
13ba0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
13bb0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
13bc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13bd0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
13be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13bf0 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c  ht">1254.433933<
13c00 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
13c10 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  2000 GEOMETRY</t
13c20 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
13c30 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
13c40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13c50 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13c60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64  </td><td>NULL<td
13c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13c80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13c90 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
13ca0 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
13cb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
13cc0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
13cd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13ce0 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
13cf0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13d00 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f  ht">176.364755</
13d10 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33  td><td>BLOB sz=3
13d20 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  04 GEOMETRY</td>
13d30 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
13d40 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
13d50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13d60 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13d70 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13d80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13d90 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
13da0 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
13db0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
13dc0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
13dd0 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
13de0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
13df0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
13e00 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
13e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13e20 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
13e30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13e40 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
13e50 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
13e60 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d  tr>..<tr>..<tr>.
13e70 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13e80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13e90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13ea0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13eb0 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
13ec0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
13ed0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
13ee0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13ef0 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c  ht">224862</td><
13f00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13f10 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
13f20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
13f30 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2043</td><td ali
13f40 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39  gn="right">37.09
13f50 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5287</td><td>NUL
13f60 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
13f70 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
13f80 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
13f90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
13fa0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13fb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13fc0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13fd0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
13fe0 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
13ff0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14000 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14010 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61  226070</td><td a
14020 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
14030 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  043</td><td alig
14040 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
14050 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14060 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34  right">44.457044
14070 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14080 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e  d><td>PIAZZA SAN
14090 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d  T'AGOSTINO</td>.
140a0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
140b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
140c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
140d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
140e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
140f0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
14100 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
14110 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
14120 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14130 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14140 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  84030</td><td al
14150 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
14160 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
14170 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34  ="right">139.114
14180 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  938</td><td>BLOB
14190 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59   sz=496 GEOMETRY
141a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
141b0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
141c0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
141d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
141e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
141f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14200 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
14210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14220 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14230 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14240 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c  ht">226071</td><
14250 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14260 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
14270 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14280 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2629</td><td ali
14290 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38  gn="right">55.68
142a0 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9009</td><td>NUL
142b0 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49  L</td><td>VIA GI
142c0 55 53 45 50 50 45 20 47 41 52 49 42 41 4c 44 49  USEPPE GARIBALDI
142d0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
142e0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
142f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14300 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14310 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14320 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14330 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14340 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
14350 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14360 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74  right">225512</t
14370 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14380 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c  ht">182629</td><
14390 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
143a0 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20  >182933</td><td 
143b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34  align="right">34
143c0 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e  .184194</td><td>
143d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
143e0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
143f0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14400 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14410 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14420 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14430 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14440 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">3</td><td ali
14450 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
14460 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14470 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14480 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61  225511</td><td a
14490 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
144a0 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  933</td><td alig
144b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
144c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
144d0 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35  right">49.241735
144e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
144f0 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
14500 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
14510 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
14520 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14530 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14540 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
14550 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
14560 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14570 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
14580 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
14590 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
145a0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
145b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
145c0 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
145d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
145e0 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e  >217.672885</td>
145f0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20  <td>BLOB sz=688 
14600 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
14610 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
14620 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14630 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14640 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14650 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14660 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
14670 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14680 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
14690 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
146a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36  ign="right">2226
146b0 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  35</td><td align
146c0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
146d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
146e0 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64  ight">181998</td
146f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14700 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74  t">101.629750</t
14710 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14720 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
14730 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14740 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14760 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14770 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14780 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
14790 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
147a0 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
147b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
147c0 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64  ight">224780</td
147d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
147e0 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74  t">181998</td><t
147f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14800 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61  183560</td><td a
14810 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e  lign="right">73.
14820 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e  733572</td><td>N
14830 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
14840 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c  DELL'ANFITEATRO<
14850 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14860 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14870 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14880 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14890 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  LL<td align="rig
148a0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">4</td><td al
148b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
148c0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
148d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
148e0 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20  >225827</td><td 
148f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14900 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3560</td><td ali
14910 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
14920 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
14930 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36  "right">42.30956
14940 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
14950 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27  td><td>VIA DELL'
14960 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d  ANFITEATRO</td>.
14970 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
14980 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14990 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
149a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
149b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
149c0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">4</td><td al
149d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
149e0 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
149f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14a00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14a10 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
14a20 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
14a30 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
14a40 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33  ="right">378.313
14a50 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  684</td><td>BLOB
14a60 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59   sz=272 GEOMETRY
14a70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14a80 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14a90 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14aa0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14ab0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14ac0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14ad0 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64  right">5</td><td
14ae0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14af0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14b00 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14b10 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c  ht">224414</td><
14b20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14b30 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
14b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14b50 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8880</td><td ali
14b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33  gn="right">136.3
14b70 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  72057</td><td>NU
14b80 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
14b90 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
14ba0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
14bb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14bc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14bd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14bf0 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">5</td><td al
14c00 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
14c10 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
14c20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14c30 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20  >219171</td><td 
14c40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14c50 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8880</td><td ali
14c60 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
14c70 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
14c80 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33  "right">93.28553
14c90 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
14ca0 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
14cb0 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
14cc0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14cd0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14ce0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14cf0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14d00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14d10 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
14d20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14d30 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14d40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14d50 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
14d60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14d70 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
14d80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
14d90 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
14da0 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36  ="right">148.656
14db0 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  089</td><td>NULL
14dc0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
14dd0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
14de0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14df0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14e00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14e10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14e20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14e30 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64  right">5</td><td
14e40 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
14e50 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
14e60 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14e70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14e80 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
14e90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14ea0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
14eb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e  ign="right">188.
14ec0 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42  216831</td><td>B
14ed0 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45  LOB sz=400 GEOME
14ee0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
14ef0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14f00 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14f10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14f20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14f30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14f40 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
14f50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14f60 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
14f70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14f80 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74  right">224538</t
14f90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14fa0 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
14fb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14fc0 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20  >181972</td><td 
14fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30  align="right">50
14fe0 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e  .900663</td><td>
14ff0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
15000 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e   ANTONIO GUADAGN
15010 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OLI</td>..</tr>.
15020 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15030 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15040 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15050 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64  d>NULL</td>..<td
15060 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
15070 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15080 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
15090 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
150a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35  ign="right">2245
150b0 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  37</td><td align
150c0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c  ="right">181972<
150d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
150e0 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
150f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15100 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64  t">86.301051</td
15110 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15120 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f  d>VIA DEL NINFEO
15130 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
15140 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
15150 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15160 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15170 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
15180 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
15190 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
151a0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
151b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
151c0 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74  right">225527</t
151d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
151e0 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
151f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15200 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
15210 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31  align="right">51
15220 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e  .015117</td><td>
15230 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
15240 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c   LICIO NENCETTI<
15250 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
15260 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
15270 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15280 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
15290 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
152a0 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c  ="right">6</td><
152b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
152c0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
152d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64  </td><td>NULL<td
152e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
152f0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
15300 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
15310 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
15320 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30  ="right">154.750
15330 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  839</td><td>BLOB
15340 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59   sz=240 GEOMETRY
15350 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15360 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
15370 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
15380 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15390 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
153a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
153b0 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64  right">7</td><td
153c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
153d0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
153e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
153f0 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c  ht">225527</td><
15400 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15410 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
15420 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
15430 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
15440 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31  gn="right">51.01
15450 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5117</td><td>NUL
15460 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49  L</td><td>VIA LI
15470 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64  CIO NENCETTI</td
15480 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
15490 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
154a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
154b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
154c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
154d0 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20  ight">7</td><td 
154e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
154f0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
15500 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15510 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74  t">222636</td><t
15520 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15530 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
15540 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
15550 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
15560 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33  n="right">103.73
15570 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5722</td><td>NUL
15580 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
15590 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
155a0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
155b0 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  e>..<br>..Let's 
155c0 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d  now quickly exam
155d0 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65  ine the resultse
155e0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e  t returned by an
155f0 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75  y TSP query:..<u
15600 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65  l>..<li>the gene
15610 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f  ral layout is mo
15620 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73  re or less the s
15630 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c  ame as you've al
15640 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68  ready seen in th
15650 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f  e case of <b>Sho
15660 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75  rtestPath</b> qu
15670 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eries.</li>..<li
15680 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f  >the <b>first ro
15690 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73  w</b> of the res
156a0 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61  ultset is somewa
156b0 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61  y exceptional, a
156c0 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75 65  nd is the unique
156d0 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75   row of the resu
156e0 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67  ltset presenting
156f0 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e   <b>NOT NULL</b>
15700 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c   values in the <
15710 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c  b>Algorithm</b>,
15720 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c   <b>Request</b>,
15730 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20   <b>Options</b> 
15740 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72  and <b>Delimiter
15750 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72  </b> columns.<br
15760 3e 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74  >..It contains t
15770 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69  he <b>TSP soluti
15780 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c  on</b> as a whol
15790 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73  e: column <b>Cos
157a0 74 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e  t</b> is the <u>
157b0 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61  total cost</u> a
157c0 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f  nd column <b>Geo
157d0 6d 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65  metry</b> is the
157e0 20 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75   <u>overall solu
157f0 74 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f  tion path</u>.</
15800 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73  li>..<li>columns
15810 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20   <b>RouteId</b> 
15820 61 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c  and <b>RouteRow<
15830 2f 62 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d  /b> have the sam
15840 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e  e interpretation
15850 20 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d   as in <b>multi-
15860 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
15870 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65  testPath</b> que
15880 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69  ries, but in thi
15890 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20  s specific case 
158a0 65 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65  each <u><i>route
158b0 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70  </i></u> corresp
158c0 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63  onds to a connec
158d0 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f  tion between two
158e0 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75   <i><u>cities</u
158f0 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20  ></i>.<br>..All 
15900 3c 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e  <i><u>routes</u>
15910 3c 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61  </i> are order a
15920 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68  ccordingly to th
15930 65 20 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e  e running sequen
15940 63 65 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f  ce of the TSP so
15950 6c 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65  lution. <b>Route
15960 49 64 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66  Id=0</b> identif
15970 69 65 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20  ies the overall 
15980 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c  TSP solution.</l
15990 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72  i>..</ul><br><br
159a0 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  >..<verbatim>..U
159b0 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
159c0 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 20   Request = 'TSP 
159d0 47 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41  GA';....SELECT A
159e0 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
159f0 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
15a00 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
15a10 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
15a20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
15a30 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
15a40 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
15a50 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
15a60 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
15a70 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
15a80 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31  To = '183286,181
15a90 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38  999,184030,18388
15aa0 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65  2,178754';..</ve
15ab0 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20  rbatim>..If you 
15ac0 77 69 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62  wish to get a <b
15ad0 3e 54 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75  >TSP GA</b> solu
15ae0 74 69 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20  tion you simple 
15af0 68 61 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52  have to set <b>R
15b00 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62  equest</b> as <b
15b10 3e 54 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64  >TSP GA</b>; and
15b20 20 79 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61   you can set aga
15b30 69 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62  in <b>Request</b
15b40 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20  > as <b>TSP</b> 
15b50 6f 72 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e  or <b>TSP NN</b>
15b60 20 74 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20   to revert back 
15b70 74 6f 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f  to the simpler /
15b80 20 66 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68   faster algorith
15b90 6d 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69  m...<br>..Also i
15ba0 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 54 53  n the case of TS
15bb0 50 20 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75  P you can eventu
15bc0 61 6c 6c 79 20 61 63 74 69 76 61 74 65 20 74 68  ally activate th
15bd0 65 20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f  e usual <b>Optio
15be0 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65  ns</b> already e
15bf0 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20  xplained in the 
15c00 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78 61  ShortestPath exa
15c10 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  mples.<br>..<u>N
15c20 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62  ote</u>:TSP prob
15c30 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73  lems will always
15c40 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65   imply using the
15c50 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f   <b>Dijkstra's</
15c60 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76  b> algorithm, ev
15c70 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65  en when the alte
15c80 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62  rnative <b>A*</b
15c90 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63  > algorithm is c
15ca0 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65  urrently selecte
15cb0 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  d...<verbatim>..
15cc0 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
15cd0 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50  T Request = 'TSP
15ce0 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f  ', Options = 'NO
15cf0 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45   LINKS';....SELE
15d00 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65  CT Algorithm, Re
15d10 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20  quest, Options, 
15d20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65  Delimiter, Route
15d30 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  Id, RouteRow, Ro
15d40 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
15d50 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
15d60 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
15d70 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
15d80 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
15d90 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
15da0 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36  NodeTo = '183286
15db0 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31  ,181999,184030,1
15dc0 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
15dd0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65  </verbatim>..The
15de0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65   following table
15df0 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c   shows the resul
15e00 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
15e10 20 74 68 65 20 73 61 6d 65 20 54 53 50 20 71 75   the same TSP qu
15e20 65 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20  ery used in the 
15e30 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
15e40 20 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20   after enabling 
15e50 74 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c  the <b>NO LINKS<
15e60 2f 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e  /b> option. <br>
15e70 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
15e80 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
15e90 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
15ea0 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
15eb0 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
15ec0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
15ed0 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
15ee0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
15ef0 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73  "#d0d0a0">Reques
15f00 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
15f10 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
15f20 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
15f30 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65  lor="#d0d0a0">De
15f40 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20  limiter</th><th 
15f50 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
15f60 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74  ">RouteId</th><t
15f70 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
15f80 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68  a0">RouteRow</th
15f90 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
15fa0 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e  0d0a0">Role</th>
15fb0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
15fc0 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c  d0a0">LinkRowid<
15fd0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
15fe0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72  "#d0d0a0">NodeFr
15ff0 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
16000 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
16010 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eTo</th><th bgco
16020 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
16030 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
16040 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
16050 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67  metry</th><th bg
16060 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
16070 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  Name</th></tr>..
16080 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74  <tr>..<td>Dijkst
16090 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e  ra</td><td>TSP N
160a0 4e 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e  N</td><td>No Lin
160b0 6b 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39  ks</td><td>, &#9
160c0 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63  1;dec=44, hex=2c
160d0 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c  &#93;</td><td al
160e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
160f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16100 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53  ht">0</td><td>TS
16110 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c  P Solution</td><
16120 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
16130 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
16140 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
16150 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
16160 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
16170 22 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33  "right">1254.433
16180 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  933</td><td>BLOB
16190 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52   sz=2000 GEOMETR
161a0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
161b0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
161c0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
161d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
161e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
161f0 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  L<td align="righ
16200 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">1</td><td ali
16210 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
16220 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
16230 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
16240 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
16250 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
16260 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
16270 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
16280 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37  "right">176.3647
16290 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  55</td><td>BLOB 
162a0 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c  sz=304 GEOMETRY<
162b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
162c0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
162d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
162e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
162f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16300 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16310 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
16320 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16330 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16340 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16350 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
16360 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
16370 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
16380 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16390 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38  ight">139.114938
163a0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
163b0 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =496 GEOMETRY</t
163c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
163d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
163e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
163f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16400 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16410 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16420 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
16430 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
16440 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
16450 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16460 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16470 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
16480 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
16490 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
164a0 3d 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32  ="right">217.672
164b0 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  885</td><td>BLOB
164c0 20 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59   sz=688 GEOMETRY
164d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
164e0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
164f0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
16500 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16510 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16520 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16530 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
16540 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
16550 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
16560 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16570 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16580 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
16590 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
165a0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
165b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e  ign="right">378.
165c0 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42  313684</td><td>B
165d0 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45  LOB sz=272 GEOME
165e0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
165f0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
16600 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
16610 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16620 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16630 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
16640 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
16650 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16660 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
16670 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
16680 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16690 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
166a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
166b0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
166c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
166d0 38 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74  88.216831</td><t
166e0 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45  d>BLOB sz=400 GE
166f0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
16700 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
16710 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
16720 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16730 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16740 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16750 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
16760 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16770 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
16780 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
16790 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
167a0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f  "right">183882</
167b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
167c0 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
167d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
167e0 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64  ">154.750839</td
167f0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30  ><td>BLOB sz=240
16800 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
16810 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
16820 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
16830 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20  r><br><br>..The 
16840 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69  map below graphi
16850 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20  cally shows the 
16860 70 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c  previous <b>TSP<
16870 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62  /b> queries...<b
16880 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63  r><br>..<img src
16890 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
168a0 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73  ia-gis.it/gaia-s
168b0 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73  ins/routing-figs
168c0 2f 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22  /tsp1.jpg" alt="
168d0 66 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  fig4">..<ul>..<l
168e0 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20  i>Red star: the 
168f0 3c 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c  <u><i>base-city<
16900 2f 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68  /i></u> (from wh
16910 65 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61  ere the <u><i>sa
16920 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20  lesman</i></u>) 
16930 62 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74  begins his/her t
16940 72 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47  rip.</li>..<li>G
16950 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c  reen dots: the <
16960 75 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c  u><i>cities</i><
16970 2f 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65  /u> to be visite
16980 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c  d.</li>..<li>Yel
16990 6c 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53  low line: the TS
169a0 50 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74  P solution (that
169b0 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 69 72   is always a cir
169c0 63 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69  cular path).</li
169d0 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74  >..</ul><br>..<t
169e0 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
169f0 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
16a00 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
16a10 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
16a20 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68  ..<h3>Warning: h
16a30 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  ow to correctly 
16a40 68 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73  handling TSP res
16a50 75 6c 74 73 65 74 73 20 77 69 74 68 20 73 70 61  ultsets with spa
16a60 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e  tialite_gui</h3>
16a70 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76  ..You should nev
16a80 65 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65  er forget or ove
16a90 72 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20  rlook that both 
16aa0 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e  <b>TSP NN</b> an
16ab0 64 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20  d <b>TSP GA</b> 
16ac0 61 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73  are <u><i>heuris
16ad0 74 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f  tic algorithms</
16ae0 69 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72  i></u> heavily r
16af0 65 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e  elying on <u><i>
16b00 72 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68  random<i></u> ch
16b10 6f 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73  oices.<br>..This
16b20 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61   could easily ha
16b30 76 65 20 74 68 65 20 70 72 61 63 74 69 63 61 6c  ve the practical
16b40 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61   consequence tha
16b50 74 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63  t resolving twic
16b60 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20  e (or even more 
16b70 74 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20  times) the same 
16b80 69 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75  identical TSP qu
16b90 65 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75  ery could eventu
16ba0 61 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66  ally return diff
16bb0 65 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73  erent resultsets
16bc0 2e 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20  .<br>..There is 
16bd0 6e 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69  nothing intrinsi
16be0 63 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74  cally wrong in t
16bf0 68 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69  his, it simply i
16c00 73 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65  s a direct conse
16c10 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20  quence of using 
16c20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73  <u><i>randomness
16c30 3c 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65  </i></u>; we are
16c40 20 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69   simply bargaini
16c50 6e 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c  ng <b>exactness<
16c60 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f  /b> and <b>repro
16c70 64 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66  ducibility</b> f
16c80 6f 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c  or <b>quickness<
16c90 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  /b>.<br><br>..<b
16ca0 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c  >spatialite_gui<
16cb0 2f 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61  /b> on its own a
16cc0 64 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64  dopts a <b>paged
16cd0 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68   strategy</b> wh
16ce0 65 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20  en showing huge 
16cf0 72 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73  resultsets; this
16d00 20 72 65 71 75 69 72 65 73 20 72 65 70 65 61 74   requires repeat
16d10 69 6e 67 20 61 67 61 69 6e 20 74 68 65 20 69 6e  ing again the in
16d20 69 74 69 61 6c 20 53 51 4c 20 71 75 65 72 79 20  itial SQL query 
16d30 65 61 63 68 20 74 69 6d 65 20 74 68 61 74 20 61  each time that a
16d40 20 3c 62 3e 6e 65 77 20 70 61 67 65 20 6f 66 20   <b>new page of 
16d50 35 30 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73  500 rows</b> has
16d60 20 74 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20   to be shown on 
16d70 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64  the current wind
16d80 6f 77 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54  ow panel.<br>..T
16d90 68 65 20 74 77 6f 20 74 68 69 6e 67 73 20 64 6f  he two things do
16da0 6e 27 74 20 67 6f 20 74 6f 67 65 74 68 65 72 20  n't go together 
16db0 77 65 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62  well; so don't b
16dc0 65 20 73 75 72 70 72 69 73 65 64 20 77 68 65 6e  e surprised when
16dd0 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 69 73 63   eventually disc
16de0 6f 76 65 72 69 6e 67 20 74 68 61 74 20 3c 62 3e  overing that <b>
16df0 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f  spatialite_gui</
16e00 62 3e 20 77 69 6c 6c 20 62 65 68 61 76 65 20 62  b> will behave b
16e10 69 7a 61 72 72 65 6c 79 20 77 68 69 6c 65 20 70  izarrely while p
16e20 72 65 73 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72  resenting some r
16e30 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
16e40 64 20 62 79 20 61 20 54 53 50 20 71 75 65 72 79  d by a TSP query
16e50 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  . ..<verbatim>..
16e60 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
16e70 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50  T Request = 'TSP
16e80 27 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 54 41 42  ';....CREATE TAB
16e90 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69  LE my_tsp_soluti
16ea0 6f 6e 20 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c  on AS..SELECT Al
16eb0 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
16ec0 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d  , Options, Delim
16ed0 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52  iter, RouteId, R
16ee0 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
16ef0 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
16f00 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
16f10 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
16f20 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
16f30 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
16f40 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
16f50 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39  o = '183286,1819
16f60 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32  99,184030,183882
16f70 2c 31 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e  ,178754';.......
16f80 20 20 3c 6e 6f 77 20 71 75 65 72 79 20 22 6d 79    <now query "my
16f90 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75  _tsp_solution" u
16fa0 73 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65 5f  sing spatialite_
16fb0 67 75 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f  gui>  .......DRO
16fc0 50 20 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73  P TABLE my_tsp_s
16fd0 6f 6c 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62  olution;..</verb
16fe0 61 74 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f  atim>..<u>Hint</
16ff0 75 3e 3a 20 72 65 73 6f 6c 76 69 6e 67 20 74 68  u>: resolving th
17000 69 73 20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75  is puzzling issu
17010 65 20 69 73 20 68 6f 77 65 76 65 72 20 62 61 73  e is however bas
17020 69 63 61 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a  ically simple:..
17030 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69  <ol>..<li>you si
17040 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74 61 6b  mply have to tak
17050 65 20 61 20 3c 62 3e 73 74 61 74 69 63 20 73 6e  e a <b>static sn
17060 61 70 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f  apshot</b> of yo
17070 75 72 20 54 53 50 20 72 65 73 75 6c 74 73 65 74  ur TSP resultset
17080 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62   by using the <b
17090 3e 43 52 45 41 54 45 20 54 41 42 4c 45 20 3c 69  >CREATE TABLE <i
170a0 3e 6e 61 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e  >name</i> AS <i>
170b0 54 53 50 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e  TSP query<i></b>
170c0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e  .</li>..<li>then
170d0 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20   you can freely 
170e0 65 78 61 6d 69 6e 65 20 74 68 65 20 61 62 6f 76  examine the abov
170f0 65 20 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e  e snapshot.</li>
17100 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c  ..<li>and finall
17110 79 20 79 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c  y you can duly <
17120 62 3e 44 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73  b>DROP</b> the s
17130 6e 61 70 73 68 6f 74 20 6f 6e 63 65 20 69 74 27  napshot once it'
17140 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66  s no longer usef
17150 75 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d  ul.</li>..</ol>.
17160 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74  .</td></tr>..</t
17170 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61  able>..<br>..<ta
17180 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30  ble bgcolor="#c0
17190 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffc0" cellspacin
171a0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69  g="10" cellpaddi
171b0 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d  ng="6"><tr><td>.
171c0 0a 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20  .<h3>More about 
171d0 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69  Linear Referenci
171e0 6e 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f  ng and VirtualRo
171f0 75 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67  uting Linestring
17200 73 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76  s</h3> ..You hav
17210 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
17220 6e 20 61 20 70 72 65 76 69 6f 75 73 20 65 78 61  n a previous exa
17230 6d 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49  mple that all LI
17240 4e 45 53 54 52 49 4e 47 73 20 63 72 65 61 74 65  NESTRINGs create
17250 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74  d by VirtualRout
17260 69 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65 20  ing support the 
17270 3c 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e  <b>M</b> (<b><i>
17280 6d 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29  measure</i></b>)
17290 20 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65   coordinate inte
172a0 6e 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f  nded as a <b>pro
172b0 67 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62  gressive cost</b
172c0 3e 20 66 6f 72 20 65 61 63 68 20 76 65 72 74 65  > for each verte
172d0 78 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61  x. And you alrea
172e0 64 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79  dy know the they
172f0 20 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e   can support <b>
17300 3c 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65  <i>linear refere
17310 6e 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c  ncing</i></b> (<
17320 62 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75  b>LR</b>) SQL fu
17330 6e 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65  nctions.<br>..Le
17340 74 27 73 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75  t's now go in fu
17350 72 74 68 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68  rther depth...<h
17360 33 3e 54 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a  3>Trajectory obj
17370 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e  ects</h3>..A <b>
17380 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69  Trajectory</b> i
17390 73 20 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67  s any Linestring
173a0 20 73 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d   supporting <b>M
173b0 20 63 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e   coordinates</b>
173c0 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f   with a continuo
173d0 75 73 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 20  usly increasing 
173e0 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73  trend.<br>..In s
173f0 69 6d 70 6c 65 72 20 77 6f 72 64 73 2c 20 74 68  impler words, th
17400 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e  e <b>M-value</b>
17410 20 6f 66 20 65 61 63 68 20 76 65 72 74 65 78 20   of each vertex 
17420 28 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74  (except the last
17430 20 6f 6e 65 29 20 6d 75 73 74 20 62 65 20 3c 62   one) must be <b
17440 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e  >lesser</b> than
17450 20 74 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20   the M-Value of 
17460 74 68 65 20 6e 65 78 74 20 76 65 72 74 65 78 2e  the next vertex.
17470 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
17480 4c 45 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74  LECT * FROM my_t
17490 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52  sp_solution WHER
174a0 45 20 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a  E ST_IsValidTraj
174b0 65 63 74 6f 72 79 28 67 65 6f 6d 65 74 72 79 29  ectory(geometry)
174c0 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   = 1;..---------
174d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c  ----------..1..<
174e0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79  /verbatim>..As y
174f0 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68  ou can easily ch
17500 65 63 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c  eck by calling <
17510 62 3e 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a  b>ST_IsValidTraj
17520 65 63 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65  ectory()</b> eve
17530 72 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 63 72  ry Linestring cr
17540 65 61 74 65 64 20 62 79 20 56 69 72 74 75 61 6c  eated by Virtual
17550 52 6f 75 74 69 6e 67 20 69 73 20 61 20 3c 62 3e  Routing is a <b>
17560 76 61 6c 69 64 20 54 72 61 6a 65 63 74 6f 72 79  valid Trajectory
17570 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  </b>...<verbatim
17580 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 54 72 61  >..SELECT ST_Tra
17590 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61  jectoryInterpola
175a0 74 65 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79  tePoint(Geometry
175b0 2c 20 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d  , 100.0)..FROM m
175c0 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a  y_tsp_solution..
175d0 57 48 45 52 45 20 52 6f 75 74 65 49 64 20 3d 20  WHERE RouteId = 
175e0 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  0;..</verbatim>.
175f0 0a 53 6f 20 79 6f 75 20 6a 75 73 74 20 68 61 76  .So you just hav
17600 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f  e to call <b>ST_
17610 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70  TrajectoryInterp
17620 6f 6c 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e  olatePoint()</b>
17630 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 72 65   in order to cre
17640 61 74 65 20 61 20 50 4f 49 4e 54 20 70 72 65 63  ate a POINT prec
17650 69 73 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e  isely located on
17660 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 20   the Linestring 
17670 61 74 20 74 68 65 20 67 69 76 65 6e 20 3c 62 3e  at the given <b>
17680 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c  cost</b>...<br><
17690 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d  br><hr><br><br>.
176a0 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 72  .The side map gr
176b0 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20  aphically shows 
176c0 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f  the estimated po
176d0 73 69 74 69 6f 6e 73 20 65 76 65 72 79 20 31 30  sitions every 10
176e0 30 6d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 20  0m assuming the 
176f0 73 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e  same path return
17700 65 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74  ed by the latest
17710 20 54 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74   TSP query...</t
17720 64 3e 3c 74 64 3e 20 20 20 20 20 20 20 20 20 20  d><td>          
17730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
177f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 0d 0a 3c               ..<
1fe70 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f  img src="https:/
1fe80 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
1fe90 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69  /gaia-sins/routi
1fea0 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70 67  ng-figs/tsp2.jpg
1feb0 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c  " alt="fig5">..<
1fec0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
1fed0 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  >..<br><br>..<hr
1fee0 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61  ><br>..<h1><a na
1fef0 6d 65 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f 6c  me="p2p">8 - Sol
1ff00 76 69 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  ving Point-to-Po
1ff10 69 6e 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e  int problems</a>
1ff20 3c 2f 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e  </h1>..A <b>Poin
1ff30 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71  t-to-Point</b> q
1ff40 75 65 72 79 20 69 73 20 76 65 72 79 20 73 69 6d  uery is very sim
1ff50 69 6c 61 72 20 74 6f 20 61 20 6d 6f 73 74 20 75  ilar to a most u
1ff60 73 75 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d 64  sual <b>single-d
1ff70 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74  estination Short
1ff80 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65  est Path</b> que
1ff90 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74 3a  ry, except that:
1ffa0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 6c  ..<ul>..<li>A cl
1ffb0 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 50  assic Shortest P
1ffc0 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69 72  ath query requir
1ffd0 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20  es to specify a 
1ffe0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
1fff0 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69  (<u><i>origin</i
20000 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e  ></u>) and a <b>
20010 4e 6f 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c  NodeTo</b> (<u><
20020 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69  i>destination</i
20030 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ></u>).</li>..<l
20040 69 3e 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  i>A Point-to-Poi
20050 6e 74 20 71 75 65 72 79 20 68 61 73 20 6d 6f 72  nt query has mor
20060 65 20 72 65 6c 61 78 65 64 20 72 65 71 75 69 73  e relaxed requis
20070 69 74 65 73 2c 20 61 6e 64 20 6a 75 73 74 20 72  ites, and just r
20080 65 71 75 69 72 65 73 20 74 6f 20 73 70 65 63 69  equires to speci
20090 66 79 20 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  fy a <b>PointFro
200a0 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69  m</b> (<u><i>ori
200b0 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64  gin</i></u>) and
200c0 20 61 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62   a <b>PointTo</b
200d0 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61  > (<u><i>destina
200e0 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62  tion</i></u>).<b
200f0 72 3e 0d 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e  r>..Both <b>Poin
20100 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65 20 66 72  ts</b> can be fr
20110 65 65 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64 20  eely positioned 
20120 65 76 65 72 79 77 68 65 72 65 20 6f 6e 20 61 20  everywhere on a 
20130 6d 61 70 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74  map, and are not
20140 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 65   required to pre
20150 63 69 73 65 6c 79 20 69 6e 74 65 72 73 65 63 74  cisely intersect
20160 20 6e 65 69 74 68 65 72 20 61 20 3c 62 3e 4e 6f   neither a <b>No
20170 64 65 3c 2f 62 3e 20 6e 6f 72 20 61 20 3c 62 3e  de</b> nor a <b>
20180 4c 69 6e 6b 3c 2f 62 3e 20 6f 66 20 74 68 65 20  Link</b> of the 
20190 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
201a0 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 6f  ork.<br>..The Po
201b0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 27 73 20 3c  int-to-Point's <
201c0 75 3e 3c 69 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f  u><i>internal lo
201d0 67 69 63 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c  gic</i></u> will
201e0 20 74 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61   then automatica
201f0 6c 6c 79 20 69 64 65 6e 74 69 66 79 20 28 69 66  lly identify (if
20200 20 70 6f 73 73 69 62 6c 65 29 20 74 68 65 20 61   possible) the a
20210 70 70 72 6f 70 72 69 61 74 65 20 4e 6f 64 65 73  ppropriate Nodes
20220 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 61   for computing a
20230 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73   Shortest Path s
20240 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75  olution.<br>..<u
20250 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 74  >Note</u>: the t
20260 77 6f 20 50 6f 69 6e 74 73 20 3c 62 3e 6d 75 73  wo Points <b>mus
20270 74 3c 2f 62 3e 20 62 65 20 69 6e 20 74 68 65 20  t</b> be in the 
20280 73 61 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62 3e  same <b>SRID</b>
20290 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79   of the underlay
202a0 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69  ing Network.</li
202b0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f  >..</ul>..<h3>Ho
202c0 77 20 69 74 20 70 72 61 63 74 69 63 61 6c 6c 79  w it practically
202d0 20 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f 6c   works</h3>..<ol
202e0 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 3c  >..<li>a first <
202f0 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61  u><i>spatial sea
20300 72 63 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73 65  rch</i></u> base
20310 64 20 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69 6e  d on the <b>Poin
20320 74 46 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61  tFrom</b> will a
20330 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69  ttempt to identi
20340 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c  fy all <b>Links<
20350 2f 62 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74 68  /b> falling with
20360 69 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 74 6f  in a given <b>to
20370 6c 65 72 61 6e 63 65 20 72 61 64 69 75 73 3c 2f  lerance radius</
20380 62 3e 20 66 72 6f 6d 20 74 68 65 20 50 6f 69 6e  b> from the Poin
20390 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73  t.</li>..<li>a s
203a0 65 63 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73 70  econd similar sp
203b0 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c  atial search wil
203c0 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65  l attempt to ide
203d0 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e  ntify all <b>Lin
203e0 6b 73 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74  ks</b> related t
203f0 6f 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f  o the <b>PointTo
20400 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
20410 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e  all <b>Nodes</b>
20420 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e   belonging to an
20430 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64  y <b>Link</b> id
20440 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20  entified by the 
20450 66 69 72 73 74 20 73 70 61 74 69 61 6c 20 73 65  first spatial se
20460 61 72 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e  arch will be con
20470 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73 69  sidered as possi
20480 62 6c 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20  ble <b>NodeFrom 
20490 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c  candidates</b>.<
204a0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79  /li>..<li>and sy
204b0 6d 6d 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c 6c  mmetrically, all
204c0 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65   <b>Nodes</b> be
204d0 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c  longing to any <
204e0 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74  b>Link</b> ident
204f0 69 66 69 65 64 20 62 79 20 74 68 65 20 73 65 63  ified by the sec
20500 6f 6e 64 20 73 70 61 74 69 61 6c 20 73 65 61 72  ond spatial sear
20510 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69  ch will be consi
20520 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c  dered as possibl
20530 65 20 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e 64  e <b>NodeTo cand
20540 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e  idates</b>.</li>
20550 0d 0a 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65 72  ..<li>a full per
20560 6d 75 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20  mutation of all 
20570 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f  Shortest Path so
20580 6c 75 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74 69  lutions connecti
20590 6e 67 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d 20  ng one the From 
205a0 63 61 6e 64 69 64 61 74 65 73 20 74 6f 20 6f 6e  candidates to on
205b0 65 20 6f 66 20 74 68 65 20 54 6f 20 63 61 6e 64  e of the To cand
205c0 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20 74  idates will be t
205d0 68 65 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c  hen computed.</l
205e0 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61  i>..<li>and fina
205f0 6c 6c 79 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d  lly the <b>optim
20600 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  al Point-to-Poin
20610 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77  t solution</b> w
20620 69 6c 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20  ill be selected 
20630 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 77  by identifying w
20640 68 69 63 68 20 73 70 65 63 69 66 69 63 20 63 61  hich specific ca
20650 6e 64 69 64 61 74 65 20 70 72 65 73 65 6e 74 73  ndidate presents
20660 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 43   the <b>lesser C
20670 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d 20  ost</b> of them 
20680 61 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  all.</li>..</ol>
20690 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
206a0 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63  olor="#ffb060" c
206b0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
206c0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
206d0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65  <tr><td>..<h3>Be
206e0 20 61 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74 74   aware</h3>..Att
206f0 65 6d 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76 65  empting to solve
20700 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
20710 71 75 65 72 69 65 73 20 73 74 72 69 63 74 6c 79  queries strictly
20720 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 61   requires that a
20730 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62  n appropriate <b
20740 3e 53 70 61 74 69 61 6c 20 49 6e 64 65 78 3c 2f  >Spatial Index</
20750 62 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76 65  b> can effective
20760 6c 79 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 4c  ly support all L
20770 69 6e 6b 73 20 6f 66 20 74 68 65 20 75 6e 64 65  inks of the unde
20780 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  rlaying Network.
20790 3c 62 72 3e 0d 0a 49 66 20 73 75 63 68 20 61 20  <br>..If such a 
207a0 72 65 71 75 69 73 69 74 65 20 69 73 20 6e 6f 74  requisite is not
207b0 20 73 61 74 69 73 66 69 65 64 20 74 68 65 20 61   satisfied the a
207c0 62 6f 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c  bove mentioned <
207d0 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61  u><i>spatial sea
207e0 72 63 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69  rches</i></u> wi
207f0 6c 6c 20 6d 69 73 65 72 61 62 6c 79 20 66 61 69  ll miserably fai
20800 6c 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e  l, and consequen
20810 74 6c 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f  tly all Point-to
20820 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77  -Point queries w
20830 69 6c 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f  ill be unable to
20840 20 69 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f   identify any po
20850 73 73 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65  ssible Candidate
20860 20 74 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64   to be evaluated
20870 2e 0d 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65  ...<h3>Always re
20880 6d 65 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72  member</h3>..Car
20890 65 66 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20  efully check if 
208a0 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 53  an appropriate S
208b0 70 61 74 69 61 6c 20 49 6e 64 65 78 20 64 6f 20  patial Index do 
208c0 72 65 61 6c 6c 79 20 65 78 69 73 74 73 20 62 65  really exists be
208d0 66 6f 72 65 20 61 74 74 65 6d 70 74 69 6e 67 20  fore attempting 
208e0 74 6f 20 65 78 65 63 75 74 65 20 61 6e 79 20 50  to execute any P
208f0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75  oint-to-Point qu
20900 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ery...<br><br>..
20910 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
20920 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  e>..<br>..<table
20930 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63   bgcolor="#c0ffc
20940 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
20950 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
20960 22 36 22 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67  "6"><tr><td alig
20970 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70  n="center" colsp
20980 61 6e 3d 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73  an="2">..<h2>Bas
20990 69 63 20 63 6f 6e 63 65 70 74 73 2c 20 74 65 63  ic concepts, tec
209a0 68 6e 69 63 61 6c 20 64 65 74 61 69 6c 73 20 61  hnical details a
209b0 6e 64 20 72 65 6c 61 74 65 64 20 67 6c 6f 73 73  nd related gloss
209c0 61 72 79 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c  ary</h2>..</td><
209d0 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a  /tr>..<tr><td>..
209e0 54 68 65 20 73 69 64 65 20 66 69 67 75 72 65 20  The side figure 
209f0 73 68 6f 77 73 20 61 20 68 79 70 6f 74 68 65 74  shows a hypothet
20a00 69 63 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  ical Point-to-Po
20a10 69 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d  int solution alm
20a20 6f 73 74 20 70 72 65 63 69 73 65 6c 79 20 62 61  ost precisely ba
20a30 73 65 64 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f  sed on the follo
20a40 77 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66  wing sequence of
20a50 20 4e 6f 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e   Nodes:<br>..<b>
20a60 3c 69 3e 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e  <i>N1-N2-N3-N4-N
20a70 35 2d 4e 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31  5-N6-N7-N8-N9-N1
20a80 30 2d 4e 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31  0-N11-N12-N13-N1
20a90 34 2d 4e 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c  4-N15</i></b>..<
20aa0 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72  br><br>..However
20ab0 2c 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73  , as you can eas
20ac0 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 72  ily notice, ther
20ad0 65 20 61 72 65 20 74 77 6f 20 73 74 72 69 6b 69  e are two striki
20ae0 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 0a  ng exceptions:..
20af0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62  <ul>..<li>The <b
20b00 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20  >first</b> Link 
20b10 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e  (connecting <b>N
20b20 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f  1</b> to <b>N2</
20b30 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c  b>) is not compl
20b40 65 74 65 6c 79 20 72 65 71 75 69 72 65 64 20 62  etely required b
20b50 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c  y the Solution.<
20b60 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d 61 6c  br>..Just a smal
20b70 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61 77 6e  l portion (drawn
20b80 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68 69 73   in red) of this
20b90 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63 74 69   Link is effecti
20ba0 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 62  vely required.<b
20bb0 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e  r>..The remainin
20bc0 67 20 70 61 72 74 20 28 64 72 61 77 6e 20 69 6e  g part (drawn in
20bd0 20 67 72 61 79 29 20 69 73 6e 27 74 20 63 6f 76   gray) isn't cov
20be0 65 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75  ered by the Solu
20bf0 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tion.</li>..<li>
20c00 45 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65  Exactly the same
20c10 20 69 73 20 66 6f 72 20 74 68 65 20 3c 62 3e 6c   is for the <b>l
20c20 61 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63 6f 6e  ast</b> Link con
20c30 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 34 3c 2f  necting <b>N14</
20c40 62 3e 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f 62 3e  b> to <b>N15</b>
20c50 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 61 74  .</li>..<li>That
20c60 27 73 20 6e 6f 74 20 61 6c 6c 3a 20 74 68 65 72  's not all: ther
20c70 65 20 61 72 65 20 74 77 6f 20 73 68 6f 72 74 20  e are two short 
20c80 73 65 67 6d 65 6e 74 73 20 28 64 72 61 77 6e 20  segments (drawn 
20c90 69 6e 20 67 72 65 65 6e 29 20 63 6f 6e 6e 65 63  in green) connec
20ca0 74 69 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c 2f 62  ting <b>Pfrom</b
20cb0 3e 20 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f 62 3e  > and <b>Pto</b>
20cc0 20 28 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 20   (<i>origin</i> 
20cd0 61 6e 64 20 3c 69 3e 64 65 73 74 69 6e 61 74 69  and <i>destinati
20ce0 6f 6e 3c 2f 69 3e 20 50 6f 69 6e 74 73 29 20 72  on</i> Points) r
20cf0 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 74  espectively to t
20d00 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20  he <b>first</b> 
20d10 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20  and <b>last</b> 
20d20 70 61 72 74 69 61 6c 20 4c 69 6e 6b 73 2e 3c 2f  partial Links.</
20d30 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
20d40 0d 0a 41 6c 6c 20 74 68 69 73 20 73 68 6f 75 6c  ..All this shoul
20d50 64 6e 27 74 20 62 65 20 75 6e 65 78 70 65 63 74  dn't be unexpect
20d60 65 64 2c 20 62 65 63 61 75 73 65 20 69 74 20 73  ed, because it s
20d70 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73  imply is the mos
20d80 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74  t obvious direct
20d90 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20   consequence of 
20da0 74 68 65 20 76 65 72 79 20 62 61 73 69 63 20 61  the very basic a
20db0 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68  ssumptions at th
20dc0 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74  e basis of Point
20dd0 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65  -to-Point querie
20de0 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65  s:..<ul>..<li>Ne
20df0 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69  ither the <b>Poi
20e00 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74  ntFrom</b> nor t
20e10 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62  he <b>PointTo</b
20e20 3e 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74  > are required t
20e30 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73  o exactly inters
20e40 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62  ect a <b>Node</b
20e50 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65  >.<br>..Conseque
20e60 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73  ntly the <b>firs
20e70 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73  t</b> and <b>las
20e80 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74  t</b> Links of t
20e90 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74  he overall Point
20ea0 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69  -to-Point Soluti
20eb0 6f 6e 20 63 6f 75 6c 64 20 62 65 20 6f 6e 6c 79  on could be only
20ec0 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c   partially invol
20ed0 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72  ved.<br>..In Vir
20ee0 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67  tualRouting jarg
20ef0 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e  on these two <u>
20f00 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73  <i>special items
20f10 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73  </i></u> are res
20f20 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64  pectively called
20f30 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
20f40 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74  Partial Link (St
20f50 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c  art)</b></li>..<
20f60 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69  li><b>Partial Li
20f70 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69  nk (End)</b></li
20f80 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a  >..</ul></li> ..
20f90 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e  <li>Both the <b>
20fa0 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e  PointFrom</b> an
20fb0 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f  d the <b>PointTo
20fc0 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d  </b> can legitim
20fd0 61 74 65 6c 79 20 68 61 76 65 20 61 6e 79 20 61  ately have any a
20fe0 72 62 69 74 72 61 72 79 20 70 6f 73 69 74 69 6f  rbitrary positio
20ff0 6e 20 61 6e 64 20 61 72 65 20 6e 65 76 65 72 20  n and are never 
21000 72 65 71 75 69 72 65 64 20 74 6f 20 65 78 61 63  required to exac
21010 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20 61 20  tly intersect a 
21020 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62 72 3e  <b>Link</b>.<br>
21030 0d 0a 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c  ..This can easil
21040 79 20 69 6d 70 6c 79 20 74 68 61 74 20 61 6e 20  y imply that an 
21050 3c 75 3e 3c 69 3e 65 78 74 72 61 20 73 68 6f 72  <u><i>extra shor
21060 74 20 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20 63 6f  t leg</i></u> co
21070 75 6c 64 20 62 65 20 72 65 71 75 69 72 65 64 20  uld be required 
21080 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 6e 6e  in order to conn
21090 65 63 74 20 74 68 65 20 46 72 6f 6d 2f 54 6f 20  ect the From/To 
210a0 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 63 6f  Points to the co
210b0 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b  rresponding Link
210c0 73 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 75 74  s.<br>..In Virut
210d0 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e  alRouting jargon
210e0 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69   these two <u><i
210f0 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f  >special items</
21100 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65  i></u> are respe
21110 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d  ctively called:.
21120 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e  .<ul>..<li><b>In
21130 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f  gress Path</b></
21140 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65  li>..<li><b>Egre
21150 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e  ss Path</b></li>
21160 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c  ..</ul></li> ..<
21170 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  li><u>Note</u>: 
21180 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 69 73 20  none of them is 
21190 61 20 73 74 72 69 63 74 6c 79 20 6d 61 6e 64 61  a strictly manda
211a0 74 6f 72 79 20 69 74 65 6d 3a 0d 0a 3c 75 6c 3e  tory item:..<ul>
211b0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 49 6e 67  ..<li>the <b>Ing
211c0 72 65 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20  ress</b> and/or 
211d0 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c  <b>Egress Paths<
211e0 2f 62 3e 20 61 72 65 20 6e 6f 74 20 72 65 71 75  /b> are not requ
211f0 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f  ired when the co
21200 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e  rresponding Poin
21210 74 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73  t exactly inters
21220 65 63 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f 6c 69  ects a Link.</li
21230 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61  >..<li><b>Partia
21240 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65 69 74  l Links</b> (eit
21250 68 65 72 20 3c 62 3e 28 53 74 61 72 74 29 3c 2f  her <b>(Start)</
21260 62 3e 20 6f 72 20 3c 62 3e 28 45 6e 64 28 3c 2f  b> or <b>(End(</
21270 62 3e 29 20 61 72 65 20 6e 65 76 65 72 20 72 65  b>) are never re
21280 71 75 69 72 65 64 20 77 68 65 6e 20 74 68 65 20  quired when the 
21290 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f  corresponding Po
212a0 69 6e 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63  int exactly matc
212b0 68 65 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c 69 3e  hes a Node.</li>
212c0 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ..</ul></li>..</
212d0 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e  ul>..</td>..<td>
212e0 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
212f0 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
21300 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
21310 75 74 69 6e 67 2d 66 69 67 73 2f 70 32 70 2d 73  uting-figs/p2p-s
21320 74 72 75 63 74 2e 70 6e 67 22 20 61 6c 74 3d 22  truct.png" alt="
21330 70 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f  p2p-struct">..</
21340 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74  td></tr>..<tr><t
21350 64 3e 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d 70 72  d>..A more compr
21360 65 68 65 6e 73 69 76 65 20 61 6e 64 20 64 65 74  ehensive and det
21370 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f  ailed explanatio
21380 6e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73  n based on the s
21390 69 64 65 20 66 69 67 75 72 65 3a 0d 0a 3c 75 6c  ide figure:..<ul
213a0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f 62 3e  >..<li><b>L1</b>
213b0 20 69 73 20 61 20 4c 69 6e 6b 20 63 6f 6e 6e 65   is a Link conne
213c0 63 74 69 6e 67 20 4e 6f 64 65 73 20 3c 62 3e 4e  cting Nodes <b>N
213d0 31 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 32 3c  1</b> and <b>N2<
213e0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /b>.</li>..<li><
213f0 62 3e 50 74 3c 2f 62 3e 20 69 73 20 6f 6e 65 20  b>Pt</b> is one 
21400 62 65 74 77 65 65 6e 20 50 6f 69 6e 74 46 72 6f  between PointFro
21410 6d 20 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c 2f 6c  m or PointTo.</l
21420 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
21430 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 50  .<ol>..<li>The P
21440 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 69 6e  oint-to-Point in
21450 74 65 72 6e 61 6c 20 6c 6f 67 69 63 20 77 69 6c  ternal logic wil
21460 6c 20 73 74 61 72 74 20 62 79 20 69 64 65 6e 74  l start by ident
21470 69 66 79 69 6e 67 20 3c 62 3e 69 3c 2f 62 3e 2c  ifying <b>i</b>,
21480 0d 0a 74 68 61 74 20 69 73 20 74 68 65 20 50 6f  ..that is the Po
21490 69 6e 74 20 69 6e 74 65 72 73 65 63 74 69 6e 67  int intersecting
214a0 20 3c 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64 20 70   <b>L1</b> and p
214b0 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 69  resenting the mi
214c0 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62  nimum distance b
214d0 65 74 77 65 65 6e 20 74 68 65 20 4c 69 6e 6b 20  etween the Link 
214e0 61 6e 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d 0a 28  and <b>Pt</b>..(
214f0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f  corresponding to
21500 20 74 68 65 20 72 65 73 75 6c 74 20 72 65 74 75   the result retu
21510 72 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20  rned by calling 
21520 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 4c  the <b>ST_Line_L
21530 6f 63 61 74 65 5f 50 6f 69 6e 74 28 29 3c 2f 62  ocate_Point()</b
21540 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e  > SQL function).
21550 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77 20 74  </li>..<li>Now t
21560 68 65 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c 2f 62  he Link <b>L1</b
21570 3e 20 77 69 6c 6c 20 62 65 20 73 70 6c 69 74 20  > will be split 
21580 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 20 3c 62  in two halves <b
21590 3e 4c 31 2d 61 3c 2f 62 3e 20 61 6e 64 20 3c 62  >L1-a</b> and <b
215a0 3e 4c 31 2d 62 3c 2f 62 3e 20 61 63 63 6f 72 64  >L1-b</b> accord
215b0 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 70 6f 73  ingly to the pos
215c0 69 74 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c 2f 62  ition of <b>i</b
215d0 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e  >..(correspondin
215e0 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73  g to the results
215f0 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c   returned by cal
21600 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c  ling the <b>ST_L
21610 69 6e 65 5f 53 75 62 73 74 72 69 6e 67 28 29 3c  ine_Substring()<
21620 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
21630 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 68 61 6c  ).<br>..Both hal
21640 76 65 73 20 77 69 6c 6c 20 62 65 20 6e 6f 77 20  ves will be now 
21650 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f  considered as po
21660 73 73 69 62 6c 65 20 3c 62 3e 50 61 72 74 69 61  ssible <b>Partia
21670 6c 20 4c 69 6e 6b 73 20 28 53 74 61 72 74 29 20  l Links (Start) 
21680 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 20 6c  candidates</b> l
21690 65 61 64 69 6e 67 20 72 65 73 70 65 63 74 69 76  eading respectiv
216a0 65 6c 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f 62 3e  ely to <b>N1</b>
216b0 20 6f 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b 0d 0a   or <b>N2</b>;..
216c0 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20  directions will 
216d0 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  be automatically
216e0 20 69 6e 76 65 72 74 65 64 20 61 73 20 72 65 71   inverted as req
216f0 75 69 72 65 64 2c 20 62 75 74 20 6f 6e 6c 79 20  uired, but only 
21700 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20  if there are no 
21710 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 66  <b>one-way</b> f
21720 6f 72 62 69 64 64 69 6e 67 20 72 65 73 74 72 69  orbidding restri
21730 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68  ctions.<br>..(th
21740 65 20 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c  e directions wil
21750 6c 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69  l be obviously i
21760 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63  nverted in the c
21770 61 73 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61  ase of <b>Partia
21780 6c 20 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62  l Links (End)</b
21790 3e 20 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  > / <b>NodeTo</b
217a0 3e 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64  >)</li>..<li>And
217b0 20 66 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69   finally a strai
217c0 67 68 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70  ght segment <b>p
217d0 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20  </b> connecting 
217e0 3c 62 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e  <b>Pt</b> to <b>
217f0 69 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f  i</b> will be co
21800 6e 73 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c  nstructed...So <
21810 62 3e 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20  b>p</b> exactly 
21820 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74  corresponds to t
21830 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61  he <b>Ingress Pa
21840 74 68 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c  th</b> if <b>Pt<
21850 2f 62 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46  /b> is <b>PointF
21860 72 6f 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74  rom</b>.<br>..(t
21870 68 65 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f  he direction sho
21880 75 6c 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79  uld be obviously
21890 20 69 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65   inverted in the
218a0 20 63 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e   case of the <b>
218b0 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20  Egress Path</b> 
218c0 2f 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e  / <b>PointTo</b>
218d0 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c  )</li>..</ol>..<
218e0 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67  /td>..<td>..<img
218f0 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
21900 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
21910 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
21920 66 69 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e  figs/split-link.
21930 70 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74  png" alt="p2p-st
21940 72 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  ruct">..</td></t
21950 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
21960 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
21970 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c  or="#ffb060" cel
21980 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
21990 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
219a0 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e  r><td>..<h3>Warn
219b0 69 6e 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61  ing</h3>..Virtua
219c0 6c 52 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f  lRouting when so
219d0 6c 76 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f  lving a Point-to
219e0 2d 50 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65  -Problem require
219f0 73 20 74 6f 20 67 65 74 20 61 20 70 72 65 63 69  s to get a preci
21a00 73 65 20 65 73 74 69 6d 61 74 69 6f 6e 20 6f 66  se estimation of
21a10 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 72 65   <b>Costs</b> re
21a20 6c 61 74 65 64 20 74 6f 20 3c 62 3e 49 6e 67 72  lated to <b>Ingr
21a30 65 73 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45  ess</b> and <b>E
21a40 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20  gress Paths</b> 
21a50 61 6e 64 20 74 6f 20 3c 62 3e 50 61 72 74 69 61  and to <b>Partia
21a60 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62 72 3e  l Links</b>.<br>
21a70 0d 0a 42 75 74 20 56 69 72 74 75 61 6c 52 6f 75  ..But VirtualRou
21a80 74 69 6e 67 20 69 73 20 63 6f 6d 70 6c 65 74 65  ting is complete
21a90 6c 79 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6d  ly unable to com
21aa0 70 75 74 65 20 63 6f 6d 70 6c 65 78 20 28 61 6e  pute complex (an
21ab0 64 20 75 6e 73 70 65 63 69 66 69 65 64 29 20 43  d unspecified) C
21ac0 6f 73 74 20 66 6f 72 6d 75 6c 61 65 2c 20 61 6e  ost formulae, an
21ad0 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 69  d consequently i
21ae0 74 20 63 61 6e 20 73 69 6d 70 6c 79 20 61 73 73  t can simply ass
21af0 75 6d 65 20 61 20 43 6f 73 74 20 63 6f 72 72 65  ume a Cost corre
21b00 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20  sponding to the 
21b10 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68  Geometric Length
21b20 20 6f 66 20 73 75 63 68 20 69 74 65 6d 73 2e 3c   of such items.<
21b30 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f 6e 63  br><br>..<b>Conc
21b40 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e 6c 79  lusion</b>: only
21b50 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20   Networks based 
21b60 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20  on <b>Costs</b> 
21b70 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f  corresponding to
21b80 20 3c 62 3e 47 65 6f 6d 65 74 72 69 63 20 4c 65   <b>Geometric Le
21b90 6e 67 74 68 73 3c 2f 62 3e 20 63 61 6e 20 65 66  ngths</b> can ef
21ba0 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72  fectively suppor
21bb0 74 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  t Point-to-Point
21bc0 20 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 41   queries.<br>..A
21bd0 6e 79 20 64 69 66 66 65 72 65 6e 74 20 4e 65 74  ny different Net
21be0 77 6f 72 6b 20 63 6f 6e 66 69 67 75 72 61 74 69  work configurati
21bf0 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 6c  on will surely l
21c00 65 61 64 20 74 6f 20 77 72 6f 6e 67 20 61 6e 64  ead to wrong and
21c10 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 72 65   inconsistent re
21c20 73 75 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  sults...<br><br>
21c30 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
21c40 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ble>..<br><br>..
21c50 4c 65 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e  Let's now examin
21c60 65 20 61 20 70 72 61 63 74 69 63 61 6c 20 65 78  e a practical ex
21c70 61 6d 70 6c 65 20 6f 66 20 50 6f 69 6e 74 2d 74  ample of Point-t
21c80 6f 2d 50 6f 69 6e 74 20 73 6f 6c 76 69 6e 67 20  o-Point solving 
21c90 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75  using VirtualRou
21ca0 74 69 6e 67 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  ting...<verbatim
21cb0 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  >..SELECT Algori
21cc0 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70  thm, Request, Op
21cd0 74 69 6f 6e 73 2c 20 52 6f 75 74 65 49 64 2c 20  tions, RouteId, 
21ce0 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
21cf0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
21d00 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50 6f 69  rom, NodeTo, Poi
21d10 6e 74 46 72 6f 6d 2c 20 50 6f 69 6e 74 54 6f 2c  ntFrom, PointTo,
21d20 20 54 6f 6c 65 72 61 6e 63 65 2c 20 43 6f 73 74   Tolerance, Cost
21d30 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
21d40 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
21d50 48 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d  HERE PointFrom =
21d60 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52   (SELECT geom FR
21d70 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57  OM house_nr_vw W
21d80 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74  HERE municipalit
21d90 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44  y = 'AREZZO' AND
21da0 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20   address = 'VIA 
21db0 44 45 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d  DE'' CENCI 13').
21dc0 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f  .    AND PointTo
21dd0 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20   = (SELECT geom 
21de0 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77  FROM house_nr_vw
21df0 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c   WHERE municipal
21e00 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41  ity = 'AREZZO' A
21e10 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49  ND address = 'VI
21e20 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
21e30 4e 4f 4c 49 20 31 39 2f 42 27 29 3b 0d 0a 3c 2f  NOLI 19/B');..</
21e40 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 3c 62 3e  verbatim>..A <b>
21e50 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f  Point-to-Point</
21e60 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 68 65  b> query has the
21e70 20 73 61 6d 65 20 66 6f 72 6d 20 6f 66 20 61 20   same form of a 
21e80 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e  <b>single-destin
21e90 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50  ation Shortest P
21ea0 61 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65  ath</b> query, e
21eb0 78 63 65 70 74 20 74 68 61 74 20 3c 62 3e 4e 6f  xcept that <b>No
21ec0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
21ed0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61 72 65  b>NodeTo</b> are
21ee0 20 6e 6f 77 20 72 65 70 6c 61 63 65 64 20 62 79   now replaced by
21ef0 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62   <b>PointFrom</b
21f00 3e 20 61 6e 64 20 3c 62 3e 50 6f 69 6e 74 54 6f  > and <b>PointTo
21f10 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  </b>.<br>..<u>No
21f20 74 65 3c 2f 75 3e 20 74 68 65 20 73 61 6d 70 6c  te</u> the sampl
21f30 65 20 44 42 2d 66 69 6c 65 20 73 75 70 70 6f 72  e DB-file suppor
21f40 74 73 20 3c 62 3e 48 6f 75 73 65 20 4e 75 6d 62  ts <b>House Numb
21f50 65 72 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f 75 20  ers</b>, so you 
21f60 63 61 6e 20 64 69 72 65 63 74 6c 79 20 75 73 65  can directly use
21f70 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 63 6f   House Number co
21f80 6f 72 64 69 6e 61 74 65 73 20 61 73 20 72 65 66  ordinates as ref
21f90 65 72 65 6e 63 65 20 50 6f 69 6e 74 73 2e 0d 0a  erence Points...
21fa0 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  <br><br>..The fo
21fb0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
21fc0 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
21fd0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
21fe0 65 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f  e above Point-to
21ff0 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 3c 62 72  -Point query.<br
22000 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
22010 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
22020 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
22030 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
22040 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
22050 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22060 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
22070 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
22080 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
22090 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
220a0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
220b0 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
220c0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
220d0 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62  outeId</th><th b
220e0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
220f0 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
22100 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22110 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
22120 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22130 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
22140 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22150 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
22160 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22170 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
22180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
22190 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74  ="#d0d0a0">Point
221a0 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
221b0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
221c0 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  ointTo</th><th b
221d0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
221e0 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c  >Tolerance</th><
221f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22200 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
22210 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22220 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
22230 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22240 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
22250 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
22260 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
22270 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61  d>Point2Point Pa
22280 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c  th</td><td>Full<
22290 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
222a0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
222b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
222c0 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f  /td><td>Point2Po
222d0 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  int Solution</td
222e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
222f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22300 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  ULL</td><td>BLOB
22310 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c   sz=68 GEOMETRY<
22320 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
22330 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  68 GEOMETRY</td>
22340 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22350 22 3e 32 30 2e 30 30 30 30 30 30 3c 2f 74 64 3e  ">20.000000</td>
22360 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22370 22 3e 36 35 32 2e 38 31 35 31 33 39 3c 2f 74 64  ">652.815139</td
22380 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 31 35 35  ><td>BLOB sz=155
22390 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  2 GEOMETRY</td><
223a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
223b0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
223c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
223d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</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 31 3c 2f 74  ign="right">1</t
22410 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61  d><td>Ingress Pa
22420 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  th</td><td>NULL<
22430 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22460 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22470 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22480 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c  right">2.301687<
22490 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
224a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
224b0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
224c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
224d0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
224e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
224f0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
22500 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
22510 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20  /td><td>Partial 
22520 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64  Link (Start)</td
22530 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22540 74 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74  t">224264</td><t
22550 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22560 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
22570 36 33 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  630</td><td>NULL
22580 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22590 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
225a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
225b0 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c  >46.082761</td><
225c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
225d0 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74  VIA DE' CENCI</t
225e0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
225f0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22600 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22610 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22620 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22630 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22640 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
22650 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22660 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74  right">223758</t
22670 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22680 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c  ht">182630</td><
22690 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
226a0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 3e  >182629</td><td>
226b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
226c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
226d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
226e0 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f  ght">24.198115</
226f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22700 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
22710 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22720 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22730 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22740 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22750 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22760 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22770 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">4</td><td>L
22780 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
22790 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32  n="right">225512
227a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
227b0 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74  right">182629</t
227c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
227d0 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c  ht">182933</td><
227e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
227f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22800 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22810 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39  "right">34.18419
22820 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
22830 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
22840 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
22850 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
22860 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22870 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22880 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22890 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
228a0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
228b0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
228c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
228d0 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  511</td><td alig
228e0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33  n="right">182933
228f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22900 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
22910 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22920 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22930 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22940 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34  gn="right">49.24
22950 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1735</td><td>NUL
22960 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
22970 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
22980 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
22990 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
229a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
229b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
229c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
229d0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
229e0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
229f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22a00 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61  222635</td><td a
22a10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
22a20 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
22a30 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38  n="right">181998
22a40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22a50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22a60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22a70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30  align="right">10
22a80 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64  1.629750</td><td
22a90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
22aa0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
22ab0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
22ac0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22ad0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22ae0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22af0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22b00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
22b10 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
22b20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22b30 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c  ht">224780</td><
22b40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22b50 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20  >181998</td><td 
22b60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22b70 33 35 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3560</td><td>NUL
22b80 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
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 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22bb0 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e  ">73.733572</td>
22bc0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22bd0 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45  >VIA DELL'ANFITE
22be0 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ATRO</td>..</tr>
22bf0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22c00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22c10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22c20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22c30 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
22c40 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c  ="right">8</td><
22c50 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
22c60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
22c70 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5827</td><td ali
22c80 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36  gn="right">18356
22c90 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
22ca0 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
22cb0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22cc0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22cd0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22ce0 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33  ign="right">42.3
22cf0 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  09564</td><td>NU
22d00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44  LL</td><td>VIA D
22d10 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f  ELL'ANFITEATRO</
22d20 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
22d30 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
22d40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22d50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22d60 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
22d70 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22d80 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">9</td><td>Lin
22d90 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
22da0 22 72 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f  "right">224897</
22db0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22dc0 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
22dd0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22de0 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64  ">183128</td><td
22df0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22e00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22e20 69 67 68 74 22 3e 37 32 2e 34 34 34 36 30 39 3c  ight">72.444609<
22e30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22e40 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
22e50 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
22e60 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22e70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22e80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22e90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22ea0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
22eb0 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e  ="right">10</td>
22ec0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
22ed0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
22ee0 32 34 32 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  24232</td><td al
22ef0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
22f00 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  28</td><td align
22f10 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c  ="right">182890<
22f20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22f30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22f40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22f50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33  lign="right">103
22f60 2e 36 31 32 32 32 31 3c 2f 74 64 3e 3c 74 64 3e  .612221</td><td>
22f70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
22f80 20 4e 49 43 43 4f 4c 4f 27 20 41 52 45 54 49 4e   NICCOLO' ARETIN
22f90 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
22fa0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
22fb0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
22fe0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22ff0 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64  ight">11</td><td
23000 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45  >Partial Link (E
23010 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  nd)</td><td alig
23020 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 39  n="right">224019
23030 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23040 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74  right">182890</t
23050 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23060 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23070 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23080 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67  L</td>..<td alig
23090 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 37 36 30  n="right">95.760
230a0 32 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  222</td><td>NULL
230b0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54  </td><td>VIA ANT
230c0 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c  ONIO GUADAGNOLI<
230d0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
230e0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
230f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23100 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
23110 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
23120 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23130 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 45  ht">12</td><td>E
23140 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c  gress Path</td><
23150 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23160 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23170 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23180 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23190 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
231a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
231b0 2e 33 31 36 37 30 39 3c 2f 74 64 3e 3c 74 64 3e  .316709</td><td>
231c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
231d0 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
231e0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c  /table>..<br>..L
231f0 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79  et's now quickly
23200 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73   examine the res
23210 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
23220 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e  by the above <b>
23230 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f  Point-to-Point</
23240 62 3e 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d  b> query:..<ul>.
23250 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c  .<li>the general
23260 20 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73   layout is almos
23270 74 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61  t exactly the sa
23280 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72  me as you've alr
23290 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65  eady seen in the
232a0 20 63 61 73 65 20 6f 66 20 53 68 6f 72 74 65 73   case of Shortes
232b0 74 50 61 74 68 20 71 75 65 72 69 65 73 2e 3c 2f  tPath queries.</
232c0 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20  li>..<li>in the 
232d0 73 70 65 63 69 66 69 63 20 63 61 73 65 20 6f 66  specific case of
232e0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
232f0 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77  the <b>first row
23300 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75  </b> of the resu
23310 6c 74 73 65 74 20 77 69 6c 6c 20 61 6c 77 61 79  ltset will alway
23320 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 66 6f  s contain the fo
23330 6c 6c 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f 54 20  llowings <b>NOT 
23340 4e 55 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73  NULL</b> columns
23350 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
23360 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
23370 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 3a 20   <b>NodeTo</b>: 
23380 74 68 65 20 74 77 6f 20 47 65 6f 6d 65 74 72 69  the two Geometri
23390 65 73 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20  es defining the 
233a0 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e  <u><i>origin</i>
233b0 3c 2f 75 3e 20 61 6e 64 20 3c 75 3e 3c 69 3e 64  </u> and <u><i>d
233c0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f  estination</i></
233d0 75 3e 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69 3e 0d  u> Points.</li>.
233e0 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63  .<li><b>Toleranc
233f0 65 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d  e</b>: the maxim
23400 75 6d 20 64 69 73 74 61 6e 63 65 20 61 6c 6c 6f  um distance allo
23410 77 65 64 20 62 65 74 77 65 65 6e 20 72 65 66 65  wed between refe
23420 72 65 6e 63 65 20 50 6f 69 6e 74 73 20 61 6e 64  rence Points and
23430 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73   Candidate Links
23440 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
23450 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52  i>..<li>the <b>R
23460 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63  ole</b> column c
23470 61 6e 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66  an assume one of
23480 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76   the following v
23490 61 6c 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  alues:..<ul>..<l
234a0 69 3e 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74  i><b>Point2Point
234b0 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74   Solution</b>: t
234c0 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 73 75  he header row su
234d0 6d 6d 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f  mmarizing the So
234e0 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c  lution as a whol
234f0 65 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  e...<ul>..<li><b
23500 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20  >PointFrom</b>, 
23510 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61  <b>PointTo</b> a
23520 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c  nd <b>Tolerance<
23530 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c  /b> columns will
23540 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c   have <b>NOT NUL
23550 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c  L</b> values onl
23560 79 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  y in the header 
23570 72 6f 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  row.</li>..</ul>
23580 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e  </li>..<li><b>In
23590 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20  gress Path</b>: 
235a0 61 20 73 74 72 61 69 67 68 74 20 73 65 67 6d 65  a straight segme
235b0 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68  nt connecting th
235c0 65 20 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74  e Origin Point t
235d0 6f 20 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b  o the first Link
235e0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45  .</li>..<li><b>E
235f0 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20  gress Path</b>: 
23600 61 20 73 74 72 61 69 67 68 74 20 73 65 67 6d 65  a straight segme
23610 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68  nt connecting th
23620 65 20 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74  e last Link to t
23630 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50  he Destination P
23640 6f 69 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  oint...<ul>..<li
23650 3e 62 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73  >both the Ingres
23660 73 20 61 6e 64 20 74 68 65 20 45 67 72 65 73 73  s and the Egress
23670 20 50 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20   Path rows will 
23680 61 6c 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e  always have <b>N
23690 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f  ULL</b> values o
236a0 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  n <b>LinkRowid</
236b0 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  b>, <b>NodeFrom<
236c0 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
236d0 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f  o</b> columns.</
236e0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
236f0 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20  .<li><b>Partial 
23700 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e  Link (Start)</b>
23710 3a 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 65  : the partial se
23720 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72  ction of the fir
23730 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a  st Link...<ul>..
23740 3c 6c 69 3e 74 68 69 73 20 73 70 65 63 69 66 69  <li>this specifi
23750 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79  c row will alway
23760 73 20 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c  s have a <b>NULL
23770 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68  </b> value on th
23780 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  e <b>NodeFrom</b
23790 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a  > column.</li>..
237a0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
237b0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20  <b>Partial Link 
237c0 28 45 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70  (End)</b>: the p
237d0 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f  artial section o
237e0 66 20 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e  f the last Link.
237f0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73  ..<ul>..<li>this
23800 20 73 70 65 63 69 66 69 63 20 72 6f 77 20 77 69   specific row wi
23810 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20 61  ll always have a
23820 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c   <b>NULL</b> val
23830 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64  ue on the <b>Nod
23840 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c  eTo</b> column.<
23850 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
23860 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62  ..<li><b>Link</b
23870 3e 3a 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e  >: any other Lin
23880 6b 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68  k required by th
23890 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  e Point-to-Point
238a0 20 53 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e   Solution...<ul>
238b0 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20  ..<li>all these 
238c0 72 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73  rows will always
238d0 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c   have <b>NOT NUL
238e0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20  L</b> values on 
238f0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e  <b>LinkRowid</b>
23900 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  , <b>NodeFrom</b
23910 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
23920 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69  /b> columns.</li
23930 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
23940 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /ul></li>..</ul>
23950 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
23960 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  <b>Point-to-Poin
23970 74 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61  t</b> queries ca
23980 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c  n be customized,
23990 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75   but the configu
239a0 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69  ration rules sli
239b0 67 68 74 6c 79 20 64 69 66 66 65 72 20 66 72 6f  ghtly differ fro
239c0 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76 65 20  m what you have 
239d0 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20  already seen in 
239e0 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
239f0 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  s...<ul>..<li><b
23a00 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20  >Algorithm</b>: 
23a10 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61  only <b>Dijkstra
23a20 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65  </b> is supporte
23a30 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f  d by <b>Point-to
23a40 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20  -Point</b>, and 
23a50 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74  will be implicit
23a60 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20  ly assumed even 
23a70 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  when the alterna
23a80 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
23a90 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72  lgorithm is curr
23aa0 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c  ently selected.<
23ab0 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62 65 63  br>..This is bec
23ac0 61 75 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61  ause the interna
23ad0 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74  l logic of Point
23ae0 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75 69 72  -to-Point requir
23af0 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  es multi-destina
23b00 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69 6e 20  tion queries in 
23b10 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75 61 74  order to evaluat
23b20 65 20 61 6c 6c 20 43 61 6e 64 69 64 61 74 65 20  e all Candidate 
23b30 53 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  Solutions.</li>.
23b40 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c  .<li><b>Options<
23b50 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c  /b>: the usual <
23b60 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53  b>FULL</b>, <b>S
23b70 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f  IMPLE</b>, <b>NO
23b80 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
23b90 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
23ba0 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65  /b> are supporte
23bb0 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20  d and will have 
23bc0 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20  the same effect 
23bd0 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
23be0 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
23bf0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54  .</li>..<li><b>T
23c00 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68  olerance</b>: th
23c10 69 73 20 73 65 74 74 69 6e 67 20 69 73 20 73 70  is setting is sp
23c20 65 63 69 66 69 63 20 74 6f 20 50 6f 69 6e 74 2d  ecific to Point-
23c30 74 6f 2d 50 6f 69 6e 74 2c 20 61 6e 64 20 64 65  to-Point, and de
23c40 66 69 6e 65 73 20 74 68 65 20 6d 61 78 69 6d 75  fines the maximu
23c50 6d 20 61 6c 6c 6f 77 61 62 6c 65 20 64 69 73 74  m allowable dist
23c60 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 72  ance between a r
23c70 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 61  eference Point a
23c80 6e 64 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e  nd Candidate Lin
23c90 6b 73 2e 3c 62 72 3e 0d 0a 49 74 20 64 65 66 61  ks.<br>..It defa
23ca0 75 6c 74 73 20 74 6f 20 3c 62 3e 32 30 2e 30 6d  ults to <b>20.0m
23cb0 3c 2f 62 3e 20 69 66 20 6e 6f 74 20 65 78 70 6c  </b> if not expl
23cc0 69 63 69 74 6c 79 20 73 65 74 2e 3c 2f 6c 69 3e  icitly set.</li>
23cd0 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74  ..</ul>..<verbat
23ce0 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
23cf0 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d  ot SET Options =
23d00 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27   'NO GEOMETRIES'
23d10 2c 20 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35  , Tolerance = 25
23d20 2e 35 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 52 65  .5;....SELECT Re
23d30 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20  quest, Options, 
23d40 54 6f 6c 65 72 61 6e 63 65 2c 20 52 6f 75 74 65  Tolerance, Route
23d50 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
23d60 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
23d70 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
23d80 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
23d90 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
23da0 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 53 45   PointFrom = (SE
23db0 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68  LECT geom FROM h
23dc0 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45  ouse_nr_vw WHERE
23dd0 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20   municipality = 
23de0 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64  'AREZZO' AND add
23df0 72 65 73 73 20 3d 20 27 56 49 41 20 44 45 27 27  ress = 'VIA DE''
23e00 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20 20 20   CENCI 13')..   
23e10 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d 20 28   AND PointTo = (
23e20 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d  SELECT geom FROM
23e30 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45   house_nr_vw WHE
23e40 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20  RE municipality 
23e50 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61  = 'AREZZO' AND a
23e60 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 41 4e  ddress = 'VIA AN
23e70 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49  TONIO GUADAGNOLI
23e80 20 31 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65 72 62   19/C');..</verb
23e90 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f  atim>..The follo
23ea0 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73  wing table shows
23eb0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
23ec0 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61  eturned by the a
23ed0 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  bove Point-to-Po
23ee0 69 6e 74 20 71 75 65 72 79 20 61 66 74 65 72 20  int query after 
23ef0 73 65 6c 65 63 74 69 6e 67 20 3c 62 3e 4f 70 74  selecting <b>Opt
23f00 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45  ions = 'NO GEOME
23f10 54 52 49 45 53 27 3c 2f 62 3e 20 61 6e 64 20 3c  TRIES'</b> and <
23f20 62 3e 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35  b>Tolerance = 25
23f30 2e 35 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  .5</b><br><br>..
23f40 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
23f50 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
23f60 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
23f70 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
23f80 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
23f90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
23fa0 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20  Request</th><th 
23fb0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
23fc0 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74  ">Options</th><t
23fd0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
23fe0 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74  a0">Tolerance</t
23ff0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24000 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
24010 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
24020 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
24030 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24040 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
24050 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
24060 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
24070 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
24080 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
24090 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
240a0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
240b0 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
240c0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
240d0 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
240e0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
240f0 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
24100 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 50 6f  r>..<tr>..<td>Po
24110 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f  int2Point Path</
24120 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74  td><td>No Geomet
24130 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  ries</td><td ali
24140 67 6e 3d 22 72 69 67 68 74 22 3e 32 35 2e 35 30  gn="right">25.50
24150 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  0000</td><td ali
24160 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
24170 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74  ><td>Point2Point
24180 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74   Solution</td><t
24190 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
241a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
241b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
241c0 72 69 67 68 74 22 3e 36 35 31 2e 30 36 37 30 38  right">651.06708
241d0 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
241e0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
241f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
24200 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24210 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24220 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
24230 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
24240 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f  d>Ingress Path</
24250 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24260 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24270 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24280 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 30  ign="right">2.30
24290 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1687</td><td>NUL
242a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
242b0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
242c0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
242d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
242e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
242f0 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
24300 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e  ><td>Partial Lin
24310 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c 74  k (Start)</td><t
24320 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24330 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e  224264</td><td>N
24340 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24350 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30  n="right">182630
24360 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24370 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31  right">46.082761
24380 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24390 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45  d><td>VIA DE' CE
243a0 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  NCI</td>..</tr>.
243b0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
243c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
243d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
243e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
243f0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
24400 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24410 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e  ght">223758</td>
24420 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24430 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64  ">182630</td><td
24440 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
24450 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82629</td><td al
24460 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31  ign="right">24.1
24470 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  98115</td><td>NU
24480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
24490 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
244a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
244b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
244c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
244d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
244e0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">4</td><td>Li
244f0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
24500 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c  ="right">225512<
24510 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24520 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64  ight">182629</td
24530 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24540 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74  t">182933</td><t
24550 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24560 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74  34.184194</td><t
24570 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43  d>NULL</td><td>C
24580 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e  ORSO ITALIA</td>
24590 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
245a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
245b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
245c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
245d0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
245e0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
245f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
24600 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  511</td><td alig
24610 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33  n="right">182933
24620 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24630 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
24640 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24650 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74  ht">49.241735</t
24660 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24670 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
24680 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
24690 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
246a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
246b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
246c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
246d0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
246e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
246f0 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20  >225800</td><td 
24700 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
24710 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
24720 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
24730 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
24740 22 72 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30  "right">95.59220
24750 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
24760 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
24770 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
24780 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
24790 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
247a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
247b0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
247c0 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
247d0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
247e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
247f0 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  171</td><td alig
24800 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
24810 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24820 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74  right">178732</t
24830 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24840 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74  ht">93.285538</t
24850 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24860 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
24870 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
24880 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
24890 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
248a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
248b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
248c0 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">8</td><td>Li
248d0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
248e0 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c  ="right">219058<
248f0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24900 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
24910 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24920 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
24930 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24940 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c  148.656089</td><
24950 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24960 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
24970 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
24980 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
24990 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
249a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
249b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
249c0 3e 39 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69  >9</td><td>Parti
249d0 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74  al Link (End)</t
249e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
249f0 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c  ht">224019</td><
24a00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24a10 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e  >182890</td><td>
24a20 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24a30 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 30 2e 32  gn="right">150.2
24a40 36 30 36 34 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55  60641</td><td>NU
24a50 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
24a60 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c  NTONIO GUADAGNOL
24a70 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
24a80 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24a90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24aa0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24ab0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30  align="right">10
24ac0 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20  </td><td>Egress 
24ad0 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  Path</td><td>NUL
24ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24af0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24b00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24b10 22 3e 37 2e 32 36 34 31 31 38 3c 2f 74 64 3e 3c  ">7.264118</td><
24b20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24b30 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
24b40 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
24b50 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65  <br>..The map be
24b60 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20  low graphically 
24b70 73 68 6f 77 73 20 74 68 65 20 74 77 6f 20 50 6f  shows the two Po
24b80 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c  int-to-Point Sol
24b90 75 74 69 6f 6e 73 20 72 65 74 75 72 6e 65 64 20  utions returned 
24ba0 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
24bb0 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62  queries...<br><b
24bc0 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74  r>..<img src="ht
24bd0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
24be0 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
24bf0 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70 6f 69  routing-figs/poi
24c00 6e 74 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70 67 22  nt-to-point.jpg"
24c10 20 61 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f 2d 70   alt="point-to-p
24c20 6f 69 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  oint">..<ul>..<l
24c30 69 3e 74 68 65 20 67 72 65 65 6e 20 6c 69 6e 65  i>the green line
24c40 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
24c50 74 68 65 20 66 69 72 73 74 20 73 6f 6c 75 74 69  the first soluti
24c60 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d  on (<i>PointTo =
24c70 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20   VIA GUADAGNOLI 
24c80 31 39 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d  19/B</i>).</li>.
24c90 0a 3c 6c 69 3e 74 68 65 20 79 65 6c 6c 6f 77 20  .<li>the yellow 
24ca0 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73  line corresponds
24cb0 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 73   to the second s
24cc0 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e  olution (<i>Poin
24cd0 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44 41 47  tTo = VIA GUADAG
24ce0 4e 4f 4c 49 20 31 39 2f 43 3c 2f 69 3e 29 2e 3c  NOLI 19/C</i>).<
24cf0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
24d00 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
24d10 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
24d20 75 65 72 69 65 73 20 61 72 65 20 76 65 72 79 20  ueries are very 
24d30 73 65 6e 73 69 74 69 76 65 2c 20 61 6e 64 20 61  sensitive, and a
24d40 20 76 65 72 79 20 62 6c 61 6e 64 20 73 68 69 66   very bland shif
24d50 74 20 61 66 66 65 63 74 69 6e 67 20 74 68 65 20  t affecting the 
24d60 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 20 72 65  position of a re
24d70 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 63 6f  ference Point co
24d80 75 6c 64 20 65 61 73 69 6c 79 20 63 61 75 73 65  uld easily cause
24d90 20 64 72 61 6d 61 74 69 63 20 63 68 61 6e 67 65   dramatic change
24da0 73 20 69 6e 20 74 68 65 20 53 6f 6c 75 74 69 6f  s in the Solutio
24db0 6e 27 73 20 50 61 74 68 20 28 61 73 20 69 73 20  n's Path (as is 
24dc0 69 6e 20 74 68 69 73 20 63 61 73 65 29 2e 0d 0a  in this case)...
24dd0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62  <br><br>..<hr><b
24de0 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74  r>..<a href="htt
24df0 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
24e00 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73  s.it/fossil/libs
24e10 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e  patialite/wiki?n
24e20 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62  ame=4.3.0-doc">b
24e30 61 63 6b 3c 2f 61 3e 0a 5a 20 30 66 64 34 63 38  ack</a>.Z 0fd4c8
24e40 37 63 36 65 62 30 32 33 38 64 39 34 63 36 36 34  7c6eb0238d94c664
24e50 30 62 62 35 35 31 35 64 36 61 0a                 0bb5515d6a.