Hex Artifact Content
Not logged in

Artifact 444dac561b50a19680155acfbb26f8e3e018981e:

Wiki page [VirtualRouting] by sandro 2018-04-16 13:30:23.
0000: 44 20 32 30 31 38 2d 30 34 2d 31 36 54 31 33 3a  D 2018-04-16T13:
0010: 33 30 3a 32 33 2e 33 35 35 0a 4c 20 56 69 72 74  30:23.355.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 32 64 37  ualRouting.P 2d7
0030: 37 31 66 33 65 35 34 65 32 62 65 35 64 34 32 62  71f3e54e2be5d42b
0040: 36 64 63 35 65 36 66 62 38 61 32 31 66 30 36 64  6dc5e6fb8a21f06d
0050: 31 35 36 66 61 0a 55 20 73 61 6e 64 72 6f 0a 57  156fa.U sandro.W
0060: 20 31 33 30 30 32 31 0a 3c 61 20 68 72 65 66 3d   130021.<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 3c 62 72 3e 3c 68 72 3e 0d 0a 3c  br>..<br><hr>..<
02a0: 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 69 6e 74 72  h1><a name="intr
02b0: 6f 22 3e 31 20 2d 20 49 6e 74 72 6f 64 75 63 74  o">1 - Introduct
02c0: 69 6f 6e 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72  ion</a></h1>..Pr
02d0: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20  evious versions 
02e0: 6f 66 20 53 70 61 74 69 61 4c 69 74 65 20 74 72  of SpatiaLite tr
02f0: 61 64 69 74 69 6f 6e 61 6c 6c 79 20 73 75 70 70  aditionally supp
0300: 6f 72 74 65 64 20 61 20 3c 62 3e 70 75 72 65 20  orted a <b>pure 
0310: 53 51 4c 20 72 6f 75 74 69 6e 67 20 6d 6f 64 75  SQL routing modu
0320: 6c 65 3c 2f 62 3e 20 74 68 61 74 20 77 61 73 20  le</b> that was 
0330: 6e 61 6d 65 64 20 3c 61 20 68 72 65 66 3d 22 68  named <a href="h
0340: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
0350: 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69  gis.it/fossil/li
0360: 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69  bspatialite/wiki
0370: 3f 6e 61 6d 65 3d 56 69 72 74 75 61 6c 4e 65 74  ?name=VirtualNet
0380: 77 6f 72 6b 2b 72 65 6c 6f 61 64 65 64 22 3e 56  work+reloaded">V
0390: 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61  irtualNetwork</a
03a0: 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63  >.<br><br>..Sinc
03b0: 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30  e version <b>5.0
03c0: 2e 30 3c 2f 62 3e 20 61 20 62 72 61 6e 64 20 6e  .0</b> a brand n
03d0: 65 77 20 3c 62 3e 72 6f 75 74 69 6e 67 20 6d 6f  ew <b>routing mo
03e0: 64 75 6c 65 3c 2f 62 3e 20 28 6d 6f 72 65 20 61  dule</b> (more a
03f0: 64 76 61 6e 63 65 64 20 61 6e 64 20 73 6f 70 68  dvanced and soph
0400: 69 73 74 69 63 61 74 65 64 29 20 69 73 20 61 76  isticated) is av
0410: 61 69 6c 61 62 6c 65 2c 20 74 68 61 74 20 69 73  ailable, that is
0420: 20 63 61 6c 6c 65 64 20 3c 62 3e 56 69 72 74 75   called <b>Virtu
0430: 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62  alRouting</b>.<b
0440: 72 3e 0d 0a 54 68 65 20 6e 6f 77 20 6f 62 73 6f  r>..The now obso
0450: 6c 65 74 65 20 3c 62 3e 56 69 72 74 75 61 6c 4e  lete <b>VirtualN
0460: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 73 74  etwork</b> is st
0470: 69 6c 6c 20 73 75 70 70 6f 72 74 65 64 20 62 79  ill supported by
0480: 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e   version <b>5.0.
0490: 30 3c 2f 62 3e 20 73 6f 20 61 73 20 74 6f 20 6e  0</b> so as to n
04a0: 6f 74 20 63 61 75 73 65 20 61 6e 20 61 62 72 75  ot cause an abru
04b0: 70 74 20 62 72 65 61 6b 20 74 6f 20 61 6c 72 65  pt break to alre
04c0: 61 64 79 20 65 78 69 73 74 69 6e 67 20 61 70 70  ady existing app
04d0: 6c 69 63 61 74 69 6f 6e 73 2c 20 62 75 74 20 77  lications, but w
04e0: 69 6c 6c 20 70 72 65 73 75 6d 61 62 6c 79 20 62  ill presumably b
04f0: 65 20 64 69 73 63 6f 6e 74 69 6e 75 65 64 20 69  e discontinued i
0500: 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e  n future version
0510: 73 2e 3c 62 72 3e 0d 0a 55 73 69 6e 67 20 3c 62  s.<br>..Using <b
0520: 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c  >VirtualRouting<
0530: 2f 62 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c  /b> instead of <
0540: 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 69 72 6b  b>VirtualNetwirk
0550: 3c 2f 62 3e 20 69 73 20 77 61 72 6d 6c 79 20 72  </b> is warmly r
0560: 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f 72 20 61  ecommended for a
0570: 6e 79 20 6e 65 77 20 64 65 76 65 6c 6f 70 6d 65  ny new developme
0580: 6e 74 2e 20 0d 0a 3c 68 32 3e 54 68 65 6f 72 65  nt. ..<h2>Theore
0590: 74 69 63 61 6c 20 66 6f 75 6e 64 61 74 69 6f 6e  tical foundation
05a0: 73 20 2d 20 61 6e 20 75 6c 74 72 61 2d 71 75 69  s - an ultra-qui
05b0: 63 6b 20 72 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a  ck recall</h2>..
05c0: 41 6c 6c 20 3c 62 3e 52 6f 75 74 69 6e 67 20 61  All <b>Routing a
05d0: 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e 20 28 3c  lgorithms</b> (<
05e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f  i>aka</i> <b>Sho
05f0: 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 61  rtest Path</b> a
0600: 6c 67 6f 72 69 74 68 6d 73 29 20 61 72 65 20 62  lgorithms) are b
0610: 61 73 65 64 20 6f 6e 20 74 68 65 20 6d 61 74 68  ased on the math
0620: 65 6d 61 74 69 63 73 20 6f 66 20 74 68 65 20 3c  ematics of the <
0630: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
0640: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
0650: 2f 77 69 6b 69 2f 47 72 61 70 68 5f 74 68 65 6f  /wiki/Graph_theo
0660: 72 79 22 3e 47 72 61 70 68 20 74 68 65 6f 72 79  ry">Graph theory
0670: 3c 2f 61 3e 20 6f 72 20 74 6f 20 62 65 20 6d 6f  </a> or to be mo
0680: 72 65 20 70 72 65 63 69 73 65 3a 20 6f 6e 20 3c  re precise: on <
0690: 62 3e 57 65 69 67 68 74 65 64 20 47 72 61 70 68  b>Weighted Graph
06a0: 73 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69  s</b>...<br>..<i
06b0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
06c0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
06d0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
06e0: 67 2d 66 69 67 73 2f 6e 65 74 77 6f 72 6b 2e 70  g-figs/network.p
06f0: 6e 67 22 20 61 6c 74 3d 22 6e 65 74 77 6f 72 6b  ng" alt="network
0700: 22 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f  ">..<br>..A topo
0710: 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20  logically valid 
0720: 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69  <b>Network</b> i
0730: 73 20 61 20 64 61 74 61 73 65 74 20 74 68 61 74  s a dataset that
0740: 20 66 75 6c 66 69 6c 6c 73 20 74 68 65 20 66 6f   fulfills the fo
0750: 6c 6c 6f 77 69 6e 67 20 72 65 71 75 69 72 65 6d  llowing requirem
0760: 65 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ents:..<ul>..<li
0770: 3e 41 6c 6c 20 69 74 65 6d 73 20 69 6e 20 74 68  >All items in th
0780: 65 20 64 61 74 61 73 65 74 20 61 72 65 20 63 61  e dataset are ca
0790: 6c 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62  lled <b>Links</b
07a0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
07b0: 3e 41 72 63 73 3c 2f 62 3e 29 2c 20 61 6e 64 20  >Arcs</b>), and 
07c0: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
07d0: 72 65 70 72 65 73 65 6e 74 20 73 6f 6d 65 20 6f  represent some o
07e0: 72 69 65 6e 74 65 64 20 63 6f 6e 6e 65 63 74 69  riented connecti
07f0: 6f 6e 20 6a 6f 69 6e 69 6e 67 20 74 77 6f 20 3c  on joining two <
0800: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e  b>Nodes</b>.<br>
0810: 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e  ..<u>Example</u>
0820: 3a 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 66  : in the above f
0830: 69 67 75 72 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33  igure Link <b>L3
0840: 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 73 20 4e 6f  </b> connects No
0850: 64 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e  des <b>N2</b> an
0860: 64 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69  d <b>N5</b>.</li
0870: 3e 0d 0a 3c 6c 69 3e 53 6f 20 61 6c 6c 20 3c 62  >..<li>So all <b
0880: 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 20 61  >Links</b> are a
0890: 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74  lways expected t
08a0: 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66  o explicitly ref
08b0: 65 72 65 6e 63 65 20 61 20 3c 62 3e 53 74 61 72  erence a <b>Star
08c0: 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69 3e 61  t-Node</b> (<i>a
08d0: 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65 2d 46  ka</i> <b>Node-F
08e0: 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 61 6e 20  rom</b>) and an 
08f0: 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 20  <b>End-Node</b> 
0900: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e  (<i>aka</i> <b>N
0910: 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d 0a 3c 75  ode-To</b>)...<u
0920: 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 20 61 72  l>..<li>Links ar
0930: 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f 72 69 65  e always <b>orie
0940: 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 20 74 68  nted</b>, and th
0950: 65 69 72 20 6e 61 74 75 72 61 6c 20 64 69 72 65  eir natural dire
0960: 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46 72 6f 6d  ction is <b>From
0970: 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  -To</b>:..<ul>..
0980: 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e 75 6e 69  <li>in an <b>uni
0990: 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20  directional</b> 
09a0: 4e 65 74 77 6f 72 6b 20 65 61 63 68 20 4c 69 6e  Network each Lin
09b0: 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77  k is an <b>one-w
09c0: 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6f  ay</b> connectio
09d0: 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 65 20 63  n.<br>..If the c
09e0: 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 76 61  onnection is ava
09f0: 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 70  ilable in the op
0a00: 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e  posite direction
0a10: 20 61 20 73 65 63 6f 6e 64 20 4c 69 6e 6b 20 6d   a second Link m
0a20: 75 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 6c  ust be explicitl
0a30: 79 20 64 65 63 6c 61 72 65 64 2e 3c 62 72 3e 0d  y declared.<br>.
0a40: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a  .<u>Example</u>:
0a50: 20 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f 62 3e 20   Link <b>X1</b> 
0a60: 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c  goes from Node <
0a70: 62 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20  b>A</b> to Node 
0a80: 3c 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64 20 4c 69  <b>B</b>, and Li
0a90: 6e 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20 67 6f 65  nk <b>X2</b> goe
0aa0: 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 42  s from Node <b>B
0ab0: 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e  </b> to Node <b>
0ac0: 41 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  A</b>.</li>..<li
0ad0: 3e 69 6e 20 61 20 3c 62 3e 62 69 64 69 72 65 63  >in a <b>bidirec
0ae0: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77 6f  tional</b> Netwo
0af0: 72 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65  rk all Links are
0b00: 20 61 73 73 75 6d 65 64 20 74 6f 20 65 73 74 61   assumed to esta
0b10: 62 6c 69 73 68 20 61 20 63 6f 6e 6e 65 63 74 69  blish a connecti
0b20: 6f 6e 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63  on in both direc
0b30: 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44 65 66 69  tions.<br>..Defi
0b40: 6e 69 74 69 6e 67 20 61 6e 20 3c 62 3e 6f 6e 65  niting an <b>one
0b50: 2d 77 61 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c  -way connection<
0b60: 2f 62 3e 20 72 65 71 75 69 72 65 73 20 61 6e 20  /b> requires an 
0b70: 61 70 70 72 6f 70 72 69 61 74 65 20 61 74 74 72  appropriate attr
0b80: 69 62 75 74 65 20 74 6f 20 62 65 20 73 65 74 20  ibute to be set 
0b90: 28 73 65 65 20 62 65 6c 6f 77 29 2e 3c 2f 6c 69  (see below).</li
0ba0: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
0bb0: 6c 69 3e 54 68 65 20 3c 62 3e 53 74 61 72 74 2d  li>The <b>Start-
0bc0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e 64 2d  </b> and <b>End-
0bd0: 4e 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c 64 20 65  Node</b> could e
0be0: 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 74 68 65  ventually be the
0bf0: 20 73 61 6d 65 2c 20 61 6e 64 20 69 6e 20 74 68   same, and in th
0c00: 69 73 20 63 61 73 65 20 77 65 27 6c 6c 20 68 61  is case we'll ha
0c10: 76 65 20 61 20 3c 62 3e 73 65 6c 66 2d 63 6c 6f  ve a <b>self-clo
0c20: 73 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c  sed</b> Link.</l
0c30: 69 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f 72 6b 27  i>..<li>Network'
0c40: 73 20 4c 69 6e 6b 73 20 3c 62 3e 63 61 6e 3c 2f  s Links <b>can</
0c50: 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 65  b> eventually de
0c60: 66 69 6e 65 20 61 20 6c 69 6e 65 61 72 20 47 65  fine a linear Ge
0c70: 6f 6d 65 74 72 79 20 28 3c 62 3e 4c 49 4e 45 53  ometry (<b>LINES
0c80: 54 52 49 4e 47 3c 2f 62 3e 29 20 67 6f 69 6e 67  TRING</b>) going
0c90: 20 66 72 6f 6d 20 74 68 65 20 3c 62 3e 53 74 61   from the <b>Sta
0ca0: 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74 6f 20 74  rt-Node</b> to t
0cb0: 68 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  he <b>End-Node</
0cc0: 62 3e 2c 20 62 75 74 20 74 68 69 73 20 69 73 20  b>, but this is 
0cd0: 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74  an optional feat
0ce0: 75 72 65 2c 20 6e 6f 74 20 61 20 6d 61 6e 64 61  ure, not a manda
0cf0: 74 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74  tory requirement
0d00: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 61 74  .</li>..<li>What
0d10: 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 6d   is absolutely m
0d20: 61 6e 64 61 74 6f 72 79 20 69 73 20 74 68 61 74  andatory is that
0d30: 20 65 61 63 68 20 3c 62 3e 4c 69 6e 6b 3c 2f 62   each <b>Link</b
0d40: 3e 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c  > must explicitl
0d50: 79 20 72 65 66 65 72 65 6e 63 65 20 69 74 73 20  y reference its 
0d60: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c  <b>Nodes</b>.</l
0d70: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
0d80: 3c 6c 69 3e 41 20 4e 65 74 77 6f 72 6b 20 73 75  <li>A Network su
0d90: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72  pporting Geometr
0da0: 69 65 73 20 69 73 20 61 20 3c 62 3e 53 70 61 74  ies is a <b>Spat
0db0: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3b  ial Network</b>;
0dc0: 20 6f 74 68 65 72 77 69 73 65 20 61 20 4e 65 74   otherwise a Net
0dd0: 77 6f 72 6b 20 6c 61 63 6b 69 6e 67 20 61 6e 79  work lacking any
0de0: 20 47 65 6f 6d 65 74 72 79 20 69 73 20 61 20 3c   Geometry is a <
0df0: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72  b>Logical Networ
0e00: 6b 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  k</b>...<ul>..<l
0e10: 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61  i>In a <b>Spatia
0e20: 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c  l Network</b> al
0e30: 6c 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c  l Links <b>must<
0e40: 2f 62 3e 20 68 61 76 65 20 61 20 63 6f 72 72 65  /b> have a corre
0e50: 73 70 6f 6e 64 69 6e 67 20 47 65 6f 6d 65 74 72  sponding Geometr
0e60: 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20  y.</li>..<li>In 
0e70: 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74  a <b>Logical Net
0e80: 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e  work</b> all Lin
0e90: 6b 73 20 3c 62 3e 61 72 65 20 73 74 72 69 63 74  ks <b>are strict
0ea0: 6c 79 20 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e  ly forbidden</b>
0eb0: 20 74 6f 20 68 61 76 65 20 61 6e 79 20 47 65 6f   to have any Geo
0ec0: 6d 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  metry.</li>..<li
0ed0: 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c  >In a <b>Spatial
0ee0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 62 6f 74   Network</b> bot
0ef0: 68 20 74 68 65 20 3c 62 3e 53 74 61 72 74 50 6f  h the <b>StartPo
0f00: 69 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45  int</b> and <b>E
0f10: 6e 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f 66 20 65  ndPoint</b> of e
0f20: 61 63 68 20 4c 69 6e 6b 27 73 20 3c 62 3e 4c 49  ach Link's <b>LI
0f30: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 61 72 65  NESTRING</b> are
0f40: 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64   always expected
0f50: 20 74 6f 20 65 78 61 63 74 6c 79 20 63 6f 69 6e   to exactly coin
0f60: 63 69 64 65 20 77 69 74 68 20 74 68 65 20 63 6f  cide with the co
0f70: 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 4e  rresponding <b>N
0f80: 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  odes</b>.</li>..
0f90: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
0fa0: 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20  In a <b>Spatial 
0fb0: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20  Network</b> all 
0fc0: 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68  references to th
0fd0: 65 20 73 61 6d 65 20 3c 62 3e 4e 6f 64 65 3c 2f  e same <b>Node</
0fe0: 62 3e 20 62 79 20 64 69 66 66 65 72 65 6e 74 20  b> by different 
0ff0: 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f 62  Links <b>must</b
1000: 3e 20 62 65 20 61 6e 20 65 78 61 63 74 20 6d 61  > be an exact ma
1010: 74 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61  tch.<br>..<u>Exa
1020: 6d 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64 65 20 3c  mple</u>: Node <
1030: 62 3e 4e 35 3c 2f 62 3e 20 69 73 20 73 68 61 72  b>N5</b> is shar
1040: 65 64 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c  ed by Links <b>L
1050: 33 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c 2f 62 3e  3</b>, <b>L6</b>
1060: 2c 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20 3c 62 3e  , <b>L7</b>, <b>
1070: 4c 39 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 31  L9</b> and <b>L1
1080: 30 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c 20 74 68  0</b>, so all th
1090: 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  eir correspondin
10a0: 67 20 4c 49 4e 45 53 54 52 49 4e 47 53 20 61 72  g LINESTRINGS ar
10b0: 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 68 61  e expected to ha
10c0: 76 65 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  ve the correspon
10d0: 64 69 6e 67 20 65 78 74 72 65 6d 69 74 79 20 28  ding extremity (
10e0: 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 6f 72  <b>Start-</b> or
10f0: 20 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c 20 64 65   <b>End-</b>, de
1100: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6f  pending on the o
1110: 72 69 65 6e 74 61 74 69 6f 6e 29 20 70 6f 69 6e  rientation) poin
1120: 74 73 20 74 68 61 74 20 6d 75 73 74 20 65 78 61  ts that must exa
1130: 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65 20 6f  ctly match the o
1140: 74 68 65 72 2e 3c 62 72 3e 0d 0a 41 20 3c 62 3e  ther.<br>..A <b>
1150: 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 69 6e 63 6f  topological inco
1160: 6e 73 69 73 74 65 6e 63 79 3c 2f 62 3e 20 65 78  nsistency</b> ex
1170: 69 73 74 73 20 69 66 20 61 6e 79 20 6f 66 20 74  ists if any of t
1180: 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20  hese conditions 
1190: 61 72 65 20 6e 6f 74 20 73 61 74 69 73 66 69 65  are not satisfie
11a0: 64 2c 20 77 68 69 63 68 20 6c 65 61 64 73 20 74  d, which leads t
11b0: 6f 20 61 6e 20 3c 62 3e 69 6e 76 61 6c 69 64 3c  o an <b>invalid<
11c0: 2f 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69  /b> Network.</li
11d0: 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53  >..<li>In a <b>S
11e0: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f  patial Network</
11f0: 62 3e 20 74 77 6f 0d 0a 3c 6c 69 3e 41 63 63 6f  b> two..<li>Acco
1200: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 61  rdingly to the a
1210: 62 6f 76 65 20 70 72 65 6d 69 73 65 73 2c 20 3c  bove premises, <
1220: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 61 72 65 20  b>Nodes</b> are 
1230: 6e 65 76 65 72 20 65 78 70 65 63 74 65 64 20 74  never expected t
1240: 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20  o be explicitly 
1250: 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 73 65  declared in a se
1260: 70 61 72 61 74 65 20 54 61 62 6c 65 2e 3c 62 72  parate Table.<br
1270: 3e 0d 0a 4a 75 73 74 20 61 20 73 69 6e 67 6c 65  >..Just a single
1280: 20 54 61 62 6c 65 20 64 65 63 6c 61 72 69 6e 67   Table declaring
1290: 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62   all <b>Links</b
12a0: 3e 20 69 73 20 72 65 71 75 69 72 65 64 20 69 6e  > is required in
12b0: 20 6f 72 64 65 72 20 74 6f 20 66 75 6c 6c 79 20   order to fully 
12c0: 64 65 66 69 6e 65 20 61 20 74 6f 70 6f 6c 6f 67  define a topolog
12d0: 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 4e 65 74  ically valid Net
12e0: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74  work.<br>..All t
12f0: 68 65 20 4e 6f 64 65 73 20 63 61 6e 20 74 68 65  he Nodes can the
1300: 6e 20 62 65 20 65 61 73 69 6c 79 20 65 78 74 72  n be easily extr
1310: 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 4c  acted from the L
1320: 69 6e 6b 73 27 20 64 65 66 69 6e 69 74 69 6f 6e  inks' definition
1330: 73 20 61 6e 64 20 74 68 65 20 63 6f 6f 72 64 69  s and the coordi
1340: 6e 61 74 65 73 20 66 6f 72 20 65 61 63 68 20 4e  nates for each N
1350: 6f 64 65 20 63 61 6e 20 62 65 20 64 69 72 65 63  ode can be direc
1360: 74 6c 79 20 73 65 74 20 62 79 20 65 78 74 72 61  tly set by extra
1370: 63 74 69 6e 67 20 74 68 65 20 65 78 74 72 65 6d  cting the extrem
1380: 65 20 50 6f 69 6e 74 20 6f 66 20 74 68 65 20 63  e Point of the c
1390: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e  orresponding Lin
13a0: 65 73 74 72 69 6e 67 73 2e 3c 62 72 3e 0d 0a 49  estrings.<br>..I
13b0: 66 20 61 6e 79 20 6d 69 73 6d 61 74 63 68 20 69  f any mismatch i
13c0: 73 20 64 65 74 65 63 74 65 64 20 74 68 69 73 20  s detected this 
13d0: 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 61  surely means tha
13e0: 74 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 69 73  t the Network is
13f0: 20 69 6e 76 61 6c 69 64 2e 3c 2f 6c 69 3e 0d 0a   invalid.</li>..
1400: 3c 6c 69 3e 41 20 3c 62 3e 4c 69 6e 6b 3c 2f 62  <li>A <b>Link</b
1410: 3e 20 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65  > may legitimate
1420: 6c 79 20 73 65 6c 66 2d 69 6e 74 65 72 73 65 63  ly self-intersec
1430: 74 20 69 74 73 65 6c 66 20 28 65 2e 67 2e 20 66  t itself (e.g. f
1440: 6f 72 6d 69 6e 67 20 61 20 6c 6f 6f 70 29 2c 20  orming a loop), 
1450: 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20  as shown in the 
1460: 61 62 6f 76 65 20 66 69 67 75 72 65 20 62 79 20  above figure by 
1470: 4c 69 6e 6b 20 3c 62 3e 4c 31 35 3c 2f 62 3e 20  Link <b>L15</b> 
1480: 28 6f 72 61 6e 67 65 20 73 70 6f 74 29 2e 3c 2f  (orange spot).</
1490: 6c 69 3e 0d 0a 3c 6c 69 3e 54 77 6f 20 3c 62 3e  li>..<li>Two <b>
14a0: 4c 69 6e 6b 73 3c 2f 62 3e 20 6d 61 79 20 6c 65  Links</b> may le
14b0: 67 69 74 69 6d 61 74 65 6c 79 20 69 6e 74 65 72  gitimately inter
14c0: 73 65 63 74 20 77 68 65 72 65 20 6e 6f 20 4e 6f  sect where no No
14d0: 64 65 20 65 78 69 73 74 73 2c 20 61 73 20 65 78  de exists, as ex
14e0: 65 6d 70 6c 69 66 69 65 64 20 6f 6e 20 74 68 65  emplified on the
14f0: 20 61 62 6f 76 65 20 66 69 67 75 72 65 20 62 79   above figure by
1500: 20 4c 69 6e 6b 73 20 3c 62 3e 4c 34 3c 2f 62 3e   Links <b>L4</b>
1510: 20 61 6e 64 20 3c 62 3e 4c 37 3c 2f 62 3e 20 28   and <b>L7</b> (
1520: 67 72 65 65 6e 20 73 70 6f 74 29 2e 3c 62 72 3e  green spot).<br>
1530: 0d 0a 54 68 69 73 20 75 73 75 61 6c 6c 79 20 68  ..This usually h
1540: 61 70 70 65 6e 73 20 77 68 65 6e 20 6f 6e 65 20  appens when one 
1550: 6f 66 20 74 68 65 20 74 77 6f 20 4c 69 6e 6b 73  of the two Links
1560: 20 6f 76 65 72 70 61 73 73 65 73 20 74 68 65 20   overpasses the 
1570: 6f 74 68 65 72 2c 20 6f 72 20 77 68 65 72 65 20  other, or where 
1580: 73 6f 6d 65 20 74 65 63 68 6e 69 63 61 6c 20 72  some technical r
1590: 65 73 74 72 69 63 74 69 6f 6e 20 65 78 69 73 74  estriction exist
15a0: 73 20 28 65 2e 67 2e 20 74 77 6f 20 69 6e 73 75  s (e.g. two insu
15b0: 6c 61 74 65 64 20 77 69 72 65 73 20 69 6e 20 61  lated wires in a
15c0: 6e 20 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74  n Electrical Net
15d0: 77 6f 72 6b 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  work).</li>..<li
15e0: 3e 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72  ><b>Links</b> ar
15f0: 65 6e 27 74 20 73 74 72 69 63 74 6c 79 20 72 65  en't strictly re
1600: 71 75 69 72 65 64 20 74 6f 20 62 65 20 61 73 73  quired to be ass
1610: 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 6e 79  ociated with any
1620: 20 73 70 65 63 69 66 69 63 20 61 74 74 72 69 62   specific attrib
1630: 75 74 65 2c 20 62 75 74 20 74 68 65 20 66 6f 6c  ute, but the fol
1640: 6c 6f 77 69 6e 67 20 61 74 74 72 69 62 75 74 65  lowing attribute
1650: 73 20 61 72 65 20 61 6c 6d 6f 73 74 20 75 6e 69  s are almost uni
1660: 76 65 72 73 61 6c 6c 79 20 73 75 70 70 6f 72 74  versally support
1670: 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61  ed:..<ul>..<li>a
1680: 20 3c 62 3e 6e 61 6d 65 3c 2f 62 3e 20 69 64 65   <b>name</b> ide
1690: 6e 74 69 66 79 69 6e 67 20 74 68 65 20 4c 69 6e  ntifying the Lin
16a0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70  k.<br>..<u>Examp
16b0: 6c 65 73 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e  les</u>: the <i>
16c0: 72 6f 61 64 20 74 6f 70 6f 6e 79 6d 3c 2f 69 3e  road toponym</i>
16d0: 20 69 6e 20 61 20 3c 62 3e 72 6f 61 64 20 6e 65   in a <b>road ne
16e0: 74 77 6f 72 6b 3c 2f 62 3e 2c 20 6f 72 20 74 68  twork</b>, or th
16f0: 65 20 3c 69 3e 72 69 76 65 72 20 6e 61 6d 65 3c  e <i>river name<
1700: 2f 69 3e 20 69 6e 20 61 6e 20 3c 62 3e 68 79 64  /i> in an <b>hyd
1710: 72 6f 67 72 61 70 68 69 63 20 6e 65 74 77 6f 72  rographic networ
1720: 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  k</b>.</li>..<li
1730: 3e 6f 6e 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f  >one (or even mo
1740: 72 65 29 20 61 70 70 72 6f 70 72 69 61 74 65 20  re) appropriate 
1750: 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62  <b>cost value</b
1760: 3e 28 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78  >(s).<br>..<u>Ex
1770: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 74 68 65 20 3c  ample</u>: the <
1780: 69 3e 74 69 6d 65 3c 2f 69 3e 20 72 65 71 75 69  i>time</i> requi
1790: 72 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20  red to traverse 
17a0: 74 68 65 20 4c 69 6e 6b 20 28 6d 61 79 20 62 65  the Link (may be
17b0: 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 62   distinguished b
17c0: 65 74 77 65 65 6e 20 70 65 64 65 73 74 72 69 61  etween pedestria
17d0: 6e 73 2c 20 62 69 63 79 63 6c 65 73 2c 20 63 61  ns, bicycles, ca
17e0: 72 73 2c 20 6c 6f 72 72 69 65 73 20 61 6e 64 20  rs, lorries and 
17f0: 73 6f 20 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  so on).</li>..<l
1800: 69 3e 61 20 70 61 69 72 20 6f 66 20 3c 62 3e 62  i>a pair of <b>b
1810: 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 3c 2f 62 3e  oolean flags</b>
1820: 20 28 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e   (<b>from-to</b>
1830: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c   and <b>to-from<
1840: 2f 62 3e 29 20 61 72 65 20 69 6e 74 65 6e 64 65  /b>) are intende
1850: 6e 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66  nd to specify if
1860: 20 74 68 65 20 4c 69 6e 6b 20 63 61 6e 20 62 65   the Link can be
1870: 20 74 72 61 76 65 72 73 65 64 20 6f 6e 20 62 6f   traversed on bo
1880: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72  th directions or
1890: 20 6a 75 73 74 20 69 6e 20 6f 6e 65 20 28 3c 62   just in one (<b
18a0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 2f  >one-way</b>).</
18b0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
18c0: 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c 6f 67 69  .</ul>..<h4>Logi
18d0: 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f 6e 73 3c  cal conclusions<
18e0: 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70 6f 6c 6f  /h4>..Any topolo
18f0: 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62  gically valid <b
1900: 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 28 69 72  >Network</b> (ir
1910: 72 65 73 70 65 63 74 69 76 65 20 6f 66 20 77 68  respective of wh
1920: 65 74 68 65 72 20 69 74 20 69 73 20 61 20 3c 62  ether it is a <b
1930: 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20 6f 72 20  >Spatial</b> or 
1940: 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62 3e 20 74  <b>Logical</b> t
1950: 79 70 65 29 20 69 73 20 61 20 76 61 6c 69 64 20  ype) is a valid 
1960: 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e 3c 62 72  <b>Graph</b>.<br
1970: 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 61 6c 6c  >..A Network all
1980: 6f 77 69 6e 67 20 74 68 65 20 73 75 70 70 6f 72  owing the suppor
1990: 74 20 28 64 69 72 65 63 74 20 6f 72 20 69 6e 64  t (direct or ind
19a0: 69 72 65 63 74 29 20 6f 66 20 73 6f 6d 65 20 61  irect) of some a
19b0: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 63 6f  ppropriate <b>co
19c0: 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20 69 73 20  st value</b> is 
19d0: 61 20 76 61 6c 69 64 20 3c 62 3e 57 65 69 67 68  a valid <b>Weigh
19e0: 74 65 64 20 47 72 61 70 68 3c 2f 62 3e 2c 20 61  ted Graph</b>, a
19f0: 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71 75 65 6e  nd can consequen
1a00: 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 52  tly support <b>R
1a10: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d  outing algorithm
1a20: 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20  s</b>.<br>..All 
1a30: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68  Routing algorith
1a40: 6d 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20  ms are intended 
1a50: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
1a60: 3c 62 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  <b>Shortest Path
1a70: 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 63 6f  </b> solution co
1a80: 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20 3c 62 3e  nnecting two <b>
1a90: 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20 3c  Nodes</b> in a <
1aa0: 62 3e 77 65 69 67 68 74 65 64 20 67 72 61 70 68  b>weighted graph
1ab0: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
1ac0: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 29   <b>Network</b>)
1ad0: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75  .<br><br>..<b><u
1ae0: 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74  >Note</u></b>: t
1af0: 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69 3e 53 68  he term <b><i>Sh
1b00: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 69 3e 3c  ortest Path</i><
1b10: 2f 62 3e 20 63 61 6e 20 62 65 20 65 61 73 69 6c  /b> can be easil
1b20: 79 20 6d 69 73 75 6e 64 65 72 73 74 6f 6f 64 2e  y misunderstood.
1b30: 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20 68 69 73  <br>..Due to his
1b40: 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 20  torical reasons 
1b50: 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20  the most common 
1b60: 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c  application fiel
1b70: 64 20 66 6f 72 20 52 6f 75 74 69 6e 67 20 61 6c  d for Routing al
1b80: 67 6f 72 69 74 68 6d 73 20 69 73 20 72 65 6c 61  gorithms is rela
1b90: 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61 64 20 4e  ted to <b>Road N
1ba0: 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20 62 75 74  etworks</b>, but
1bb0: 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74 68 65 72   also many other
1bc0: 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74 77 6f 72   kinds of Networ
1bd0: 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75 6c 3e 0d  ks exist:..<ul>.
1be0: 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61 70 68 69  .<li>Hydrographi
1bf0: 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e  c Networks.</li>
1c00: 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57 61 74 65  ..<li>Gas / Wate
1c10: 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f 72 6b 73  r / Oil Networks
1c20: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 6c 65 63  .</li>..<li>Elec
1c30: 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 2e  trical Networks.
1c40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 65 63  </li>..<li>Telec
1c50: 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e 65 74 77  omunication Netw
1c60: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  orks.</li>..<li>
1c70: 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f 6e 6f 6d  Social or Econom
1c80: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65  ical Networks re
1c90: 70 72 65 73 65 6e 74 69 6e 67 20 72 65 6c 61 74  presenting relat
1ca0: 69 6f 6e 73 68 69 70 73 20 62 65 74 77 65 65 6e  ionships between
1cb0: 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20   individuals or 
1cc0: 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c 69 3e 0d  companies.</li>.
1cd0: 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f 6c 6f 67  .<li>Epidemiolog
1ce0: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65  ical Networks re
1cf0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70  presenting the p
1d00: 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 69 6e  ropagation of in
1d10: 66 65 63 74 69 76 65 20 64 69 73 65 61 73 65 73  fective diseases
1d20: 20 62 65 74 77 65 65 6e 20 69 6e 64 69 76 69 64   between individ
1d30: 75 61 6c 73 20 6f 72 20 67 72 6f 75 70 73 2e 3c  uals or groups.<
1d40: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
1d50: 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61 6c 6c 20   ..<br>..In all 
1d60: 74 68 65 20 61 62 6f 76 65 20 63 61 73 65 73 20  the above cases 
1d70: 77 65 20 63 65 72 74 61 69 6e 6c 79 20 68 61 76  we certainly hav
1d80: 65 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b 73  e valid Networks
1d90: 20 73 75 70 70 6f 72 74 69 6e 67 20 52 6f 75 74   supporting Rout
1da0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e 73 2c 20  ing algorithns, 
1db0: 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f 66 20 74  but not all of t
1dc0: 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79 20 73 6f  hem can imply so
1dd0: 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 61 20 3c  mething like a <
1de0: 69 3e 73 70 61 74 69 61 6c 20 64 69 73 74 61 6e  i>spatial distan
1df0: 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65 6f 6d 65  ce</i> (<i>geome
1e00: 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f 69 3e 29  tric length</i>)
1e10: 20 6f 72 20 61 20 3c 69 3e 74 72 61 76 65 6c 20   or a <i>travel 
1e20: 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 49  time</i>.<br>..I
1e30: 6e 20 74 68 65 20 6d 6f 73 74 20 67 65 6e 65 72  n the most gener
1e40: 61 6c 20 61 63 63 65 70 74 69 6f 6e 20 3c 62 3e  al acception <b>
1e50: 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65  costs</b> can be
1e60: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
1e70: 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c 65 20 70  any reasonable p
1e80: 68 79 73 69 63 61 6c 20 71 75 61 6e 74 69 74 79  hysical quantity
1e90: 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d 6f 72 65  .<br>..So a more
1ea0: 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 64 65 66   generalized def
1eb0: 69 6e 69 74 69 6f 6e 20 69 73 20 61 73 73 75 6d  inition is assum
1ec0: 69 6e 67 20 74 68 61 74 20 52 6f 75 74 69 6e 67  ing that Routing
1ed0: 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 72 65 20   algorithms are 
1ee0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 64 65 6e  intended to iden
1ef0: 74 69 66 79 20 3c 62 3e 6c 65 73 73 65 72 20 63  tify <b>lesser c
1f00: 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e  ost</b> solution
1f10: 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69 67 68 74  s on a <b>weight
1f20: 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e 3c 62 72  ed graph</b>.<br
1f30: 3e 0d 0a 54 68 65 20 65 78 61 63 74 20 69 6e 74  >..The exact int
1f40: 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 74  erpretation of t
1f50: 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c 62 3e 63  he involved <b>c
1f60: 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  osts</b> (<i>aka
1f70: 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68 74 73 3c  </i> <b>weights<
1f80: 2f 62 3e 29 20 73 74 72 69 63 74 6c 79 20 64 65  /b>) strictly de
1f90: 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 76 65 72  pends on the ver
1fa0: 79 20 73 70 65 63 69 66 69 63 20 6e 61 74 75 72  y specific natur
1fb0: 65 20 6f 66 20 65 61 63 68 20 4e 65 74 77 6f 72  e of each Networ
1fc0: 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44 69 6a 6b  k...<h3>The Dijk
1fd0: 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d  stra's algorithm
1fe0: 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77 65 6c 6c  </h3>..This well
1ff0: 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22   known <a href="
2000: 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
2010: 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 44 69  edia.org/wiki/Di
2020: 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c 67 6f 72  jkstra%27s_algor
2030: 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74 68 6d 3c  ithm">algorithm<
2040: 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63 65 73 73  /a> isn't necess
2050: 61 72 69 6c 79 20 74 68 65 20 66 61 73 74 65 73  arily the fastes
2060: 74 20 6f 6e 65 2c 20 62 75 74 20 69 74 20 61 6c  t one, but it al
2070: 77 61 79 73 20 65 6e 73 75 72 65 73 20 3c 62 3e  ways ensures <b>
2080: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73  full correctness
2090: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  </b>:..<ul>..<li
20a0: 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d 4e 6f 64  >Any Node-to-Nod
20b0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 64 65  e connection ide
20c0: 6e 74 69 66 69 65 64 20 62 79 20 44 69 6a 6b 73  ntified by Dijks
20d0: 74 72 61 27 73 20 69 73 20 63 65 72 74 61 69 6e  tra's is certain
20e0: 6c 79 20 65 6e 73 75 72 65 64 20 74 6f 20 62 65  ly ensured to be
20f0: 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 2e   <b>optimal</b>.
2100: 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77  <br>..In other w
2110: 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e 65 74 63  ords, no connetc
2120: 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e 67 20  tion presenting 
2130: 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63 61 6e  a lower cost can
2140: 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 78   conceptually ex
2150: 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57  ist.</li>..<li>W
2160: 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73 20 66  hen Dijsjtra's f
2170: 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69 66 79  ails to identify
2180: 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68 69 73   a solution this
2190: 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68   surely means th
21a0: 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e 20 69  at no solution i
21b0: 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e  s possible.</li>
21c0: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54 68 65  ..</ul>..<h3>The
21d0: 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 68   A* algorithm</h
21e0: 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72 6e 61  3>..Many alterna
21f0: 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61 6c 67  tive Routing alg
2200: 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62 65 65  orithms have bee
2210: 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72 69 6e  n invented durin
2220: 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62 72 3e  g the years.<br>
2230: 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65 20 62  ..All them are b
2240: 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69  ased on heuristi
2250: 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 6e  c assumptions an
2260: 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74  d are intended t
2270: 6f 20 62 65 20 66 61 73 74 65 72 20 74 68 61 6e  o be faster than
2280: 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62 75 74   Dijkstra's, but
2290: 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 63 61   none of them ca
22a0: 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75 6c 6c  n ensure <b>full
22b0: 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f 62 3e   correctness</b>
22c0: 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73 20 64   as Dijkstra's d
22d0: 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20 3c 61  oes.<br>..The <a
22e0: 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65   href="https://e
22f0: 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f  n.wikipedia.org/
2300: 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68 5f 61  wiki/A*_search_a
2310: 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61 6c 67  lgorithm">A* alg
2320: 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70 6c 69  orithm</a> appli
2330: 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72 69 73  es a mild heuris
2340: 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  tic optimization
2350: 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61 20 72  , and can be a r
2360: 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72 6e 61  ealistic alterna
2370: 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74 72 61  tive to Dijkstra
2380: 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73  's in many cases
2390: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d  .<br><br>..<hr>.
23a0: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 73 61  .<h1><a name="sa
23b0: 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65 20 73 61  mple">2 - The sa
23c0: 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f 61 3e  mple/test DB</a>
23d0: 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65 20 65  </h1>..You are e
23e0: 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c 6c 6f  xpected to follo
23f0: 77 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 75  w the current tu
2400: 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c 62 3e  torial about <b>
2410: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
2420: 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79 20 74  b> by directly t
2430: 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c 20 71  esting all SQL q
2440: 75 65 72 69 65 73 20 64 69 73 63 75 73 73 65 64  ueries discussed
2450: 20 62 65 6c 6f 77 20 6f 6e 20 62 65 68 61 6c 66   below on behalf
2460: 20 6f 66 20 74 68 65 20 3c 61 20 68 72 65 66 3d   of the <a href=
2470: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
2480: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
2490: 6e 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c  ns/routing-sampl
24a0: 65 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70  e-5.0.0.7z">samp
24b0: 6c 65 2f 74 65 73 74 20 44 42 20 74 68 61 74 20  le/test DB that 
24c0: 79 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64  you can download
24d0: 20 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62   from here</a><b
24e0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70  r><br>..The samp
24f0: 6c 65 20 44 42 20 63 6f 6e 74 61 69 6e 73 20 74  le DB contains t
2500: 68 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20  he full <b>road 
2510: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c  network</b> of <
2520: 62 3e 54 75 73 63 61 6e 79 20 52 65 67 69 6f 6e  b>Tuscany Region
2530: 20 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61   (Italy)</b> (<a
2540: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
2550: 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73  w502.regione.tos
2560: 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69  cana.it/geoscopi
2570: 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f  o/download/grafo
2580: 5f 73 74 72 61 64 61 6c 65 2f 69 74 65 72 6e 65  _stradale/iterne
2590: 74 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65 74 20  t.zip">Iter.Net 
25a0: 64 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e  dataset</a>) kin
25b0: 64 6c 79 20 72 65 6c 65 61 73 65 64 20 75 6e 64  dly released und
25c0: 65 72 20 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d  er the <b>CC-BY-
25d0: 53 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e  SA 4.0</b> licen
25e0: 63 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 54  ce terms.<br>..T
25f0: 68 65 20 63 6f 6e 74 65 6e 74 73 20 73 74 6f 72  he contents stor
2600: 65 64 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 70  ed into the samp
2610: 6c 65 20 64 61 74 61 62 61 73 65 20 77 65 72 65  le database were
2620: 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 72 65 61   opportunely rea
2630: 72 72 61 6e 67 65 64 2c 20 61 6e 64 20 61 72 65  rranged, and are
2640: 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74   still subject t
2650: 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 20 3c 62  o the initial <b
2660: 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62  >CC-BY-SA 4.0</b
2670: 3e 20 63 6c 61 75 73 65 73 20 28 3c 69 3e 64 65  > clauses (<i>de
2680: 72 69 76 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e  rived work</i>).
2690: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e  ..<br><br>..<ul>
26a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 6e  ..<li>all road n
26b0: 61 6d 65 73 20 61 72 65 20 73 74 6f 72 65 64 20  ames are stored 
26c0: 77 69 74 68 69 6e 20 74 68 65 20 3c 62 3e 74 6f  within the <b>to
26d0: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65  ponyms</b> Table
26e0: 2e 3c 62 72 3e 0d 0a 74 68 65 20 73 61 6d 65 20  .<br>..the same 
26f0: 72 6f 61 64 20 6e 61 6d 65 20 63 6f 75 6c 64 20  road name could 
2700: 62 65 20 75 73 65 64 20 69 6e 20 64 69 66 66 65  be used in diffe
2710: 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c 69 74  rent Municipalit
2720: 69 65 73 2c 20 73 6f 20 74 68 65 20 3c 62 3e 74  ies, so the <b>t
2730: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c  oponyms</b> Tabl
2740: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72  e relationally r
2750: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62  eferences the <b
2760: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c  >municipalities<
2770: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c  /b> Table (via <
2780: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20  b>PRIMARY</b> / 
2790: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f  <b>FOREIGN KEY</
27a0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73  b> relationships
27b0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  ).</li>..<li>the
27c0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70   <b>roads</b> Sp
27d0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74  atial Table cont
27e0: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38  ains about <b>38
27f0: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c  0,000</b> Links,
2800: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c   and has the fol
2810: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d  lowing columns:.
2820: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64  .<ul>..<li><b>id
2830: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65  </b>: unique ide
2840: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20  ntifier of each 
2850: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59  Link (<b>PRIMARY
2860: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2870: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f  .<li><b>node_fro
2880: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64  m</b> and <b>nod
2890: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69  e_to</b>: Node i
28a0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65  dentifiers...The
28b0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e   original Iter.N
28c0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74  et dataset adopt
28d0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63  s very long an c
28e0: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65  omplex alphanume
28f0: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20  ric Node codes; 
2900: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65  the integer Node
2910: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e   IDs were obtain
2920: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
2930: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  e <b>CreateRouti
2940: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51  ngNodes()</b> SQ
2950: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75  L function discu
2960: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77  ssed in a follow
2970: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69  ing section.</li
2980: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70  >..<li><b>id_top
2990: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69  onym</b>: relati
29a0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74  onal reference t
29b0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  o the correspond
29c0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f  ing road name co
29d0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65  ntained into the
29e0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
29f0: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49   Table (<b>FOREI
2a00: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  GN KEY</b>).</li
2a10: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f  >..<li><b>speed_
2a20: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74  kmh</b>: the est
2a30: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73  imated average s
2a40: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62  peed supported b
2a50: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72  y the Link, expr
2a60: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68  essed in <b>km/h
2a70: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  </b>.<br>..<u>No
2a80: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74  te</u>: <b>negat
2a90: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69  ive</b> speeds i
2aa0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65  ntend a forbidde
2ab0: 6e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  n Link.</li>..<l
2ac0: 69 3e 3c 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d  i><b>oneway_from
2ad0: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e  to</b> and <b>on
2ae0: 65 77 61 79 5f 74 6f 66 72 6f 6d 3c 2f 62 3e 3a  eway_tofrom</b>:
2af0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 69   boolean flags i
2b00: 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 61 74 65  ntended to state
2b10: 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62   if a Link can b
2b20: 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62  e traversed in b
2b30: 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f  oth directions o
2b40: 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67  r just in a sing
2b50: 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62  le direction (<b
2b60: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62  >one-way</b>).<b
2b70: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  r>..<u>Note</u>:
2b80: 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61   all Links decla
2b90: 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66  ring <b>oneway_f
2ba0: 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20  romto=0</b> and 
2bb0: 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d  <b>oneway_tofrom
2bc0: 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e  =0</b> are inten
2bd0: 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73  ded to be always
2be0: 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e   forbidden.</li>
2bf0: 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62  ..<li><b>cost</b
2c00: 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f  >: the <b>time</
2c10: 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  b> expressed in 
2c20: 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72  <b>seconds</b> r
2c30: 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65  equired to trave
2c40: 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62  rse each Link.<b
2c50: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f  r>..<u>Note #1</
2c60: 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72  u> all costs wer
2c70: 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63  e calculated acc
2c80: 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
2c90: 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c  following formul
2ca0: 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53  a: <b>cost = ((S
2cb0: 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f  T_Length(geom) /
2cc0: 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64   1000.0) / speed
2cd0: 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f  _kmh) * 3600.0</
2ce0: 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20  b><br>..<u>Note 
2cf0: 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36  #2</u> all <b>86
2d00: 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20  ,400.0</b> cost 
2d10: 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65  values (equivale
2d20: 6e 74 20 74 6f 20 31 20 64 61 79 29 20 61 70 70  nt to 1 day) app
2d30: 72 6f 78 69 6d 61 74 65 20 61 6e 20 3c 62 3e 69  roximate an <b>i
2d40: 6e 66 69 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f  nfinitive cost</
2d50: 62 3e 20 74 68 75 73 20 69 6e 74 65 6e 64 69 6e  b> thus intendin
2d60: 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e  g a <b>forbidden
2d70: 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d  </b> Link.</li>.
2d80: 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e  .<li><b>geom</b>
2d90: 3a 20 61 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74  : a <b>3D Linest
2da0: 72 69 6e 67 3c 2f 62 3e 20 72 65 70 72 65 73 65  ring</b> represe
2db0: 6e 74 69 6e 67 20 74 68 65 20 47 65 6f 6d 65 74  nting the Geomet
2dc0: 72 79 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e  ry of each Link.
2dd0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
2de0: 3e 3a 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20  >: the original 
2df0: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20  <b>Iter.Net</b> 
2e00: 64 61 74 61 73 65 74 20 69 73 20 6a 75 73 74 20  dataset is just 
2e10: 3c 62 3e 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61  <b>2D</b>; eleva
2e20: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20  tions (<b>Z</b> 
2e30: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72  coordinates) wer
2e40: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62  e interpolated b
2e50: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61  y draping the da
2e60: 74 61 73 65 74 20 6f 76 65 72 20 61 6e 20 3c 61  taset over an <a
2e70: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
2e80: 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73  w502.regione.tos
2e90: 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69  cana.it/geoscopi
2ea0: 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d  o/download/altim
2eb0: 65 74 72 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f  etria/da_ctr10k/
2ec0: 67 62 2f 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63  gb/DTM_Orografic
2ed0: 6f 2e 37 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63  o.7z">orographic
2ee0: 20 44 45 4d 20 28 31 30 6d 20 58 20 31 30 6d 20   DEM (10m X 10m 
2ef0: 63 65 6c 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d  cells)</a></li>.
2f00: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
2f10: 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77  >the <b>roads_vw
2f20: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 56 69 65  </b> Spatial Vie
2f30: 77 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64  w is just intend
2f40: 65 64 20 74 6f 20 66 75 6c 6c 79 20 72 65 73 6f  ed to fully reso
2f50: 6c 76 65 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e  lve all relation
2f60: 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65  al references be
2f70: 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f  tween <b>roads</
2f80: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c  b>, <b>toponyms<
2f90: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63  /b> and <b>munic
2fa0: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74  ipalities</b>, t
2fb0: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72  hus allowing for
2fc0: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72   easier SQL quer
2fd0: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ies.</li>..<li>t
2fe0: 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f  he <b>house_nr</
2ff0: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65  b> Spatial Table
3000: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20   contains about 
3010: 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e  <b>1,480,000</b>
3020: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c 20   House Numbers, 
3030: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  and has the foll
3040: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a  owing columns:..
3050: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c  <ul>..<li><b>id<
3060: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e  /b>: unique iden
3070: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 48  tifier of each H
3080: 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e  ouse Number (<b>
3090: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29  PRIMARY KEY</b>)
30a0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  .</li>..<li><b>i
30b0: 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61  d_road</b>: rela
30c0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
30d0: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
30e0: 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61  nding Link conta
30f0: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62  ined into the <b
3100: 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65  >roads</b> Table
3110: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59   (<b>FOREIGN KEY
3120: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </b>).</li>..<li
3130: 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74  ><b>label</b>: t
3140: 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65 6c  he textual label
3150: 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e   fully qualifyin
3160: 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d  g each House Num
3170: 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ber.</li>..<li><
3180: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62  b>geom</b>: a <b
3190: 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65  >3D Point</b> re
31a0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 47  presenting the G
31b0: 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68 20  eometry of each 
31c0: 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72  House Number.<br
31d0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
31e0: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73 20  >: also in this 
31f0: 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74 69  case all elevati
3200: 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f  ons (<b>Z</b> co
3210: 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20  ordinates) were 
3220: 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20  interpolated by 
3230: 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61  draping the data
3240: 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61 6d  set over the sam
3250: 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c  e DEM as above.<
3260: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c  br>..<u>Note #2<
3270: 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73 70  /u>: strictly sp
3280: 65 63 6b 69 6e 67 20 74 68 65 20 48 6f 75 73 65  ecking the House
3290: 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f 74   Numbers are not
32a0: 20 70 61 72 74 20 6f 66 20 74 68 65 20 52 6f 61   part of the Roa
32b0: 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65 79 20  d Network; they 
32c0: 61 72 65 20 69 6e 63 6c 75 64 65 20 69 6e 74 6f  are include into
32d0: 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74   the sample/test
32e0: 20 64 61 74 61 62 61 73 65 20 6a 75 73 74 20 62   database just b
32f0: 65 63 61 75 73 65 20 74 68 65 79 27 6c 6c 20 62  ecause they'll b
3300: 65 20 75 73 65 66 75 6c 20 69 6e 20 73 6f 6d 65  e useful in some
3310: 20 6f 66 20 74 68 65 20 65 78 61 6d 70 6c 65 73   of the examples
3320: 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 62 65   explained in be
3330: 6c 6f 77 20 70 61 72 61 67 72 61 70 68 73 2e 3c  low paragraphs.<
3340: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
3350: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75  ..<li>the <b>hou
3360: 73 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61  se_nr_vw</b> Spa
3370: 74 69 61 6c 20 56 69 65 77 20 69 73 20 6a 75 73  tial View is jus
3380: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 66 75  t intended to fu
3390: 6c 6c 79 20 72 65 73 6f 6c 76 65 20 61 6c 6c 20  lly resolve all 
33a0: 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72  relational refer
33b0: 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20 3c 62  ences between <b
33c0: 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c 20 3c  >house_nr</b>, <
33d0: 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 3e  b>roads</b>, <b>
33e0: 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e 64  toponyms</b> and
33f0: 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69   <b>municipaliti
3400: 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61 6c 6c  es</b>, thus all
3410: 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69 65 72  owing for easier
3420: 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c 2f 6c   SQL queries.</l
3430: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
3440: 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e  . <hr>..<h1><a n
3450: 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33 20 2d  ame="create">3 -
3460: 20 43 72 65 61 74 69 6e 67 20 56 69 72 74 75 61   Creating Virtua
3470: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 3c  lRouting Tables<
3480: 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20 56 69  /a></h1>..All Vi
3490: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 75 65  rtualRouting que
34a0: 72 69 65 73 20 61 72 65 20 62 61 73 65 64 20 6f  ries are based o
34b0: 6e 20 73 6f 6d 65 20 3c 62 3e 56 69 72 74 75 61  n some <b>Virtua
34c0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f  lRouting Table</
34d0: 62 3e 2c 20 61 6e 64 20 69 6e 20 74 75 72 6e 20  b>, and in turn 
34e0: 61 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69  any VirtualRouti
34f0: 6e 67 20 54 61 62 6c 65 20 69 73 20 62 61 73 65  ng Table is base
3500: 64 20 6f 6e 20 73 6f 6d 65 20 61 70 70 72 6f 70  d on some approp
3510: 72 69 61 74 65 20 3c 62 3e 42 69 6e 61 72 79 20  riate <b>Binary 
3520: 44 61 74 61 20 54 61 62 6c 65 3c 2f 62 3e 20 73  Data Table</b> s
3530: 75 70 70 6f 72 74 69 6e 67 20 61 6e 20 65 66 66  upporting an eff
3540: 69 63 69 65 6e 74 20 72 65 70 72 65 73 65 6e 74  icient represent
3550: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 75 6e 64  ation of the und
3560: 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  erlying Network.
3570: 3c 62 72 3e 0d 0a 53 6f 20 77 65 27 6c 6c 20 73  <br>..So we'll s
3580: 74 61 72 74 20 66 69 72 73 74 20 62 79 20 63 72  tart first by cr
3590: 65 61 74 69 6e 67 20 73 75 63 68 20 74 61 62 6c  eating such tabl
35a0: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  es.<br><br>..The
35b0: 20 6f 6c 64 20 61 6e 64 20 6e 6f 77 20 73 75 70   old and now sup
35c0: 65 72 73 65 64 65 64 20 3c 62 3e 56 69 72 74 75  erseded <b>Virtu
35d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65  alNetwork</b> re
35e0: 71 75 69 72 65 64 20 75 73 69 6e 67 20 61 20 73  quired using a s
35f0: 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c  eparate CLI tool
3600: 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f   (<b>spatialite_
3610: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20  network</b>) in 
3620: 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c  order to properl
3630: 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56  y initialize a V
3640: 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61  irtualNetwork Ta
3650: 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70  ble and its comp
3660: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74  anion Binary Dat
3670: 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e  a Table;..altern
3680: 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69  atively <b>spati
3690: 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75  alite_gui</b> su
36a0: 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49  pported a <b>GUI
36b0: 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20   wizard</b> for 
36c0: 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53  the same task. S
36d0: 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e  ince version <b>
36e0: 35 2e 30 2e 30 3c 2f 62 3e 20 6e 6f 77 20 53 70  5.0.0</b> now Sp
36f0: 61 74 69 61 4c 69 74 65 20 64 69 72 65 63 74 6c  atiaLite directl
3700: 79 20 73 75 70 70 6f 72 74 73 20 61 20 73 70 65  y supports a spe
3710: 63 69 66 69 63 20 3c 62 3e 43 72 65 61 74 65 52  cific <b>CreateR
3720: 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c  outing()</b> SQL
3730: 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72   function...<ver
3740: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43  batim>..SELECT C
3750: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79  reateRouting('by
3760: 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66  foot_data', 'byf
3770: 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27  oot', 'roads_vw'
3780: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27  , 'node_from', '
3790: 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c  nodeto', 'geom',
37a0: 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43   NULL);....SELEC
37b0: 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f  T CreateRouting_
37c0: 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d  GetLastError();.
37d0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
37e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
37f0: 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 43 6f  -----..ToNode Co
3800: 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73  lumn "nodeto" is
3810: 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20   not defined in 
3820: 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d  the Input Table.
3830: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75  .</verbatim>..<u
3840: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20  >Note</u>: this 
3850: 66 69 72 73 74 20 71 75 65 72 79 20 28 62 61 73  first query (bas
3860: 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 72 65 64  ed on the <i>red
3870: 75 63 65 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66  uced form</i> of
3880: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
3890: 67 3c 2f 62 3e 29 20 63 6f 6e 74 61 69 6e 73 20  g</b>) contains 
38a0: 61 6e 20 69 6e 74 65 6e 64 65 64 20 65 72 72 6f  an intended erro
38b0: 72 20 63 61 75 73 69 6e 67 20 61 20 66 61 69 6c  r causing a fail
38c0: 75 72 65 20 61 6e 64 20 74 68 75 73 20 72 61 69  ure and thus rai
38d0: 73 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f  sing an exceptio
38e0: 6e 2e 3c 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f  n.<br>..CreateRo
38f0: 75 74 69 6e 67 28 29 20 63 61 6e 20 66 61 69 6c  uting() can fail
3900: 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 72 65   for multiple re
3910: 61 73 6f 6e 73 2c 20 61 6e 64 20 62 79 20 63 61  asons, and by ca
3920: 6c 6c 69 6e 67 20 3c 62 3e 43 72 65 61 74 65 52  lling <b>CreateR
3930: 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72  outing_GetLastEr
3940: 72 6f 72 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61  ror()</b> you ca
3950: 6e 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66  n easily identif
3960: 79 20 74 68 65 20 65 78 61 63 74 20 72 65 61 73  y the exact reas
3970: 6f 6e 20 77 68 79 20 74 68 65 20 6d 6f 73 74 20  on why the most 
3980: 72 65 63 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43  recent call to C
3990: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 66  reateRouting() f
39a0: 61 69 6c 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72  ailed.<br>..<ver
39b0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43  batim>..SELECT C
39c0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79  reateRouting('by
39d0: 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66  foot_data', 'byf
39e0: 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27  oot', 'roads_vw'
39f0: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27  , 'node_from', '
3a00: 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27  node_to', 'geom'
3a10: 2c 20 4e 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d  , NULL, 'toponym
3a20: 27 2c 20 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d  ', 1, 1);..-----
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53  --------..1....S
3a40: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
3a50: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
3a60: 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ();..-----------
3a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d  ---------..NULL.
3a90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
3aa0: 69 73 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70  is second attemp
3ab0: 74 20 69 73 20 66 69 6e 61 6c 6c 79 20 73 75 63  t is finally suc
3ac0: 63 65 73 73 66 75 6c 2c 20 61 6e 64 20 6e 6f 77  cessful, and now
3ad0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3ae0: 20 72 65 74 75 72 6e 73 20 3c 62 3e 31 3c 2f 62   returns <b>1</b
3af0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
3b00: 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 6e 64 20  >TRUE</b>), and 
3b10: 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c  as you can easil
3b20: 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 68 65 20  y check now the 
3b30: 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e  Database contain
3b40: 73 20 74 77 6f 20 6e 65 77 20 54 61 62 6c 65 73  s two new Tables
3b50: 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20  : <b>byfoot</b> 
3b60: 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 5f 64 61  and <b>byfoot_da
3b70: 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  ta</b>.<br>..<u>
3b80: 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 65 72 20  Note</u>: after 
3b90: 61 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 6c  a successful cal
3ba0: 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74 69  l to CreateRouti
3bb0: 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 65 52 6f  ng() <b>CreateRo
3bc0: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72  uting_GetLastErr
3bd0: 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c  or()</b> will al
3be0: 77 61 79 73 20 72 65 74 75 72 6e 20 3c 62 3e 4e  ways return <b>N
3bf0: 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  ULL</b>.<br><br>
3c00: 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74 20 75 73  ..You've just us
3c10: 65 64 20 6f 6e 65 20 6f 66 20 74 68 65 20 3c 69  ed one of the <i
3c20: 3e 70 61 72 74 69 61 6c 6c 79 20 72 65 64 75 63  >partially reduc
3c30: 65 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43  ed form</i> of C
3c40: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20  reateRouting(); 
3c50: 6c 65 74 27 73 20 73 65 65 20 69 6e 20 6d 6f 72  let's see in mor
3c60: 65 20 64 65 70 74 68 20 61 6c 6c 20 74 68 65 20  e depth all the 
3c70: 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 74 68  arguments and th
3c80: 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f  eir meaning:..<o
3c90: 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f  l>..<li><i>byfoo
3ca0: 74 5f 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20  t_data</i>: the 
3cb0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77  name of the Netw
3cc0: 6f 72 6b 20 42 69 6e 61 72 79 20 44 61 74 61 20  ork Binary Data 
3cd0: 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72 65 61  Table to be crea
3ce0: 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ted.</li>..<li><
3cf0: 69 3e 62 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68  i>byfoot</i>: th
3d00: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 56 69  e name of the Vi
3d10: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
3d20: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64  le to be created
3d30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72  .</li>..<li><i>r
3d40: 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65  oads_vw</i>: the
3d50: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e   name of the <b>
3d60: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62  Spatial Table</b
3d70: 3e 20 6f 72 20 3c 62 3e 53 70 61 74 69 61 6c 20  > or <b>Spatial 
3d80: 56 69 65 77 3c 2f 62 3e 20 72 65 70 72 65 73 65  View</b> represe
3d90: 6e 74 69 6e 67 20 74 68 65 20 75 6e 64 65 72 6c  nting the underl
3da0: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72  ying Network.<br
3db0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
3dc0: 69 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20  in this case we 
3dd0: 61 63 74 75 61 6c 6c 79 20 75 73 65 64 20 61 20  actually used a 
3de0: 53 70 61 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c  Spatial View.</l
3df0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f  i>..<li><i>node_
3e00: 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  from</i>: name o
3e10: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e  f the column (in
3e20: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
3e30: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74   or View) expect
3e40: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62  ed to contain <b
3e50: 3e 6e 6f 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76  >node-from</b> v
3e60: 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  alues.</li>..<li
3e70: 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a  ><i>node_to</i>:
3e80: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
3e90: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
3ea0: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
3eb0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
3ec0: 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c  tain <b>node-to<
3ed0: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e  /b> values.</li>
3ee0: 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69  ..<li><i>geom</i
3ef0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
3f00: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62  olumn (in the ab
3f10: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65  ove Table or Vie
3f20: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63  w) expected to c
3f30: 6f 6e 74 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74  ontain <b>Linest
3f40: 72 69 6e 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  rings</b>.<br>..
3f50: 57 65 20 63 6f 75 6c 64 20 68 61 76 65 20 6c 65  We could have le
3f60: 67 69 74 69 6d 61 74 65 6c 79 20 70 61 73 73 65  gitimately passe
3f70: 64 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20  d a <b>NULL</b> 
3f80: 76 61 6c 75 65 20 66 6f 72 20 74 68 69 73 20 61  value for this a
3f90: 72 67 75 6d 65 6e 74 20 69 6e 20 74 68 65 20 63  rgument in the c
3fa0: 61 73 65 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69  ase of a <b>Logi
3fb0: 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e  cal Network</b>.
3fc0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55  </li>..<li><i>NU
3fd0: 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  LL</i>: name of 
3fe0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
3ff0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
4000: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
4010: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63   to contain <b>c
4020: 6f 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c  ost</b> values.<
4030: 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73  br>..In this cas
4040: 65 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64  e we have passed
4050: 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76   a <b>NULL</b> v
4060: 61 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71  alue, and conseq
4070: 75 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f  uently the <b>co
4080: 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c  st</b> of each L
4090: 69 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75  ink will be assu
40a0: 6d 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73  med to be repres
40b0: 65 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  ented by the <b>
40c0: 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68  geometric length
40d0: 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72  </b> of the corr
40e0: 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74  esponding Linest
40f0: 72 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  ring.<br>..<u>No
4100: 74 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68  te #1</u>: in th
4110: 65 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72  e case of Networ
4120: 6b 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c  ks based on <b>l
4130: 6f 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e  ongitudes</b> an
4140: 64 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f  d <b>latitudes</
4150: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
4160: 62 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e  b>geographic</b>
4170: 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65   Reference Syste
4180: 6d 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79  ms) the geometry
4190: 20 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c   length of all L
41a0: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20  inestrings will 
41b0: 62 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e  be precisely <b>
41c0: 6d 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20  measured on the 
41d0: 65 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79  ellipsoid</b> by
41e0: 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f   applying the mo
41f0: 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67  st accurate <b>g
4200: 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 65  eodesic formulae
4210: 3c 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 62 65  </b> and will be
4220: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 65 78   consequently ex
4230: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65  pressed in <b>me
4240: 74 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79  ters</b>. In any
4250: 20 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e   other case (<b>
4260: 70 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65  projected</b> Re
4270: 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29  ference Systems)
4280: 20 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65   lengths will be
4290: 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68   expressed in th
42a0: 65 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69  e <b>measure uni
42b0: 74 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79  t</b> defined by
42c0: 20 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53   the Reference S
42d0: 79 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d  ystem (e.g. <b>m
42e0: 65 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62  eters</b> for <b
42f0: 3e 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74  >UTM</b> project
4300: 69 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74  ions and <b>feet
4310: 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d  </b> for <b>NAD-
4320: 66 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f  ft</b> projectio
4330: 6e 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ns).<br>..<u>Not
4340: 65 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62  e #2</u>: the <b
4350: 3e 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e  >geom-column</b>
4360: 20 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c   and <b>cost-col
4370: 75 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74  umn</b> argument
4380: 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f  s are never allo
4390: 77 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c  wed to be <b>NUL
43a0: 4c 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d  L</b> at the sam
43b0: 65 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  e time.</li>..<l
43c0: 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e  i><i>toponym</i>
43d0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
43e0: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f  lumn (in the abo
43f0: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77  ve Table or View
4400: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  ) expected to co
4410: 6e 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61  ntain <b>road-na
4420: 6d 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62  me</b> values.<b
4430: 72 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20  r>..It could be 
4440: 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74  legitimately set
4450: 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20   to <b>NULL</b> 
4460: 69 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65  if all Links are
4470: 20 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e   anonymous.</li>
4480: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20  ..<li><i>1</i>: 
4490: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69  a boolean flag i
44a0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69  ntended to speci
44b0: 66 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72  fy if the Networ
44c0: 6b 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74  k must support t
44d0: 68 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74  he <b>A* algorit
44e0: 68 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73  hm</b> or not (s
44f0: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62  et to <b>TRUE</b
4500: 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f  > by default).</
4510: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69  li>..<li><i>1</i
4520: 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61  >: a boolean fla
4530: 67 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70  g intended to sp
4540: 65 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74  ecify if all Net
4550: 77 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65  work's Links are
4560: 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c   assumed to be <
4570: 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c  b>bidirectional<
4580: 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75  /b> or not (assu
4590: 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55  med to be <b>TRU
45a0: 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74  E</b> by default
45b0: 29 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d  ).</li> ..</ol>.
45c0: 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
45d0: 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
45e0: 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
45f0: 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
4600: 74 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63  td>..<h3>Technic
4610: 61 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68  al note</h3>..Th
4620: 65 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64  e internal encod
4630: 69 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74  ing adopted by t
4640: 68 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74  he <b>Binary Dat
4650: 61 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75  a Table</b> is u
4660: 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20  nchanged and is 
4670: 74 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74  the same for bot
4680: 68 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77  h <b>VirtualNetw
4690: 6f 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69  ok</b> and <b>Vi
46a0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e  rtualRouting</b>
46b0: 2e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73  .<br>..You can s
46c0: 61 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e  afely base a <b>
46d0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
46e0: 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20  able</b> on any 
46f0: 65 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20  existing Binary 
4700: 44 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61  Data..Table crea
4710: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70  ted by the <b>sp
4720: 61 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b  atialite-network
4730: 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65  </b> CLI tool, e
4740: 78 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61  xactly as you ca
4750: 6e 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74  n base a <b>Virt
4760: 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65  ualNetwork Table
4770: 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61  </b> on any Bina
4780: 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72  ry Data Table cr
4790: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  eated by the <b>
47a0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
47b0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
47c0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43  ...<verbatim>..C
47d0: 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41  REATE VIRTUAL TA
47e0: 42 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b  BLE test_network
47f0: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65   USING VirtualNe
4800: 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61  twork('some_data
4810: 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45  _table');....CRE
4820: 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c  ATE VIRTUAL TABL
4830: 45 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55  E test_routing U
4840: 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74  SING VirtualRout
4850: 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74  ing('some_data_t
4860: 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61  able');..</verba
4870: 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74  tim>..In order t
4880: 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74  o manually creat
4890: 65 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54  e your Virtual T
48a0: 61 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68  ables you just h
48b0: 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61  ave to execute a
48c0: 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62  n appropriate <b
48d0: 3e 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  >CREATE VIRTUAL 
48e0: 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20  TABLE ... USING 
48f0: 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29  Virtual... (...)
4900: 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d  </b> statement..
4910: 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34  .<h4>Warning</h4
4920: 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f  >..In the case o
4930: 66 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  f <b>Spatial Net
4940: 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20  works</b> based 
4950: 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61  on any <b>geogra
4960: 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e  phic</b> Referen
4970: 63 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67  ce System (using
4980: 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f   <b>longitudes</
4990: 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75  b> and <b>latitu
49a0: 64 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69  des</b>) there i
49b0: 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64  s an important d
49c0: 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65  ifference betwee
49d0: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  n Binary Data Ta
49e0: 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20  bles created by 
49f0: 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74  the <b>spatialit
4a00: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55  e_network</b> GU
4a10: 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61  I tool and  Bina
4a20: 72 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63  ry Data Tables c
4a30: 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62  reated by the <b
4a40: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29  >CreateRouting()
4a50: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
4a60: 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c  n when <b>costs<
4a70: 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74  /b> are implicit
4a80: 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20  ly based on the 
4a90: 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68  geometric length
4aa0: 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c   of the Link's L
4ab0: 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e  inestring:..<ul>
4ac0: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61  ..<li>the <b>spa
4ad0: 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c  tialite_network<
4ae0: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e  /b> CLI tool (an
4af0: 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a  d the <b>GUI wiz
4b00: 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e  ard</b> implemen
4b10: 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20  ted by previous 
4b20: 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73  versions of <b>s
4b30: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62  patialite_gui</b
4b40: 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c  >) compute the L
4b50: 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67  inestring's leng
4b60: 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75  th as an <b>angu
4b70: 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e  lar distance</b>
4b80: 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62   expressed in <b
4b90: 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c  >degrees</b>.</l
4ba0: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43  i>..<li>the <b>C
4bb0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
4bc0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20  b> SQL function 
4bd0: 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e  computes the Lin
4be0: 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68  estring's length
4bf0: 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20   as a <b>linear 
4c00: 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70  distance</b> exp
4c10: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74  ressed in <b>met
4c20: 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79  res</b> by apply
4c30: 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63  ing the most acc
4c40: 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69  urate <b>geodesi
4c50: 63 20 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 6f  c formulae</b> o
4c60: 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e  n the ellipsoid.
4c70: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f  </li>..</ul>..</
4c80: 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e  td></tr></table>
4c90: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  <br><br>..<verba
4ca0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65  tim>..SELECT Cre
4cb0: 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61  ateRouting('byca
4cc0: 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27  r_data', 'bycar'
4cd0: 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e  , 'roads_vw', 'n
4ce0: 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65  ode_from', 'node
4cf0: 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63  _to', 'geom', 'c
4d00: 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c  ost', 'toponym',
4d10: 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66   1, 1, 'oneway_f
4d20: 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f  romto', 'oneway_
4d30: 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d  tofrom', 0);..--
4d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4d50: 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69  --..1..</verbati
4d60: 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e  m>..After callin
4d70: 67 20 79 65 74 20 61 6e 6f 74 68 65 72 20 74 69  g yet another ti
4d80: 6d 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  me <b>CreateRout
4d90: 69 6e 67 28 29 3c 2f 62 3e 20 6e 6f 77 20 74 68  ing()</b> now th
4da0: 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61  e Database conta
4db0: 69 6e 73 20 74 77 6f 20 66 75 72 74 68 65 72 20  ins two further 
4dc0: 54 61 62 6c 65 73 3a 20 3c 62 3e 62 79 63 61 72  Tables: <b>bycar
4dd0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79 63 61  </b> and <b>byca
4de0: 72 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d  r_data</b>.<br>.
4df0: 0a 54 68 69 73 20 74 69 6d 65 20 79 6f 75 27 76  .This time you'v
4e00: 65 20 75 73 65 64 20 74 68 65 20 3c 69 3e 63 6f  e used the <i>co
4e10: 6d 70 6c 65 74 65 20 66 6f 72 6d 3c 2f 69 3e 20  mplete form</i> 
4e20: 6f 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  of CreateRouting
4e30: 28 29 3b 20 6c 65 74 27 73 20 73 65 65 20 69 6e  (); let's see in
4e40: 20 6d 6f 72 65 20 64 65 70 74 68 20 61 6c 6c 20   more depth all 
4e50: 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e  the arguments an
4e60: 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a  d their meaning:
4e70: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62  ..<ol>..<li><i>b
4e80: 79 63 61 72 5f 64 61 74 61 3c 2f 69 3e 3a 20 73  ycar_data</i>: s
4e90: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c  ame as above.</l
4ea0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72  i>..<li><i>bycar
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 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20  i>roads_vw</i>: 
4ee0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f  same as above.</
4ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65  li>..<li><i>node
4f00: 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20  _from</i>: same 
4f10: 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a  as above.</li>..
4f20: 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f  <li><i>node_to</
4f30: 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76  i>: same as abov
4f40: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  e.</li>..<li><i>
4f50: 67 65 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61  geom</i>: same a
4f60: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c  s above.</li>..<
4f70: 6c 69 3e 3c 69 3e 63 6f 73 74 3c 2f 69 3e 3a 20  li><i>cost</i>: 
4f80: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 0d 0a  same as above...
4f90: 49 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20  In this case we 
4fa0: 68 61 76 65 20 72 65 66 65 72 65 6e 63 65 64 20  have referenced 
4fb0: 61 20 63 6f 6c 75 6d 6e 20 70 72 65 6c 6f 61 64  a column preload
4fc0: 65 64 20 77 69 74 68 20 76 61 6c 75 65 73 20 63  ed with values c
4fd0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20  orresponding to 
4fe0: 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20  the <b>time</b> 
4ff0: 6d 65 61 73 75 72 65 64 20 69 6e 20 3c 62 3e 73  measured in <b>s
5000: 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69  econds</b> requi
5010: 72 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20  red to traverse 
5020: 65 61 63 68 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 20  each Link.</li> 
5030: 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d  ..<li><i>toponym
5040: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
5050: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
5060: 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73  i>1</i>: same as
5070: 20 61 62 6f 76 65 20 28 3c 69 3e 41 2a 20 65 6e   above (<i>A* en
5080: 61 62 6c 65 64 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e  abled</i>).</li>
5090: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20  ..<li><i>1</i>: 
50a0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c  same as above (<
50b0: 69 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 20  i>bidirectional 
50c0: 4c 69 6e 6b 73 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e  Links</i>).</li>
50d0: 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f  ..<li><i>oneway_
50e0: 66 72 6f 6d 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65  fromto</i>: name
50f0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28   of the column (
5100: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
5110: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65  le or View) expe
5120: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20  cted to contain 
5130: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 73 70  boolean flags sp
5140: 65 63 69 66 79 69 6e 67 20 69 66 20 65 61 63 68  ecifying if each
5150: 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61   Link can be tra
5160: 76 65 72 73 65 64 20 69 6e 20 74 68 65 20 3c 62  versed in the <b
5170: 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 64 69 72  >from-to</b> dir
5180: 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 2f  ection or not.</
5190: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77  li>..<li><i>onew
51a0: 61 79 5f 74 6f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  ay_tofrom</i>: n
51b0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
51c0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
51d0: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
51e0: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
51f0: 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73  in boolean flags
5200: 20 73 70 65 63 69 66 79 69 6e 67 20 69 66 20 65   specifying if e
5210: 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20  ach Link can be 
5220: 74 72 61 76 65 72 73 65 64 20 69 6e 20 74 68 65  traversed in the
5230: 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20   <b>to-from</b> 
5240: 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74  direction or not
5250: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
5260: 31 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 66  1</u>: both <b>f
5270: 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c  rom-to</b> and <
5280: 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 63 6f  b>to-from</b> co
5290: 6c 75 6d 6e 20 6e 61 6d 65 73 20 63 61 6e 20 62  lumn names can b
52a0: 65 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73  e legitimately s
52b0: 65 74 20 61 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  et as <b>NULL</b
52c0: 3e 20 69 66 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77  > if no <b>one-w
52d0: 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69  ay</b> restricti
52e0: 6f 6e 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65  ons apply to the
52f0: 20 63 75 72 72 65 6e 74 20 4e 65 74 77 6f 72 6b   current Network
5300: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
5310: 32 3c 2f 75 3e 3a 20 4e 65 74 77 6f 72 6b 73 20  2</u>: Networks 
5320: 6f 66 20 74 68 65 20 3c 62 3e 75 6e 69 64 69 72  of the <b>unidir
5330: 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 74 79 70  ectional</b> typ
5340: 65 20 61 72 65 20 6e 65 76 65 72 20 65 6e 61 62  e are never enab
5350: 6c 65 64 20 74 6f 20 72 65 66 65 72 65 6e 63 65  led to reference
5360: 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20   <b>one-way</b> 
5370: 63 6f 6c 75 6d 6e 73 20 28 74 68 65 79 20 73 68  columns (they sh
5380: 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 73  ould always be s
5390: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  et to <b>NULL</b
53a0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  >).</li>..<li><i
53b0: 3e 30 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61  >0</i>: a boolea
53c0: 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 69 6e 67  n flag intending
53d0: 20 61 6e 20 3c 62 3e 6f 76 65 72 77 72 69 74 65   an <b>overwrite
53e0: 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3c 2f   authorization</
53f0: 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49  b>...<ul>..<li>I
5400: 66 20 73 65 74 20 74 6f 20 3c 62 3e 46 41 4c 53  f set to <b>FALS
5410: 45 3c 2f 62 3e 20 61 6e 20 65 78 63 65 70 74 69  E</b> an excepti
5420: 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65  on will be raise
5430: 64 20 69 66 20 74 68 65 20 3c 62 3e 42 69 6e 61  d if the <b>Bina
5440: 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f 62  ry Data Table</b
5450: 3e 20 61 6e 64 2f 6f 72 20 74 68 65 20 3c 62 3e  > and/or the <b>
5460: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
5470: 61 62 6c 65 3c 2f 62 3e 20 64 6f 20 61 6c 72 65  able</b> do alre
5480: 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d  ady exist.</li>.
5490: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c  .<li>If set to <
54a0: 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76 65 6e 74  b>TRUE</b> event
54b0: 75 61 6c 6c 79 20 65 78 69 73 74 69 6e 67 20 54  ually existing T
54c0: 61 62 6c 65 73 20 77 69 6c 6c 20 62 65 20 70 72  ables will be pr
54d0: 65 76 65 6e 74 69 76 65 6c 79 20 64 72 6f 70 70  eventively dropp
54e0: 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 62  ed immediately b
54f0: 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74  efore starting t
5500: 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20  he execution of 
5510: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
5520: 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ()</b>.</li>..</
5530: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d  ul></li>..</ol>.
5540: 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
5550: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20  color="#ffffc0" 
5560: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
5570: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
5580: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48  ><tr><td>..<h3>H
5590: 69 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20  ighlight: where 
55a0: 79 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f  you are</h3>..Yo
55b0: 75 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65  u've just create
55c0: 64 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75  d two VirtualRou
55d0: 74 69 6e 67 20 54 61 62 6c 65 73 20 62 61 73 65  ting Tables base
55e0: 64 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73  d on different s
55f0: 65 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68  ettings; both th
5600: 65 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79  em are perfectly
5610: 20 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f   valid and reaso
5620: 6e 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20  nable, but they 
5630: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72  are intended for
5640: 20 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f   different purpo
5650: 73 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ses:..<ul>..<li>
5660: 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73  <b>byfoot</b> is
5670: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e   specifically in
5680: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65  tended for <b>pe
5690: 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a  destrians</b>:..
56a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69  <ul>..<li>all Li
56b0: 6e 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61  nks are always a
56c0: 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63  ssumed to be acc
56d0: 65 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f  essible in <b>bo
56e0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62  th directions</b
56f0: 3e 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20  >; there are no 
5700: 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20  <b>one-ways</b> 
5710: 61 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64  and no <b>forbid
5720: 64 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f  den</b> Links.</
5730: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
5740: 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68  cost</b> of each
5750: 20 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c   Link is directl
5760: 79 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79  y represented by
5770: 20 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c   its geometric <
5780: 62 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68  b>length</b>, wh
5790: 69 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e  ich is consisten
57a0: 74 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d  t with the assum
57b0: 70 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f  ption of an almo
57c0: 73 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65  st constant spee
57d0: 64 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20  d substantially 
57e0: 69 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65  immune from adve
57f0: 72 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69  rse road conditi
5800: 6f 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20  ons and traffic 
5810: 63 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e  congestion.</li>
5820: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
5830: 69 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69  i><b>bycar</b> i
5840: 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69  s specifically i
5850: 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d  ntended for <b>m
5860: 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62  otor vehicles</b
5870: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61  >:..<ul>..<li>ma
5880: 6e 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70  ny Links are exp
5890: 65 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65  ected to be acce
58a0: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74  ssible in <b>bot
58b0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e  h directions</b>
58c0: 20 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c   but others coul
58d0: 64 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a  d easily be subj
58e0: 65 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61  ect to <b>one-wa
58f0: 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f  y</b> restrictio
5900: 6e 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f  ns or even be co
5910: 6d 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62  mpletely <b>forb
5920: 69 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d  idden</b>.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66  .<li>the cost of
5940: 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78   each Link is ex
5950: 70 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73  pressed as an es
5960: 74 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65  timated <b>trave
5970: 6c 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61  l time</b>, beca
5980: 75 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64  use the expected
5990: 20 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61   speeds can grea
59a0: 74 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69  tly vary accordi
59b0: 6e 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63  ngly to specific
59c0: 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73   road conditions
59d0: 2c 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73  , traffic conges
59e0: 74 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72  tion and legal r
59f0: 65 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e  egulations.</li>
5a00: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ..</ul></li>..</
5a10: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f  ul>..<br>..<u>Co
5a20: 6e 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20  nclusion</u>: a 
5a30: 73 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f  single VirtualRo
5a40: 75 74 69 6e 67 20 54 61 62 6c 65 20 63 61 6e 27  uting Table can'
5a50: 74 20 62 65 20 61 62 6c 65 20 74 6f 20 61 64 65  t be able to ade
5a60: 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72 74 20  quately support 
5a70: 73 75 70 70 6f 72 74 20 74 68 65 20 73 70 65 63  support the spec
5a80: 69 66 69 63 20 72 65 71 75 69 72 65 6d 65 6e 74  ific requirement
5a90: 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69 6f  s and expectatio
5aa0: 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20  ns of different 
5ab0: 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66 69  users.<br>..Defi
5ac0: 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69 6e  ning more Routin
5ad0: 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64 69  g Tables with di
5ae0: 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73  fferent settings
5af0: 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e 65   for the same Ne
5b00: 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69 73  twork usually is
5b10: 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20 63   a good design c
5b20: 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74 6f  hoice leading to
5b30: 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63 20   more realistic 
5b40: 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c 2f  results.<br>..</
5b50: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  td></tr>..</tabl
5b60: 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  e>..<br><br>..<h
5b70: 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74 69  3>Utility functi
5b80: 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63  on for automatic
5b90: 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f 64  ally setting Nod
5ba0: 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 6f  eFrom and NodeTo
5bb0: 20 49 44 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74   IDs</h3>..Somet
5bc0: 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20 65 76  imes it could ev
5bd0: 65 6e 74 75 61 6c 6c 79 20 68 61 70 70 65 6e 20  entually happen 
5be0: 74 6f 20 65 6e 63 6f 75 6e 74 65 72 20 73 6f 6d  to encounter som
5bf0: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  e <b>Spatial Net
5c00: 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73 65  work</b> represe
5c10: 6e 74 61 74 69 6f 6e 20 62 65 69 6e 67 20 66 75  ntation being fu
5c20: 6c 6c 79 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c  lly topologicall
5c30: 79 20 63 6f 6e 73 69 73 74 65 6e 74 20 62 75 74  y consistent but
5c40: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6c 61 63 6b   completely lack
5c50: 69 6e 67 20 61 6e 79 20 64 65 66 69 6e 69 74 69  ing any definiti
5c60: 6f 6e 20 61 62 6f 75 74 20 3c 62 3e 4e 6f 64 65  on about <b>Node
5c70: 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  From</b> and <b>
5c80: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 64 65 6e 74  NodeTo</b> ident
5c90: 69 66 69 65 72 73 2e 3c 62 72 3e 0d 0a 49 6e 20  ifiers.<br>..In 
5ca0: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61  this specific ca
5cb0: 73 65 20 79 6f 75 20 63 61 6e 20 73 75 63 63 65  se you can succe
5cc0: 73 73 66 75 6c 6c 79 20 72 65 63 6f 76 65 72 20  ssfully recover 
5cd0: 61 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c 69  a perfectly vali
5ce0: 64 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c  d Network by cal
5cf0: 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61  ling the <b>Crea
5d00: 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29  teRoutingNodes()
5d10: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
5d20: 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  n...<verbatim>..
5d30: 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75  SELECT CreateRou
5d40: 74 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20  tingNodes(NULL, 
5d50: 27 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67  'table_name', 'g
5d60: 65 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d  eom', 'node_from
5d70: 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a  ', 'node_to');..
5d80: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5d90: 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f  _________..1..</
5da0: 76 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73  verbatim>..Let's
5db0: 20 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67   examine all arg
5dc0: 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72  uments and their
5dd0: 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d   meaning:..<ol>.
5de0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e  .<li><i>NULL</i>
5df0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62  : name of the <b
5e00: 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e  >Attached-DB</b>
5e10: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20   containing the 
5e20: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62  Spatial Table.<b
5e30: 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c 65  r>..It can be le
5e40: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74  gitimately set t
5e50: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61  o <b>NULL</b>, a
5e60: 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20  nd in this case 
5e70: 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20  the <b>MAIN</b> 
5e80: 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f  DB is assumed.</
5e90: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c  li>..<li><i>tabl
5ea0: 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65  e_name</i>: name
5eb0: 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c 20   of the Spatial 
5ec0: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Table.</li>..<li
5ed0: 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e  ><i>geom</li>: n
5ee0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
5ef0: 6e 20 28 28 69 6e 20 74 68 65 20 61 62 6f 76 65  n ((in the above
5f00: 20 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69   Table) containi
5f10: 6e 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67  ng <b>Linestring
5f20: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  s</b>.</li>..<li
5f30: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69  ><i>node_from</i
5f40: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
5f50: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65  olumn to be adde
5f60: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54  d to the above T
5f70: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74  able and populat
5f80: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69  ed with appropri
5f90: 61 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  ate <b>NodeFrom<
5fa0: 2f 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c  /b> IDs.</li>..<
5fb0: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69  li><i>node_to</i
5fc0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
5fd0: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65  olumn to be adde
5fe0: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54  d to the above T
5ff0: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74  able and populat
6000: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69  ed with appropri
6010: 61 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  ate <b>NodeTo</b
6020: 3e 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  > IDs.<br>..<u>N
6030: 6f 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62  ote</u>: both <b
6040: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
6050: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
6060: 63 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e  columns should n
6070: 6f 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65  ot be already de
6080: 66 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f  fined in the abo
6090: 76 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ve Table.</li>..
60a0: 3c 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65  </ol>..<b>Create
60b0: 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f  RoutingNodes()</
60c0: 62 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c  b> will return <
60d0: 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c  b>1</b> (<i>aka<
60e0: 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29  /i> <b>TRUE</b>)
60f0: 20 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20   on success; an 
6100: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62  exception will b
6110: 65 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c  e raised on fail
6120: 75 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ure.<br>..<u>Not
6130: 65 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63  e</u>: you can c
6140: 61 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  all <b>CreateRou
6150: 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f  ting_GetLastErro
6160: 72 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72  r()</b> so to pr
6170: 65 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79  ecisely identify
6180: 20 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75   the cause accou
6190: 6e 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72  nting for failur
61a0: 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  e.<br><br><br>..
61b0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
61c0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
61d0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
61e0: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
61f0: 64 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67  d>..<h3>Handling
6200: 20 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b   dynamic Network
6210: 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65  s</h3>..Sometime
6220: 73 20 69 74 20 68 61 70 70 65 6e 73 20 74 68 61  s it happens tha
6230: 74 20 61 20 4e 65 74 77 6f 72 6b 20 63 6f 75 6c  t a Network coul
6240: 64 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20  d be subject to 
6250: 72 61 74 68 65 72 20 66 72 65 71 75 65 6e 74 20  rather frequent 
6260: 63 68 61 6e 67 65 73 3a 20 73 6f 6d 65 20 6e 65  changes: some ne
6270: 77 20 4c 69 6e 6b 73 20 72 65 71 75 69 72 65 20  w Links require 
6280: 74 6f 20 62 65 20 61 64 64 65 64 2c 20 6f 62 73  to be added, obs
6290: 6f 6c 65 74 65 20 4c 69 6e 6b 73 20 72 65 71 75  olete Links requ
62a0: 69 72 65 20 74 6f 20 62 65 20 72 65 6d 6f 76 65  ire to be remove
62b0: 64 2c 20 6f 74 68 65 72 20 4c 69 6e 6b 73 20 6d  d, other Links m
62c0: 61 79 20 61 73 73 75 6d 65 20 61 20 64 69 66 66  ay assume a diff
62d0: 65 72 65 6e 74 20 43 6f 73 74 2c 20 6f 6e 65 2d  erent Cost, one-
62e0: 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20 72 65  ways could be re
62f0: 76 65 72 73 65 64 2c 20 74 68 65 20 64 69 73 63  versed, the disc
6300: 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65 73 74  ipline of pedest
6310: 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75 6c 64  rian areas could
6320: 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61 6e 64   be modified and
6330: 20 73 6f 20 6f 6e 2e 3c 62 72 3e 0d 0a 41 20 56   so on.<br>..A V
6340: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
6350: 62 6c 65 20 69 73 20 61 6c 77 61 79 73 20 62 61  ble is always ba
6360: 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 61 6e 69  sed on a compani
6370: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  on Binary Data T
6380: 61 62 6c 65 2c 20 74 68 61 74 20 69 73 20 69 6e  able, that is in
6390: 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c 62 3e 73  trinsically <b>s
63a0: 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e 64 20 63  tatic</b>, and c
63b0: 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 6f 75 20  onsequently you 
63c0: 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20  are required to 
63d0: 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 74  re-create both t
63e0: 68 65 6d 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f  hem from time to
63f0: 20 74 69 6d 65 20 69 6e 20 6f 72 64 65 72 20 74   time in order t
6400: 6f 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 72 65  o support all re
6410: 63 65 6e 74 20 63 68 61 6e 67 65 73 20 61 66 66  cent changes aff
6420: 65 63 74 69 6e 67 20 74 68 65 20 75 6e 64 65 72  ecting the under
6430: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c  laying Network.<
6440: 62 72 3e 0d 0a 54 68 65 20 6f 70 74 69 6d 61 6c  br>..The optimal
6450: 20 66 72 65 71 75 65 6e 63 79 20 66 6f 72 20 63   frequency for c
6460: 79 63 6c 69 63 61 6c 6c 79 20 72 65 66 72 65 73  yclically refres
6470: 68 69 6e 67 20 74 68 65 20 52 6f 75 74 69 6e 67  hing the Routing
6480: 20 54 61 62 6c 65 73 20 73 74 72 69 63 74 6c 79   Tables strictly
6490: 20 64 65 70 65 6e 64 73 20 6f 6e 20 73 70 65 63   depends on spec
64a0: 69 66 69 63 20 72 65 71 75 69 72 65 6d 65 6e 74  ific requirement
64b0: 73 2c 20 62 75 74 20 74 68 65 20 74 77 6f 20 6f  s, but the two o
64c0: 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65  verall approache
64d0: 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61  s are commonly a
64e0: 64 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c  dopted:..<ol>..<
64f0: 6c 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65  li><b>low freque
6500: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a  ncy refresh</b>:
6510: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c   best fit for sl
6520: 6f 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65  owly evolving Ne
6530: 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20  tworks.<br>..In 
6540: 74 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65  this case re-cre
6550: 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72  ating the Networ
6560: 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20  k Tables once a 
6570: 6d 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64  month / week / d
6580: 61 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73  ay could be reas
6590: 6f 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a  onably enough...
65a0: 52 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54  Recreating the T
65b0: 61 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74  ables from scrat
65c0: 63 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69  ch usually requi
65d0: 72 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f  res several seco
65e0: 6e 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73  nds (or even les
65f0: 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20  s, depending on 
6600: 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69  the number of Li
6610: 6e 6b 73 29 2e 3c 62 72 3e 0d 0a 54 68 65 20 72  nks).<br>..The r
6620: 65 66 72 65 73 68 20 61 63 74 69 76 69 74 69 65  efresh activitie
6630: 73 20 63 6f 75 6c 64 20 62 65 20 6f 70 70 6f 72  s could be oppor
6640: 74 75 6e 65 6c 79 20 70 6c 61 6e 6e 65 64 20 61  tunely planned a
6650: 74 20 6c 6f 77 20 74 72 61 66 66 69 63 20 68 6f  t low traffic ho
6660: 75 72 73 20 28 65 2e 67 2e 20 64 75 72 69 6e 67  urs (e.g. during
6670: 20 74 68 65 20 6e 69 67 68 74 29 2c 20 61 6e 64   the night), and
6680: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
6690: 67 28 29 3c 2f 62 3e 20 63 6f 75 6c 64 20 62 65  g()</b> could be
66a0: 20 75 73 65 66 75 6c 6c 79 20 63 61 6c 6c 65 64   usefully called
66b0: 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74 68 65   by enabling the
66c0: 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 3c 2f 62   <b>overwrite</b
66d0: 3e 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  > option.</li>..
66e0: 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d 68 69  <li><b>medium-hi
66f0: 67 68 20 66 72 65 71 75 65 6e 63 79 20 72 65 66  gh frequency ref
6700: 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66  resh</b>: best f
6710: 69 74 20 66 6f 72 20 71 75 69 63 6b 6c 79 20 65  it for quickly e
6720: 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73  volving Networks
6730: 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61 74 69  .<br>..Re-creati
6740: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54  ng the Network T
6750: 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72 20 68  ables once per h
6760: 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72  our (or even mor
6770: 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20 63 6f  e frequently) co
6780: 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c 79 20  uld be strictly 
6790: 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20 66 72  required, and fr
67a0: 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20 6f 66  equent <b>out of
67b0: 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70 65 72   service</b> per
67c0: 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69 74 69  iods while waiti
67d0: 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66 72 65  ng for the refre
67e0: 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20 63 6f  sh process to co
67f0: 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65 61 73  mplete could eas
6800: 69 6c 79 20 62 65 20 75 6e 61 63 63 65 70 74 61  ily be unaccepta
6810: 62 6c 65 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  ble.<br>..In thi
6820: 73 20 63 61 73 65 20 79 6f 75 20 63 6f 75 6c 64  s case you could
6830: 20 75 73 65 66 75 6c 6c 79 20 61 64 6f 70 74 20   usefully adopt 
6840: 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61  a <b>multi-threa
6850: 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e  ded strategy</b>
6860: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
6870: 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c  thread #1</b> (<
6880: 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e  i>the reader</i>
6890: 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74 68  ): this first th
68a0: 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64  read is intended
68b0: 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20   to service any 
68c0: 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67  incoming Routing
68d0: 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c   request. It wil
68e0: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74 69  l be always acti
68f0: 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72  ve, and will tar
6900: 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e  get a well known
6910: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
6920: 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d  Table (e.g. <b>m
6930: 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61  y_routing</b> ba
6940: 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75  sed on <b>my_rou
6950: 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c  ting_data</b>).<
6960: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72  /li>..<li><b>thr
6970: 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74  ead #2</b> (<i>t
6980: 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20  he writer</i>): 
6990: 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65  this second thre
69a0: 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e  ad is just inten
69b0: 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65  ded to re-create
69c0: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
69d0: 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69 6e  bles at predefin
69e0: 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e  ed intervals, an
69f0: 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20  d it will sleep 
6a00: 62 65 74 77 65 65 6e 20 61 6e 20 69 6e 74 65 72  between an inter
6a10: 76 61 6c 20 61 6e 64 20 74 68 65 20 6f 74 68 65  val and the othe
6a20: 72 2e 3c 62 72 3e 0d 0a 57 68 65 6e 20 74 68 69  r.<br>..When thi
6a30: 73 20 74 68 72 65 61 64 20 61 77 61 6b 65 6e 73  s thread awakens
6a40: 20 77 69 6c 6c 20 72 65 2d 63 72 65 61 74 65 20   will re-create 
6a50: 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62  both Network Tab
6a60: 6c 65 73 20 62 79 20 75 73 69 6e 67 20 64 69 66  les by using dif
6a70: 66 65 72 65 6e 74 20 6e 61 6d 65 73 2c 20 61 6e  ferent names, an
6a80: 64 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65  d will overwrite
6a90: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 6e   the standard on
6aa0: 65 73 20 6a 75 73 74 20 61 74 20 74 68 65 20 76  es just at the v
6ab0: 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65 20 70  ery end of the p
6ac0: 72 6f 63 65 73 73 20 28 61 63 74 69 76 61 74 69  rocess (activati
6ad0: 6e 67 20 61 20 73 65 6d 61 70 68 6f 72 65 20 64  ng a semaphore d
6ae0: 75 72 69 6e 67 20 74 68 69 73 20 73 68 6f 72 74  uring this short
6af0: 2d 74 69 6d 65 64 20 6c 61 73 74 20 73 74 65 70  -timed last step
6b00: 20 69 73 20 68 69 67 68 6c 79 20 72 65 63 6f 6d   is highly recom
6b10: 6d 65 6e 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f  mended).<br>..So
6b20: 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69  mething like thi
6b30: 73 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 65 78  s pseudo-code ex
6b40: 65 6d 70 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72  emplifies:..<ver
6b50: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43  batim>..SELECT C
6b60: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 6e 65  reateRouting('ne
6b70: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74  w_my_routing_dat
6b80: 61 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74  a', 'new_my_rout
6b90: 69 6e 67 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d  ing', ...);....-
6ba0: 2d 3e 20 73 74 61 72 74 20 74 68 65 20 73 65 6d  -> start the sem
6bb0: 61 70 68 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63  aphore so to loc
6bc0: 6b 20 74 68 65 20 6f 74 68 65 72 20 74 68 72 65  k the other thre
6bd0: 61 64 0d 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52  ad....BEGIN;..DR
6be0: 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74  OP TABLE my_rout
6bf0: 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45  ing;..DROP TABLE
6c00: 20 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61   my_routing_data
6c10: 3b 0d 0a 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54  ;..SELECT CloneT
6c20: 61 62 6c 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65  able('MAIN', 'ne
6c30: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74  w_my_routing_dat
6c40: 61 27 2c 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f  a', 'my_routing_
6c50: 64 61 74 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41  data', 0);..CREA
6c60: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
6c70: 20 6d 79 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e   my_routing USIN
6c80: 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  G VirtualRouting
6c90: 28 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74  ('my_routing_dat
6ca0: 61 27 29 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45  a');..DROP TABLE
6cb0: 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b   new_my_routing;
6cc0: 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65 77  ..DROP TABLE new
6cd0: 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61  _my_routing_data
6ce0: 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d  ;..COMMIT;....--
6cf0: 3e 20 72 65 6d 6f 76 65 20 74 68 65 20 73 65 6d  > remove the sem
6d00: 61 70 68 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74  aphore..</verbat
6d10: 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  im>..<u>Note</u>
6d20: 3a 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65  : strictly respe
6d30: 63 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20  cting the above 
6d40: 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51 4c 20  sequence of SQL 
6d50: 6f 70 65 72 61 74 69 6f 6e 73 20 69 73 20 61 62  operations is ab
6d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65  solutely require
6d70: 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c  d.</li> ..</ul><
6d80: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
6d90: 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  d></tr>..</table
6da0: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
6db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30  bgcolor="#ffb060
6dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
6dd0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
6de0: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
6df0: 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f  >Warning: how to
6e00: 20 63 6f 72 72 65 63 74 6c 79 20 64 72 6f 70 20   correctly drop 
6e10: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f  Network Tables</
6e20: 68 33 3e 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69  h3>..When droppi
6e30: 6e 67 20 61 20 56 69 72 74 75 61 6c 52 6f 75 74  ng a VirtualRout
6e40: 69 6e 67 20 54 61 62 6c 65 20 61 6e 64 20 69 74  ing Table and it
6e50: 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61  s companion Bina
6e60: 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 6f  ry Data Table fo
6e70: 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 6f 72 72  llowing the corr
6e80: 65 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20  ect sequence of 
6e90: 53 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20  SQL commands is 
6ea0: 70 61 72 61 6d 6f 75 6e 74 2e 3c 62 72 3e 0d 0a  paramount.<br>..
6eb0: 46 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63  Failing to stric
6ec0: 74 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20  tly respect the 
6ed0: 65 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63  expected sequenc
6ee0: 65 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61  e will surely ca
6ef0: 75 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20  use you several 
6f00: 74 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76  troubles and sev
6f10: 65 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61  ere headaches, a
6f20: 6e 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79  nd will possibly
6f30: 20 6c 65 61 64 20 74 6f 20 61 6e 20 69 72 72 65   lead to an irre
6f40: 6d 65 64 69 61 62 6c 79 20 63 6f 72 72 75 70 74  mediably corrupt
6f50: 65 64 20 64 61 74 61 62 61 73 65 2e 0d 0a 3c 6f  ed database...<o
6f60: 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 61 72 65 20  l>..<li>you are 
6f70: 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20  always expected 
6f80: 74 6f 20 44 52 4f 50 20 66 69 72 73 74 20 74 68  to DROP first th
6f90: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
6fa0: 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   Table.</li>..<l
6fb0: 69 3e 79 6f 75 20 63 61 6e 20 73 61 66 65 6c 79  i>you can safely
6fc0: 20 44 52 4f 50 20 74 68 65 20 63 6f 6d 70 61 6e   DROP the compan
6fd0: 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20  ion Binary Data 
6fe0: 54 61 62 6c 65 20 6f 6e 6c 79 20 6f 6e 63 65 20  Table only once 
6ff0: 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 72  it's no longer r
7000: 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65  eferenced by the
7010: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
7020: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Table.</li>..<li
7030: 3e 62 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68  >by following th
7040: 65 20 72 65 76 65 72 73 65 20 73 65 71 75 65 6e  e reverse sequen
7050: 63 65 20 79 6f 75 27 6c 6c 20 64 69 72 65 63 74  ce you'll direct
7060: 6c 79 20 63 72 65 61 74 65 20 61 6e 20 3c 62 3e  ly create an <b>
7070: 6f 72 70 68 61 6e 3c 2f 62 3e 20 56 69 72 74 75  orphan</b> Virtu
7080: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20  alRouting Table 
7090: 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 61  that cannot be a
70a0: 63 63 65 73 73 65 64 20 61 6e 79 20 6c 6f 6e 67  ccessed any long
70b0: 65 72 2c 20 61 6e 64 20 74 68 61 74 20 77 69 6c  er, and that wil
70c0: 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 72  l consequently r
70d0: 65 66 75 73 65 20 74 6f 20 62 65 20 64 72 6f 70  efuse to be drop
70e0: 70 65 64 2e 3c 62 72 3e 0d 0a 42 65 20 77 61 72  ped.<br>..Be war
70f0: 6e 65 64 20 21 21 3c 2f 6c 69 3e 0d 0a 3c 2f 6f  ned !!</li>..</o
7100: 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  l>..</td></tr>..
7110: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
7120: 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68  r>..<hr><br>..<h
7130: 31 3e 3c 61 20 6e 61 6d 65 3d 22 66 72 6f 6d 5f  1><a name="from_
7140: 74 6f 22 3e 34 20 2d 20 53 6f 6c 76 69 6e 67 20  to">4 - Solving 
7150: 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74  classic Shortest
7160: 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f   Path problems</
7170: 61 3e 3c 2f 68 31 3e 0d 0a 54 68 65 20 6d 6f 73  a></h1>..The mos
7180: 74 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65  t classic Shorte
7190: 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 20  st Path problem 
71a0: 72 65 71 75 69 72 65 73 20 74 6f 20 69 64 65 6e  requires to iden
71b0: 74 69 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c  tify the optimal
71c0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77   connection betw
71d0: 65 65 6e 20 61 6e 20 3c 62 3e 4f 72 69 67 69 6e  een an <b>Origin
71e0: 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20   Node</b> and a 
71f0: 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e  <b>Destination N
7200: 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65  ode</b>.<br>..We
7210: 20 63 61 6e 20 65 61 73 69 6c 79 20 74 72 61 6e   can easily tran
7220: 73 6c 61 74 65 20 73 75 63 68 20 61 20 70 72 6f  slate such a pro
7230: 62 6c 65 6d 20 69 6e 74 6f 20 61 20 73 69 6d 70  blem into a simp
7240: 6c 65 20 53 51 4c 20 71 75 65 72 79 20 74 61 72  le SQL query tar
7250: 67 65 74 69 6e 67 20 73 6f 6d 65 20 56 69 72 74  geting some Virt
7260: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
7270: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
7280: 45 4c 45 43 54 20 2a 20 0d 0a 46 52 4f 4d 20 62  ELECT * ..FROM b
7290: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
72a0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
72b0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
72c0: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
72d0: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
72e0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
72f0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
7300: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
7310: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
7320: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
7330: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
7340: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7350: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
7360: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7370: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
7380: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7390: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
73a0: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
73b0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
73c0: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
73d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
73e0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
73f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7400: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
7410: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
7420: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
7430: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7440: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
7450: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7460: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
7470: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7480: 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 46  "#d0d0a0">PointF
7490: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
74a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f  lor="#d0d0a0">Po
74b0: 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  intTo</th><th bg
74c0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
74d0: 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74  Tolerance</th><t
74e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
74f0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
7500: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7510: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
7520: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7530: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
7540: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
7550: 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64  Dijkstra</td><td
7560: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f  >Shortest Path</
7570: 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e  td><td>Full</td>
7580: 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34  <td>, &#91;dec=4
7590: 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f  4, hex=2c&#93;</
75a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
75b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
75c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
75d0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
75e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
75f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7600: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
7610: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
7620: 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  286</td><td>NULL
7630: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7640: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7650: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7660: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
7670: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20  <td>BLOB sz=272 
7680: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
7690: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
76a0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
76b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
76c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
76d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
76e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
76f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7700: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
7710: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
7720: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
7730: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
7740: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
7750: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7760: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
7770: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7780: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7790: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
77a0: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32  n="right">94.812
77b0: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  424</td><td>NULL
77c0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
77d0: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
77e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
77f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7800: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7810: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7830: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
7840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
7850: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
7860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7870: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
7880: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
7890: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
78a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
78b0: 38 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  80</td><td>NULL<
78c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
78d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
78e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
78f0: 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74  69.727726</td><t
7900: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
7910: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
7920: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
7930: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
7940: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7950: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7960: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
7970: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
7980: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7990: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
79a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
79b0: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e  ght">224414</td>
79c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
79d0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
79e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
79f0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  83286</td><td>NU
7a00: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7a10: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7a20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7a30: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
7a40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7a50: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
7a60: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
7a70: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
7a80: 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20 65 78  Let's quickly ex
7a90: 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74  amine the result
7aa0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
7ab0: 74 68 65 20 61 62 6f 76 65 20 52 6f 75 74 69 6e  the above Routin
7ac0: 67 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a  g query:..<ul>..
7ad0: 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74  <li>the <b>first
7ae0: 20 72 6f 77 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61   row</b> (<i>aka
7af0: 3c 2f 69 3e 20 68 65 61 64 65 72 20 72 6f 77 29  </i> header row)
7b00: 20 68 61 73 20 61 20 73 70 65 63 69 61 6c 20 69   has a special i
7b10: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2c 20 61  nterpretation, a
7b20: 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  nd is intended t
7b30: 6f 20 73 75 6d 6d 61 72 69 7a 65 20 74 68 65 20  o summarize the 
7b40: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20  travel solution 
7b50: 61 73 20 61 20 77 68 6f 6c 65 2e 3c 2f 6c 69 3e  as a whole.</li>
7b60: 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 20 3c 62  ..<li>all the <b
7b70: 3e 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 3c  >following rows<
7b80: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 20 61 20  /b> represent a 
7b90: 73 69 6e 67 6c 65 20 4c 69 6e 6b 20 72 65 71 75  single Link requ
7ba0: 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68  ired to build th
7bb0: 65 20 73 6f 6c 75 74 69 6f 6e 20 28 6f 70 74 69  e solution (opti
7bc0: 6d 61 20 70 61 74 68 29 3b 20 4c 69 6e 6b 73 20  ma path); Links 
7bd0: 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f  are ordered acco
7be0: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 74  rdingly to the t
7bf0: 72 61 76 65 6c 20 64 69 72 65 63 74 69 6f 6e 20  ravel direction 
7c00: 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f  connecting the O
7c10: 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65  rigin and the De
7c20: 73 74 69 6e 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  stination.</li>.
7c30: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e  .<li>columns <b>
7c40: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c  Algorithm</b>, <
7c50: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c  b>Request</b>, <
7c60: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c  b>Options</b>, <
7c70: 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c  b>Delimiter</b>,
7c80: 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62   <b>PointFrom</b
7c90: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62  >, <b>PointTo</b
7ca0: 3e 2c 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c  >, <b>Tolerance<
7cb0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 47 65 6f 6d 65  /b> and <b>Geome
7cc0: 74 72 79 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61  try</b> are alwa
7cd0: 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c  ys set to <b>NUL
7ce0: 4c 3c 2f 62 3e 20 65 78 63 65 70 74 20 74 68 61  L</b> except tha
7cf0: 74 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 72  t in the first r
7d00: 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  ow of the result
7d10: 73 65 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  set:..<ul>..<li>
7d20: 63 6f 6c 75 6d 6e 20 3c 62 3e 41 6c 67 6f 72 69  column <b>Algori
7d30: 74 68 6d 3c 2f 62 3e 20 61 63 63 6f 75 6e 74 73  thm</b> accounts
7d40: 20 66 6f 72 20 74 68 65 20 52 6f 75 74 69 6e 67   for the Routing
7d50: 20 41 6c 67 6f 72 69 74 68 6d 20 75 73 65 64 20   Algorithm used 
7d60: 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 71  by the current q
7d70: 75 65 72 79 20 28 3c 69 3e 44 69 6a 6b 73 74 72  uery (<i>Dijkstr
7d80: 61 27 73 3c 2f 69 3e 20 6f 72 20 3c 69 3e 41 2a  a's</i> or <i>A*
7d90: 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </i>).</li>..<li
7da0: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 65 71 75 65  >column <b>Reque
7db0: 73 74 3c 2f 62 3e 20 73 70 65 63 69 66 69 65 73  st</b> specifies
7dc0: 20 74 68 65 20 65 78 61 63 74 20 6e 61 74 75 72   the exact natur
7dd0: 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74  e of the current
7de0: 20 71 75 65 72 79 20 28 69 6e 20 74 68 69 73 20   query (in this 
7df0: 73 70 65 63 69 66 69 63 20 63 61 73 65 20 3c 69  specific case <i
7e00: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f  >Shortest Path</
7e10: 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77  i>).</li>..<li>w
7e20: 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72 20  e'll ignore for 
7e30: 6e 6f 77 20 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f  now columns <b>O
7e40: 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44  ptions</b>, <b>D
7e50: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62  elimiter</b>, <b
7e60: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20  >PointFrom</b>, 
7e70: 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61  <b>PointTo</b> a
7e80: 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c  nd <b>Tolerance<
7e90: 2f 62 3e 3a 20 74 68 65 69 72 20 72 65 73 70 65  /b>: their respe
7ea0: 63 74 69 76 65 20 6d 65 61 6e 69 6e 67 73 20 77  ctive meanings w
7eb0: 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64  ill be explained
7ec0: 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61   in following pa
7ed0: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a  ragraphs.</li>..
7ee0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65  <li>column <b>Ge
7ef0: 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6e 74 61  ometry</b> conta
7f00: 69 6e 73 20 61 20 3c 62 3e 4c 49 4e 45 53 54 52  ins a <b>LINESTR
7f10: 49 4e 47 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e  ING</b> represen
7f20: 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68  tation of the wh
7f30: 6f 6c 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ole travel solut
7f40: 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ion.<br>..<u>Not
7f50: 65 3c 2f 75 3e 3a 20 6f 6e 20 3c 62 3e 4c 6f 67  e</u>: on <b>Log
7f60: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62  ical Networks</b
7f70: 3e 20 28 6e 6f 74 20 73 75 70 70 6f 72 74 69 6e  > (not supportin
7f80: 67 20 47 65 6f 6d 65 74 72 69 65 73 29 20 3c 62  g Geometries) <b
7f90: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 77 69  >Geometry</b> wi
7fa0: 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 3c 62 3e  ll always be <b>
7fb0: 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  NULL</b>.</li>..
7fc0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
7fd0: 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72  we'll ignore for
7fe0: 20 6e 6f 77 20 63 6f 6c 75 6d 6e 20 3c 62 3e 52   now column <b>R
7ff0: 6f 75 74 65 49 64 3c 2f 62 3e 3b 20 69 74 73 20  outeId</b>; its 
8000: 6d 65 61 6e 69 6e 67 20 77 69 6c 6c 20 62 65 20  meaning will be 
8010: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c  explained in fol
8020: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68  lowing paragraph
8030: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  s.</li>..<li>col
8040: 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c  umn <b>RouteRow<
8050: 2f 62 3e 20 73 69 6d 70 6c 79 20 69 73 20 74 68  /b> simply is th
8060: 65 20 70 72 6f 67 72 65 73 73 69 76 65 20 6e 75  e progressive nu
8070: 6d 62 65 72 20 6f 66 20 74 68 65 20 72 6f 77 20  mber of the row 
8080: 69 6e 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f  in the travel so
8090: 6c 75 74 69 6f 6e 20 28 61 6c 77 61 79 73 20 3c  lution (always <
80a0: 62 3e 30 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68  b>0</b> in the h
80b0: 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e  eader row).</li>
80c0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
80d0: 52 6f 6c 65 3c 2f 62 3e 20 63 61 6e 20 62 65 20  Role</b> can be 
80e0: 3c 69 3e 52 6f 75 74 65 3c 2f 69 3e 20 28 68 65  <i>Route</i> (he
80f0: 61 64 65 72 20 72 6f 77 29 20 6f 72 20 3c 69 3e  ader row) or <i>
8100: 4c 69 6e 6b 3c 2f 69 3e 20 28 61 6c 6c 20 66 6f  Link</i> (all fo
8110: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 29 2e 3c 2f  llowing rows).</
8120: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
8130: 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e  <b>LinkRowid</b>
8140: 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65 20   references the 
8150: 3c 62 3e 52 4f 57 49 44 3c 2f 62 3e 20 6f 66 20  <b>ROWID</b> of 
8160: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
8170: 67 20 4c 69 6e 6b 20 28 61 6c 77 61 79 73 20 73  g Link (always s
8180: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  et to <b>NULL</b
8190: 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  > in the header 
81a0: 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  row).</li>..<li>
81b0: 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 6f 64 65 46 72  column <b>NodeFr
81c0: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f  om</b> and <b>No
81d0: 64 65 54 6f 3c 2f 62 3e 20 68 61 76 65 20 74 68  deTo</b> have th
81e0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65  e following inte
81f0: 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c  rpretation:..<ul
8200: 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65  >..<li>in the he
8210: 61 64 65 72 20 72 6f 77 20 74 68 65 79 20 63 6f  ader row they co
8220: 72 72 65 73 70 6f 6e 64 20 74 6f 20 68 65 20 3c  rrespond to he <
8230: 62 3e 4f 72 69 67 69 6e 3c 2f 62 3e 20 61 6e 64  b>Origin</b> and
8240: 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e 3c   <b>Destination<
8250: 2f 62 3e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d  /b> Nodes.</li>.
8260: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 68 65 20  .<li>in all the 
8270: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74  following rows t
8280: 68 65 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64  hey are intended
8290: 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20   to specify the 
82a0: 64 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65  direction of the
82b0: 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f   current Link.</
82c0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
82d0: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43  .<li>column <b>C
82e0: 6f 73 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20  ost</b> has the 
82f0: 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70  following interp
8300: 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d  retation:..<ul>.
8310: 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64  .<li>in the head
8320: 65 72 20 74 6f 77 20 69 74 20 63 6f 72 72 65 73  er tow it corres
8330: 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e  ponds to the <b>
8340: 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f  total cost</b> o
8350: 66 20 74 68 65 20 74 72 61 76 65 6c 2e 3c 2f 6c  f the travel.</l
8360: 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74  i>..<li>in all t
8370: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77  he following row
8380: 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 20  s it represents 
8390: 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 73  the specific cos
83a0: 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74  t of the current
83b0: 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75   Link.</li>..</u
83c0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  l></li>..<li>col
83d0: 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20  umn <b>Name</b> 
83e0: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73  contains the des
83f0: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20  cription of the 
8400: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73  current Link (us
8410: 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d  ually a road nam
8420: 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79  e), and is alway
8430: 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e  s <b>NULL</b> in
8440: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e   the header row.
8450: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
8460: 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c  > it could be al
8470: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c  ways be <b>NULL<
8480: 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74 75  /b> if the Virtu
8490: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20  alRouting Table 
84a0: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  does not support
84b0: 73 20 6e 61 6d 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  s names.</li>..<
84c0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /ul></li>..</ul>
84d0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 65 73 74  ..<br><br>..Test
84e0: 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20 63  ing the return c
84f0: 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75 73 74 20 72  onnection just r
8500: 65 71 75 69 72 65 73 20 73 77 61 70 70 69 6e 67  equires swapping
8510: 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20   the Origin and 
8520: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 3b  the Destination;
8530: 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65   in this example
8540: 20 79 6f 75 27 6c 6c 20 6a 75 73 74 20 72 65 71   you'll just req
8550: 75 65 73 74 20 74 68 65 20 6d 65 61 6e 69 6e 67  uest the meaning
8560: 66 75 6c 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76  ful columns:..<v
8570: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
8580: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
8590: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
85a0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
85b0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
85c0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
85d0: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20  .WHERE NodeTo = 
85e0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46  178731 AND NodeF
85f0: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  rom = 183286;..<
8600: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
8610: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
8620: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
8630: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
8640: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
8650: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
8660: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
8670: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
8680: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
8690: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
86a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
86b0: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
86c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
86d0: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
86e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
86f0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
8700: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8710: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
8720: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8730: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
8740: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
8750: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
8760: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
8770: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8780: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
8790: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
87a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
87b0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
87c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
87d0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
87e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
87f0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
8800: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
8810: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
8820: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
8830: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8840: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
8850: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8860: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
8870: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8880: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
8890: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
88a0: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
88b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
88c0: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
88d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
88e0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
88f0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
8900: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8910: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
8920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8930: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
8940: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8950: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8960: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8970: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
8980: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
8990: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
89a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
89b0: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
89c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
89d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
89e0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
89f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8a00: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74  right">224014</t
8a10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8a20: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
8a30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8a40: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
8a50: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34  align="right">94
8a60: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e  .812424</td><td>
8a70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8a80: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
8a90: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
8aa0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 49 66 20  able>..<br>..If 
8ab0: 79 6f 75 20 72 65 6d 65 6d 62 65 72 2c 20 74 68  you remember, th
8ac0: 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20  e <b>byfoot</b> 
8ad0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
8ae0: 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e 6f  able has no <b>o
8af0: 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e 64  ne-ways</b>, and
8b00: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
8b10: 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 65 78  e return path ex
8b20: 61 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64  actly correspond
8b30: 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 6f  s to the first o
8b40: 6e 65 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68  ne, except in th
8b50: 61 74 20 61 6c 6c 20 64 69 72 65 63 74 69 6f 6e  at all direction
8b60: 73 20 61 72 65 20 6e 6f 77 20 72 65 76 65 72 73  s are now revers
8b70: 65 64 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  ed...<br><br><br
8b80: 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c 6c 20 67 6f  >..Now you'll go
8b90: 20 74 6f 20 74 65 73 74 20 74 68 65 20 73 61 6d   to test the sam
8ba0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 62  e connections, b
8bb0: 75 74 20 74 68 69 73 20 74 69 6d 65 20 79 6f 75  ut this time you
8bc0: 27 6c 6c 20 74 61 72 67 65 74 20 74 68 65 20 3c  'll target the <
8bd0: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 74  b>bycar</b> Virt
8be0: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
8bf0: 20 74 68 61 74 20 66 75 6c 6c 79 20 73 75 70 70   that fully supp
8c00: 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77 61 79 73  orts <b>one-ways
8c10: 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  </b>:..<verbatim
8c20: 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52  >..SELECT RouteR
8c30: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
8c40: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
8c50: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
8c60: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
8c70: 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45 20 4e  M bycar..WHERE N
8c80: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
8c90: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38   AND NodeTo = 18
8ca0: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  3286;..</verbati
8cb0: 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  m>..<table borde
8cc0: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
8cd0: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
8ce0: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
8cf0: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
8d00: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8d10: 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68  a0">RouteRow</th
8d20: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8d30: 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e  0d0a0">Role</th>
8d40: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8d50: 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c  d0a0">LinkRowid<
8d60: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8d70: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72  "#d0d0a0">NodeFr
8d80: 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
8d90: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
8da0: 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eTo</th><th bgco
8db0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
8dc0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
8dd0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
8de0: 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67  metry</th><th bg
8df0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8e00: 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  Name</th></tr>..
8e10: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
8e20: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
8e30: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
8e40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
8e50: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
8e60: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
8e70: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
8e80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8e90: 67 68 74 22 3e 31 30 31 2e 38 31 35 35 35 32 3c  ght">101.815552<
8ea0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
8eb0: 32 30 33 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  2032 GEOMETRY</t
8ec0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
8ed0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
8ee0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8ef0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
8f00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8f10: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
8f20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8f30: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
8f40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8f50: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
8f60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e 31  ign="right">13.1
8f70: 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  27874</td><td>NU
8f80: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
8f90: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
8fa0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
8fb0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
8fc0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
8fd0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
8fe0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
8ff0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9000: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
9010: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9020: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
9030: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
9040: 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c 74 64 3e  .654608</td><td>
9050: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
9060: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
9070: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9080: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9090: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
90a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
90b0: 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74  right">219171</t
90c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
90d0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
90e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
90f0: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
9100: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e  align="right">7.
9110: 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e  809952</td><td>N
9120: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9130: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
9140: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9150: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9160: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e  ight">4</td><td>
9170: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9180: 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35  gn="right">21905
9190: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
91a0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
91b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
91c0: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
91d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
91e0: 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74 64 3e  ">12.445626</td>
91f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
9200: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
9210: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
9220: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9230: 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64  gn="right">5</td
9240: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9250: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9260: 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74 64 20 61  225888</td><td a
9270: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9280: 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
9290: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 36 31  n="right">183461
92a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
92b0: 72 69 67 68 74 22 3e 31 2e 35 39 39 38 36 35 3c  right">1.599865<
92c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
92d0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
92e0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
92f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9300: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
9310: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9320: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9330: 68 74 22 3e 32 32 35 38 38 37 3c 2f 74 64 3e 3c  ht">225887</td><
9340: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9350: 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20  >183461</td><td 
9360: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9370: 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2800</td><td ali
9380: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 33 30 30  gn="right">3.300
9390: 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  590</td><td>NULL
93a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
93b0: 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
93c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
93d0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
93e0: 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">7</td><td>Lin
93f0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
9400: 22 72 69 67 68 74 22 3e 32 32 33 39 33 35 3c 2f  "right">223935</
9410: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9420: 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e  ght">182800</td>
9430: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9440: 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64  ">182799</td><td
9450: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
9460: 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c 74 64 3e  .688786</td><td>
9470: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
9480: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c  LE LUCA SIGNOREL
9490: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
94a0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
94b0: 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74  "right">8</td><t
94c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
94d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36  lign="right">226
94e0: 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  038</td><td alig
94f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 39  n="right">182799
9500: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9510: 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74  right">183456</t
9520: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9530: 68 74 22 3e 31 2e 32 39 34 30 31 37 3c 2f 74 64  ht">1.294017</td
9540: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9550: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
9560: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
9570: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9580: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f  lign="right">9</
9590: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
95a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
95b0: 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e 3c 74 64  ">225832</td><td
95c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
95d0: 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83456</td><td al
95e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
95f0: 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  44</td><td align
9600: 3d 22 72 69 67 68 74 22 3e 32 2e 33 38 35 34 38  ="right">2.38548
9610: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  6</td><td>NULL</
9620: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43  td><td>VIALE LUC
9630: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64  A SIGNORELLI</td
9640: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9650: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9660: 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  ">10</td><td>Lin
9670: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
9680: 22 72 69 67 68 74 22 3e 32 32 35 38 33 31 3c 2f  "right">225831</
9690: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
96a0: 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e  ght">183444</td>
96b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
96c0: 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64  ">183554</td><td
96d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
96e0: 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c 74 64 3e  .160662</td><td>
96f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
9700: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c  LE LUCA SIGNOREL
9710: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
9720: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9730: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c  "right">11</td><
9740: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9750: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
9760: 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5765</td><td ali
9770: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35  gn="right">18355
9780: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9790: 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f  "right">183954</
97a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
97b0: 67 68 74 22 3e 37 2e 34 36 39 39 31 37 3c 2f 74  ght">7.469917</t
97c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
97d0: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49  td>VIALE LUCA SI
97e0: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c  GNORELLI</td>..<
97f0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9800: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32  align="right">12
9810: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9830: 68 74 22 3e 32 32 35 37 36 36 3c 2f 74 64 3e 3c  ht">225766</td><
9840: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9850: 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20  >183954</td><td 
9860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9870: 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3905</td><td ali
9880: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 32 33 36  gn="right">3.236
9890: 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  389</td><td>NULL
98a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c  </td><td>VIALE L
98b0: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f  UCA SIGNORELLI</
98c0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
98d0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
98e0: 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ht">13</td><td>L
98f0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9900: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 39 37 39  n="right">225979
9910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9920: 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74  right">183905</t
9930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9940: 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c  ht">183626</td><
9950: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9960: 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74 64 3e 3c  >13.983629</td><
9970: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9980: 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e 4f 4d  STRADA SENZA NOM
9990: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
99a0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
99b0: 72 69 67 68 74 22 3e 31 34 3c 2f 74 64 3e 3c 74  right">14</td><t
99c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
99d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
99e0: 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  905</td><td alig
99f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36  n="right">183626
9a00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9a10: 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74  right">183128</t
9a20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9a30: 68 74 22 3e 35 2e 36 32 37 33 35 38 3c 2f 74 64  ht">5.627358</td
9a40: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9a50: 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e  d>STRADA SENZA N
9a60: 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OME</td>..</tr>.
9a70: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9a80: 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f 74 64 3e  ="right">15</td>
9a90: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9aa0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9ab0: 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  24897</td><td al
9ac0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
9ad0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  28</td><td align
9ae0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
9af0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9b00: 69 67 68 74 22 3e 31 30 2e 30 33 30 37 39 32 3c  ight">10.030792<
9b10: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9b20: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
9b30: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
9b40: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 76 65 72  ..</table>..<ver
9b50: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
9b60: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
9b70: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
9b80: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
9b90: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
9ba0: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48  ..FROM bycar..WH
9bb0: 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37 38  ERE NodeTo = 178
9bc0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f 6d  731 AND NodeFrom
9bd0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
9be0: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
9bf0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
9c00: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
9c10: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
9c20: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
9c30: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
9c40: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
9c50: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
9c60: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
9c70: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
9c80: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
9c90: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
9ca0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
9cb0: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
9cc0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9cd0: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
9ce0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
9cf0: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
9d00: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9d10: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
9d20: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9d30: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
9d40: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9d50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
9d60: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
9d70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9d80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9d90: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
9da0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9db0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
9dc0: 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 33 30  n="right">103.30
9dd0: 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  5259</td><td>BLO
9de0: 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d 45 54 52  B sz=944 GEOMETR
9df0: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
9e00: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9e10: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9e20: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
9e30: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
9e40: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c  ="right">224414<
9e50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9e60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
9e70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9e80: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
9e90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9ea0: 31 38 2e 38 38 32 32 38 35 3c 2f 74 64 3e 3c 74  18.882285</td><t
9eb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9ec0: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
9ed0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9ee0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9ef0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
9f00: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
9f10: 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c  ="right">219171<
9f20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9f30: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
9f40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9f50: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74  t">178732</td><t
9f60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f70: 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64  7.809952</td><td
9f80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9f90: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
9fa0: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
9fb0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9fc0: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
9fd0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9fe0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
9ff0: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  058</td><td alig
a000: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
a010: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a020: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
a030: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a040: 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74  ht">12.445626</t
a050: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a060: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
a070: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
a080: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a090: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
a0a0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a0b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a0c0: 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c 74 64  ">224538</td><td
a0d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a0e0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
a0f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
a100: 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  72</td><td align
a110: 3d 22 72 69 67 68 74 22 3e 37 2e 30 34 37 37 38  ="right">7.04778
a120: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
a130: 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e  td><td>VIA ANTON
a140: 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74  IO GUADAGNOLI</t
a150: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a160: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a170: 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">5</td><td>Lin
a180: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
a190: 22 72 69 67 68 74 22 3e 32 32 32 35 37 35 3c 2f  "right">222575</
a1a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a1b0: 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e  ght">181972</td>
a1c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a1d0: 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64  ">181971</td><td
a1e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a1f0: 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c 74 64 3e  .852283</td><td>
a200: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
a210: 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e   ANTONIO GUADAGN
a220: 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OLI</td>..</tr>.
a230: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a240: 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">6</td><td>Lin
a250: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
a260: 22 72 69 67 68 74 22 3e 32 32 34 39 36 37 3c 2f  "right">224967</
a270: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a280: 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e  ght">181971</td>
a290: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a2a0: 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64  ">182891</td><td
a2b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a2c0: 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e 3c 74 64  4.273185</td><td
a2d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a2e0: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
a2f0: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
a300: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a310: 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e  n="right">7</td>
a320: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a330: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a340: 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  24168</td><td al
a350: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
a360: 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  91</td><td align
a370: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 37 3c  ="right">183057<
a380: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a390: 69 67 68 74 22 3e 36 2e 36 34 33 33 30 39 3c 2f  ight">6.643309</
a3a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a3b0: 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27  <td>VIA MACALLE'
a3c0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a3d0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a3e0: 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e  ight">8</td><td>
a3f0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a400: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 36  gn="right">22416
a410: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a420: 22 72 69 67 68 74 22 3e 31 38 33 30 35 37 3c 2f  "right">183057</
a430: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a440: 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e  ght">183056</td>
a450: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a460: 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74 64 3e 3c  ">3.151272</td><
a470: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a480: 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64  VIA MACALLE'</td
a490: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
a4a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a4b0: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">9</td><td>Link
a4c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a4d0: 72 69 67 68 74 22 3e 32 32 34 31 37 34 3c 2f 74  right">224174</t
a4e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a4f0: 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e 3c  ht">183056</td><
a500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a510: 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20  >182941</td><td 
a520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e  align="right">7.
a530: 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74 64 3e 4e  966870</td><td>N
a540: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a550: 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  RODI</td>..</tr>
a560: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a570: 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64  n="right">10</td
a580: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a5a0: 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74 64 20 61  224059</td><td a
a5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a5c0: 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  941</td><td alig
a5d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 31  n="right">182001
a5e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a5f0: 72 69 67 68 74 22 3e 36 2e 33 39 33 37 34 37 3c  right">6.393747<
a600: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a610: 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74  ><td>VIA RODI</t
a620: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a630: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a640: 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">11</td><td>Li
a650: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a660: 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 37 3c  ="right">222637<
a670: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a680: 69 67 68 74 22 3e 31 38 32 30 30 31 3c 2f 74 64  ight">182001</td
a690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a6a0: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74  t">182000</td><t
a6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a6c0: 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e 3c 74 64  2.475538</td><td
a6d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a6e0: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
a6f0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a700: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a710: 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64  ight">12</td><td
a720: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a730: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36  ign="right">2226
a740: 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  36</td><td align
a750: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c  ="right">182000<
a760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
a780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a790: 74 22 3e 31 34 2e 33 36 33 34 30 38 3c 2f 74 64  t">14.363408</td
a7a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a7b0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
a7c0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
a7d0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
a7e0: 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73  ..As you can eas
a7f0: 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 20  ily notice, the 
a800: 6f 70 74 69 6d 61 6c 20 70 61 74 68 73 20 72 65  optimal paths re
a810: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 3c 62  turned by the <b
a820: 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 74 75  >bycar</b> Virtu
a830: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20  alRouting Table 
a840: 74 68 65 20 70 61 74 68 73 20 69 6e 20 6f 70 70  the paths in opp
a850: 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e 73  osite directions
a860: 20 73 74 72 6f 6e 67 6c 79 20 64 69 66 66 65 72   strongly differ
a870: 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2c 20 61   between them, a
a880: 6e 64 20 62 6f 74 68 20 61 72 65 20 63 6f 6d 70  nd both are comp
a890: 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74  letely different
a8a0: 20 66 72 6f 6d 20 74 68 65 20 70 61 74 68 20 72   from the path r
a8b0: 65 74 75 72 6e 65 64 20 62 79 20 71 75 65 72 79  eturned by query
a8c0: 69 6e 67 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62  ing <b>byfoot</b
a8d0: 3e 2e 3c 62 72 3e 0d 0a 41 20 71 75 69 63 6b 20  >.<br>..A quick 
a8e0: 67 6c 61 6e 63 65 20 61 74 20 74 68 65 20 62 65  glance at the be
a8f0: 6c 6f 77 20 6d 61 70 20 77 69 6c 6c 20 73 75 72  low map will sur
a900: 65 6c 79 20 68 65 6c 70 20 74 6f 20 75 6e 64 65  ely help to unde
a910: 72 73 74 61 6e 64 20 62 65 74 74 65 72 20 77 68  rstand better wh
a920: 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70 70  at's really happ
a930: 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73  ening.<br>..This
a940: 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61 72   is a central ar
a950: 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f  ea of the town o
a960: 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20  f Arezzo around 
a970: 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69 63  the archaeologic
a980: 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65 20  al ruins of the 
a990: 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61 74  Roman Amphitheat
a9a0: 65 72 3b 20 63 69 72 63 75 6c 61 74 69 6e 67 20  er; circulating 
a9b0: 62 79 20 63 61 72 20 69 73 20 64 69 73 63 6f 75  by car is discou
a9c0: 72 61 67 65 64 20 61 6e 64 20 69 73 20 73 75 62  raged and is sub
a9d0: 6a 65 63 74 20 74 6f 20 6d 61 6e 79 20 6f 6e 65  ject to many one
a9e0: 2d 77 61 79 20 72 65 73 74 72 69 63 74 69 6f 6e  -way restriction
a9f0: 73 2e 20 4e 6f 74 20 73 75 72 70 72 69 73 69 6e  s. Not surprisin
aa00: 67 6c 79 2c 20 6d 6f 76 69 6e 67 20 62 79 20 66  gly, moving by f
aa10: 6f 6f 74 20 69 73 20 74 68 65 20 66 61 73 74 65  oot is the faste
aa20: 72 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c  r option...<br><
aa30: 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68  br>..<img src="h
aa40: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
aa50: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
aa60: 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f  /routing-figs/ro
aa70: 75 74 69 6e 67 31 2e 6a 70 67 22 20 61 6c 74 3d  uting1.jpg" alt=
aa80: 22 66 69 67 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c  "fig1">..<ul>..<
aa90: 6c 69 3e 79 65 6c 6c 6f 77 20 70 61 74 68 3a 20  li>yellow path: 
aaa0: 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 6c 69 3e  pedestrians</li>
aab0: 0d 0a 3c 6c 69 3e 67 72 65 65 6e 20 70 61 74 68  ..<li>green path
aac0: 3a 20 63 61 72 2c 20 64 69 72 65 63 74 20 64 69  : car, direct di
aad0: 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c  rection</li>..<l
aae0: 69 3e 72 65 64 20 70 61 74 68 3a 20 63 61 72 2c  i>red path: car,
aaf0: 20 72 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f   return directio
ab00: 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  n</li>..</ul>..<
ab10: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f  br>..<table bgco
ab20: 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65  lor="#c0ffc0" ce
ab30: 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63  llspacing="10" c
ab40: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c  ellpadding="6"><
ab50: 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e  tr><td>..<h3>Lin
ab60: 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65  estrings returne
ab70: 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74  d by VirtualRout
ab80: 69 6e 67 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49  ing</h3>..All LI
ab90: 4e 45 53 54 52 49 4e 47 20 47 65 6f 6d 65 74 72  NESTRING Geometr
aba0: 69 65 73 20 63 72 65 61 74 65 64 20 62 79 20 61  ies created by a
abb0: 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  ny VirtualRoutin
abc0: 67 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f  g will always co
abd0: 6e 74 61 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65  ntain <b>M value
abe0: 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  s</b>:..<ul>..<l
abf0: 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61  i>if the underla
ac00: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47  ying Network's G
ac10: 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62  eometries are <b
ac20: 3e 58 59 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e  >XY</b> then <b>
ac30: 58 59 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69  XYM</b> Linestri
ac40: 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75  ngs will be retu
ac50: 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  rned.</li>..<li>
ac60: 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  if the underlayi
ac70: 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f  ng Network's Geo
ac80: 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58  metries are <b>X
ac90: 59 5a 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58  YZ</b> then <b>X
aca0: 59 5a 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69  YZM</b> Linestri
acb0: 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75  ngs will be retu
acc0: 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  rned.</li>..<li>
acd0: 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  if the underlayi
ace0: 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f  ng Network's Geo
acf0: 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58  metries are <b>X
ad00: 59 4d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a  YM</b> or <b>XYZ
ad10: 4d 3c 2f 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65  M</b> then  Line
ad20: 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64  strings returned
ad30: 20 69 6e 74 6f 20 74 68 65 20 72 65 73 75 6c 74   into the result
ad40: 73 65 74 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69  set will maintai
ad50: 6e 20 74 68 65 20 73 61 6d 65 20 64 69 6d 65 6e  n the same dimen
ad60: 73 69 6f 6e 73 20 61 73 20 69 6e 20 74 68 65 20  sions as in the 
ad70: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
ad80: 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69  ork.</li>..<li>i
ad90: 6e 20 61 6e 79 20 63 61 73 65 20 74 68 65 20 3c  n any case the <
ada0: 62 3e 4d 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77  b>M</b> values w
adb0: 69 6c 6c 20 62 65 20 61 70 70 72 6f 70 72 69 61  ill be appropria
adc0: 74 65 6c 79 20 73 65 74 20 73 6f 20 74 6f 20 72  tely set so to r
add0: 65 70 72 65 73 65 6e 74 20 74 68 65 20 3c 75 3e  epresent the <u>
ade0: 70 61 72 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e  partial cost</u>
adf0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74   corresponding t
ae00: 6f 20 65 61 63 68 20 76 65 72 74 65 78 2e 0d 0a  o each vertex...
ae10: 28 69 66 20 74 68 65 20 69 6e 70 75 74 20 4c 69  (if the input Li
ae20: 6e 65 73 74 72 69 6e 67 73 20 61 6c 72 65 61 64  nestrings alread
ae30: 79 20 63 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c  y contains M-val
ae40: 75 65 73 20 74 68 65 79 27 6c 6c 20 62 65 20 6f  ues they'll be o
ae50: 76 65 72 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69  verwritten).</li
ae60: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a  >..</ul>..<br>..
ae70: 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20  In other words, 
ae80: 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20  all Linestrings 
ae90: 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72 74  returned by Virt
aea0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 65  ualRouting can e
aeb0: 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f  ffectively suppo
aec0: 72 74 20 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69  rt <b>LR</b> (<i
aed0: 3e 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63  >Linear Referenc
aee0: 69 6e 67 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e  ing</i>) SQL fun
aef0: 63 74 69 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68  ctions, as in th
af00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d  e following exam
af10: 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  ples:..<verbatim
af20: 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63  >..SELECT ST_Loc
af30: 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73  ate_Between_Meas
af40: 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c  ures(<geometry>,
af50: 20 33 30 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d   30.0, 45.0);...
af60: 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74  .SELECT ST_Locat
af70: 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72  e_Between_Measur
af80: 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38  es(<geometry>, 8
af90: 30 2e 30 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76  0.0, 95.0);..</v
afa0: 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69  erbatim>..The si
afb0: 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61 6c  de map graphical
afc0: 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73 74  ly shows the est
afd0: 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e 73  imated positions
afe0: 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 3c 62   respectively <b
aff0: 3e 33 30 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62  >30</b>-<b>45</b
b000: 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20  > seconds after 
b010: 73 74 61 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77  starting (yellow
b020: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 20 61 6e   dotted line) an
b030: 64 20 3c 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39  d <b>80</b>-<b>9
b040: 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 66  5</b> seconds af
b050: 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 67 72  ter starting (gr
b060: 65 65 6e 20 64 6f 74 74 65 64 20 6c 69 6e 65 29  een dotted line)
b070: 2e 3c 62 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67  .<br>..(assuming
b080: 20 74 68 65 20 73 61 6d 65 20 70 61 74 68 20 72   the same path r
b090: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c  eturned by the l
b0a0: 61 74 65 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f  atest <b>bycar</
b0b0: 62 3e 20 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64  b> query)...</td
b0c0: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d  >..<td><img src=
b0d0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
b0e0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
b0f0: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
b100: 72 6f 75 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c  routing2.jpg" al
b110: 74 3d 22 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a  t="fig2"></td>..
b120: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
b130: 0a 3c 62 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69  .<br>..<h2>Playi
b140: 6e 67 20 77 69 74 68 20 56 69 72 74 75 61 6c 52  ng with VirtualR
b150: 6f 75 74 69 6e 67 20 63 6f 6e 66 69 67 75 72 61  outing configura
b160: 62 6c 65 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e  ble options</h2>
b170: 0d 0a 53 65 76 65 72 61 6c 20 61 73 70 65 63 74  ..Several aspect
b180: 73 20 6f 66 20 56 69 72 74 75 61 6c 52 6f 75 74  s of VirtualRout
b190: 69 6e 67 20 63 61 6e 20 62 65 20 66 72 65 65 6c  ing can be freel
b1a0: 79 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c  y customized...<
b1b0: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
b1c0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67  E byfoot SET Alg
b1d0: 6f 72 69 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a  orithm = 'A*';..
b1e0: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
b1f0: 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75  hm, Options, Rou
b200: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
b210: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
b220: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
b230: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
b240: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
b250: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
b260: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
b270: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72  = 183286;..</ver
b280: 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 72  batim>..If you r
b290: 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74  emember in all t
b2a0: 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d  he previous exam
b2b0: 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b  ples the <b>Dijk
b2c0: 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72  stra's</b> algor
b2d0: 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20 6e  ithm was used; n
b2e0: 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75 74  ow (after execut
b2f0: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c 62  ing the above <b
b300: 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c  >UPDATE</b>) all
b310: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
b320: 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20 62  ueries will be b
b330: 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74 65  ased on the alte
b340: 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62  rnative <b>A*</b
b350: 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e  > algorithm.<br>
b360: 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f  ..If you wish to
b370: 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20 74 68   select again th
b380: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67  e Dijkstra's alg
b390: 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 74 20  orithm you just 
b3a0: 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c  have to execute<
b3b0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79  br> <b>UPDATE by
b3c0: 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74  foot SET Algorit
b3d0: 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 27 3b  hm = 'DIJKSTRA';
b3e0: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54  </b>.<br><br>..T
b3f0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
b400: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
b410: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
b420: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
b430: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
b440: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69  ery; please noti
b450: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20  ce the value in 
b460: 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  the <b>Algorithm
b470: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62  </b> column...<b
b480: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
b490: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
b4a0: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
b4b0: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
b4c0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
b4d0: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
b4e0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
b4f0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
b500: 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
b510: 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
b520: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
b530: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
b540: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b550: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
b560: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
b570: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
b580: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
b590: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
b5a0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b5b0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
b5c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b5d0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
b5e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b5f0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
b600: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b610: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
b620: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74  th></tr>..<tr><t
b630: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  d>A*</td><td>Ful
b640: 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  l</td><td align=
b650: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
b660: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
b670: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
b680: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
b690: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
b6a0: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
b6b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b6c0: 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c  ght">300.912208<
b6d0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
b6e0: 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  272 GEOMETRY</td
b6f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
b700: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
b710: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
b720: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
b730: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
b740: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
b750: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
b760: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
b770: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
b780: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
b790: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
b7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b7b0: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f  ght">94.812424</
b7c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b7d0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
b7e0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
b7f0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
b800: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
b810: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b820: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
b830: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
b840: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34  gn="right">22444
b850: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
b860: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
b870: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b880: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
b890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b8a0: 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e  ">69.727726</td>
b8b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
b8c0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
b8d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
b8e0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
b8f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
b900: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b910: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
b920: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b930: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e  ght">224414</td>
b940: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b950: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
b960: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b970: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
b980: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e  ign="right">136.
b990: 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e  372057</td><td>N
b9a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
b9b0: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
b9c0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
b9d0: 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d  >..<br><br><br>.
b9e0: 0a 59 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61  .You can eventua
b9f0: 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 20 74 68  lly configure th
ba00: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
ba10: 72 6e 65 64 20 74 68 65 20 56 69 72 74 75 61 6c  rned the Virtual
ba20: 52 6f 75 74 69 6e 67 20 71 75 65 72 69 65 73 2e  Routing queries.
ba30: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50  ..<verbatim>..UP
ba40: 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
ba50: 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49  Options = 'NO LI
ba60: 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  NKS';....SELECT 
ba70: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f  Algorithm, Optio
ba80: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ns, RouteRow, Ro
ba90: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
baa0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
bab0: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
bac0: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
bad0: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
bae0: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
baf0: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
bb00: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41  ..</verbatim>..A
bb10: 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62 3e  fter setting <b>
bb20: 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b  Options='NO LINK
bb30: 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c  S'</b> the resul
bb40: 74 73 65 74 20 77 69 6c 6c 20 73 69 6d 70 6c 79  tset will simply
bb50: 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 68 65 61   contain the hea
bb60: 64 65 72 20 72 6f 77 2c 20 61 6e 64 20 61 6c 6c  der row, and all
bb70: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72   the following r
bb80: 6f 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70  ows will be supp
bb90: 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e  ressed.<br>..<u>
bba0: 4e 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63  Note</u>: produc
bbb0: 69 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65  ing a reduced re
bbc0: 73 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63  sultset is expec
bbd0: 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61  ted to be somewa
bbe0: 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54  y faster.<br>..T
bbf0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
bc00: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
bc10: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
bc20: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
bc30: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
bc40: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69  ery; please noti
bc50: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20  ce the value in 
bc60: 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  the <b>Options</
bc70: 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e  b> column...<br>
bc80: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
bc90: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
bca0: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
bcb0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
bcc0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
bcd0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bce0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
bcf0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bd00: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
bd10: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
bd20: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
bd30: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
bd40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
bd50: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
bd60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
bd70: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
bd80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bd90: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
bda0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bdb0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
bdc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bdd0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
bde0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bdf0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
be00: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
be10: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
be20: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
be30: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20  d>A*</td><td>No 
be40: 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c  Links</td><td al
be50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
be60: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
be70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
be80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
be90: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
bea0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
beb0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
bec0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32  ="right">300.912
bed0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  208</td><td>BLOB
bee0: 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59   sz=272 GEOMETRY
bef0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
bf00: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
bf10: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  le>..<br><br><br
bf20: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  >..<verbatim>..U
bf30: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
bf40: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47   Options = 'NO G
bf50: 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53  EOMETRIES';....S
bf60: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
bf70: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52   Options, RouteR
bf80: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
bf90: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
bfa0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
bfb0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
bfc0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
bfd0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
bfe0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
bff0: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
c000: 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69 6e 67  im>After setting
c010: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20   <b>Options='NO 
c020: 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20  GEOMETRIES'</b> 
c030: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69  the resultset wi
c040: 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72  ll contain all r
c050: 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f  ows, but all Geo
c060: 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62 65 20  metries will be 
c070: 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d  suppressed.<br>.
c080: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68  .<u>Note</u>: th
c090: 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65 63 74  is too is expect
c0a0: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79  ed to be someway
c0b0: 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68   faster.<br>..Th
c0c0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
c0d0: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
c0e0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
c0f0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53  y the previous S
c100: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
c110: 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63  ry; please notic
c120: 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74  e the value in t
c130: 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  he <b>Options</b
c140: 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c  > column...<br><
c150: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
c160: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
c170: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
c180: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
c190: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
c1a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c1b0: 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
c1c0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c1d0: 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
c1e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c1f0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
c200: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
c210: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
c220: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
c230: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
c240: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
c250: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c260: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
c270: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c280: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
c290: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c2a0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
c2b0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c2c0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
c2d0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c2e0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
c2f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41  </tr>..<tr><td>A
c300: 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f  *</td><td>No Geo
c310: 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20  metries</td><td 
c320: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
c330: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
c340: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c350: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c360: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
c370: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
c380: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
c390: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39  gn="right">300.9
c3a0: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12208</td><td>NU
c3b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
c3c0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
c3d0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
c3e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c3f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c400: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
c410: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c420: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
c430: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c440: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
c450: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
c460: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
c470: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
c480: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
c490: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
c4a0: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
c4b0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
c4c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c4d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
c4e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
c4f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
c500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c510: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20  >224446</td><td 
c520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
c530: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
c540: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
c550: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
c560: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32  "right">69.72772
c570: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  6</td><td>NULL</
c580: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
c590: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
c5a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
c5b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
c5c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c5d0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
c5e0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
c5f0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31  gn="right">22441
c600: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
c610: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
c620: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c630: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
c640: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c650: 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64  ">136.372057</td
c660: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c670: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
c680: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
c690: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
c6a0: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  ><br>..<verbatim
c6b0: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
c6c0: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27   SET Options = '
c6d0: 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45  SIMPLE';....SELE
c6e0: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70  CT Algorithm, Op
c6f0: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c  tions, RouteRow,
c700: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
c710: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
c720: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
c730: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
c740: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
c750: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
c760: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
c770: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
c780: 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f  Setting <b>Optio
c790: 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62 3e 20  ns='SIMPLE'</b> 
c7a0: 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 66 66  has the same eff
c7b0: 65 63 74 20 74 68 61 6e 20 73 65 74 74 69 6e 67  ect than setting
c7c0: 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e 4b   both <b>NO LINK
c7d0: 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20  S</b> and <b>NO 
c7e0: 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61  GEOMETRIES</b> a
c7f0: 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e  t the same time.
c800: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
c810: 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70 65 63  >: this is expec
c820: 74 65 64 20 74 6f 20 62 65 20 74 68 65 20 66 61  ted to be the fa
c830: 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e 3c 62  stest setting.<b
c840: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
c850: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
c860: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
c870: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76  rned by the prev
c880: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61  ious Shortest Pa
c890: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65  th query; please
c8a0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75   notice the valu
c8b0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69  e in the <b>Opti
c8c0: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d  ons</b> column..
c8d0: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
c8e0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
c8f0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
c900: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
c910: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
c920: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
c930: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
c940: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
c950: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
c960: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
c970: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c980: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
c990: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c9a0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
c9b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c9c0: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
c9d0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c9e0: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
c9f0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
ca00: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
ca10: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
ca20: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
ca30: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
ca40: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
ca50: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
ca60: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
ca70: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
ca80: 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74  >..<td>A*</td><t
ca90: 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74 64  d>Simple</td><td
caa0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
cab0: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
cac0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
cad0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
cae0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
caf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
cb00: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
cb10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
cb20: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e  912208</td><td>N
cb30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
cb40: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
cb50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 69  table>..<br>..Fi
cb60: 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 77 69  nally, if you wi
cb70: 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 67 61  sh to select aga
cb80: 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73  in the initial s
cb90: 74 61 6e 64 61 72 64 20 73 65 74 74 69 6e 67 20  tandard setting 
cba0: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f  you just have to
cbb0: 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e   execute<br> <b>
cbc0: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
cbd0: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 46 55 4c  T Options = 'FUL
cbe0: 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  L';</b>.<br><br>
cbf0: 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e  ..<hr><br>..<h1>
cc00: 3c 61 20 6e 61 6d 65 3d 22 6d 75 6c 74 69 22 3e  <a name="multi">
cc10: 35 20 2d 20 53 6f 6c 76 69 6e 67 20 6d 75 6c 74  5 - Solving mult
cc20: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68  i-destination Sh
cc30: 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62  ortest Path prob
cc40: 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41  lems</a></h1>..A
cc50: 20 76 65 72 79 20 69 6e 74 65 72 65 73 74 69 6e   very interestin
cc60: 67 20 66 65 61 74 75 72 65 20 73 75 70 70 6f 72  g feature suppor
cc70: 74 65 64 20 62 79 20 74 68 65 20 44 69 6a 6b 73  ted by the Dijks
cc80: 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20  tra's Algorithm 
cc90: 69 73 20 74 68 61 74 20 69 74 20 72 6f 62 75 73  is that it robus
cca0: 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61 74  tly ensures that
ccb0: 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61 74   when a destinat
ccc0: 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 20 61  ion is reached a
ccd0: 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61 74 69  ll the destinati
cce0: 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61  ons presenting a
ccf0: 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c   <b>lesser cost<
cd00: 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 61 64 79  /b> have already
cd10: 20 62 65 65 6e 20 72 65 61 63 68 65 64 20 69 6e   been reached in
cd20: 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 73 20 73   some previous s
cd30: 74 65 70 20 6f 66 20 74 68 65 20 70 72 6f 63 65  tep of the proce
cd40: 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c  ss.<br>..This al
cd50: 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65 6e  lows to efficien
cd60: 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 6d  tly support <b>m
cd70: 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
cd80: 69 6f 6e 73 3c 2f 62 3e 20 53 68 6f 72 74 65 73  ions</b> Shortes
cd90: 74 20 50 61 74 68 20 71 75 65 72 69 65 73 2e 0d  t Path queries..
cda0: 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65  .You simply have
cdb0: 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62   to specify a <b
cdc0: 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e 20 4e  >single origin N
cdd0: 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 6e 20 3c  ode</b> and an <
cde0: 62 3e 61 72 62 69 74 72 61 72 79 20 6c 69 73 74  b>arbitrary list
cdf0: 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20   of destination 
ce00: 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20 73  Nodes</b> in a s
ce10: 69 6e 67 6c 65 20 44 69 6a 6b 73 74 72 61 27 73  ingle Dijkstra's
ce20: 20 65 78 65 63 75 74 69 6f 6e 2e 3c 62 72 3e 3c   execution.<br><
ce30: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
ce40: 3a 20 65 78 65 63 75 74 69 6e 67 20 61 20 6d 75  : executing a mu
ce50: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
ce60: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
ce70: 65 72 79 20 72 65 71 75 69 72 65 73 20 61 20 3c  ery requires a <
ce80: 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69 6d  b>processing tim
ce90: 65 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27 74  e</b> that isn't
cea0: 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61   the <u>sum of a
ceb0: 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69  ll individual ti
cec0: 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64  mings for each d
ced0: 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20  estination</u>, 
cee0: 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68  but simply is th
cef0: 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72  e <u>time requir
cf00: 65 64 20 74 6f 20 72 65 61 63 68 20 74 68 65 20  ed to reach the 
cf10: 6d 6f 73 74 20 63 6f 73 74 6c 79 20 6f 66 20 61  most costly of a
cf20: 6c 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20  ll destinations 
cf30: 69 6e 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e  in the list</u>.
cf40: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74  <br>..This isn't
cf50: 20 72 69 67 6f 72 6f 75 73 6c 79 20 74 72 75 65   rigorously true
cf60: 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
cf70: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  the VirtualRouti
cf80: 6e 67 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c  ng specific impl
cf90: 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 62 65 63 61  ementation, beca
cfa0: 75 73 65 20 61 72 72 61 6e 67 69 6e 67 20 74 68  use arranging th
cfb0: 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f 20 62  e resultset to b
cfc0: 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 63  e returned and c
cfd0: 72 65 61 74 69 6e 67 20 61 6c 6c 20 74 68 65 20  reating all the 
cfe0: 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e 65 73  individual Lines
cff0: 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20  trings for each 
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 6c 6c  destination will
d010: 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65 20 73   surely impose s
d020: 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76 65 72  ome further over
d030: 68 65 61 64 2c 20 62 75 74 20 6e 6f 6e 65 74 68  head, but noneth
d040: 65 6c 65 73 73 20 69 74 20 72 65 6d 61 69 6e 73  eless it remains
d050: 20 63 6f 6e 66 69 72 6d 65 64 20 74 68 61 74 20   confirmed that 
d060: 65 78 65 63 75 74 69 6e 67 20 61 20 73 69 6e 67  executing a sing
d070: 6c 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  le multi-destina
d080: 74 69 6f 6e 20 71 75 65 72 79 20 77 69 6c 6c 20  tion query will 
d090: 73 75 72 65 6c 79 20 62 65 20 20 6e 6f 74 69 63  surely be  notic
d0a0: 65 61 62 6c 79 20 66 61 73 74 65 72 20 74 68 65  eably faster the
d0b0: 6e 20 65 78 65 63 75 74 69 6e 67 20 6d 61 6e 79  n executing many
d0c0: 20 73 70 61 72 73 65 20 73 69 6e 67 6c 65 2d 64   sparse single-d
d0d0: 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69  estination queri
d0e0: 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  es...<verbatim>.
d0f0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
d100: 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69  m, Request, Opti
d110: 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20  ons, Delimiter, 
d120: 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f  RouteId, RouteRo
d130: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
d140: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
d150: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
d160: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
d170: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
d180: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
d190: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31   AND NodeTo = '1
d1a0: 38 33 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31  83286,290458,181
d1b0: 39 39 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32  999,184030,12462
d1c0: 32 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27  2,183882,178754'
d1d0: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
d1e0: 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c  As you can easil
d1f0: 79 20 6e 6f 74 69 63 65 2c 20 61 20 3c 62 3e 6d  y notice, a <b>m
d200: 75 6c 74 69 70 6c 65 2d 64 65 73 74 69 6e 61 74  ultiple-destinat
d210: 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20 68  ions</b> query h
d220: 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e  as the same iden
d230: 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 6e  tical form of an
d240: 79 20 75 73 75 61 6c 20 53 68 6f 72 74 65 73 74  y usual Shortest
d250: 20 50 61 74 68 20 71 75 65 72 79 2c 20 65 78 63   Path query, exc
d260: 65 70 74 20 69 6e 20 74 68 61 74 20 3c 62 3e 4e  ept in that <b>N
d270: 6f 64 65 54 6f 3c 2f 62 3e 20 6e 6f 77 20 63 6f  odeTo</b> now co
d280: 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63  rresponds to a c
d290: 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c  omma-separated l
d2a0: 69 73 74 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  ist.<br>..The fo
d2b0: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
d2c0: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
d2d0: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
d2e0: 65 20 70 72 65 76 69 6f 75 73 20 6d 75 6c 74 69  e previous multi
d2f0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
d300: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
d310: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
d320: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
d330: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
d340: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
d350: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
d360: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
d370: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
d380: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
d390: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d3a0: 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68  >Request</th><th
d3b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d3c0: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
d3d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d3e0: 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  0a0">Delimiter</
d3f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d400: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64  #d0d0a0">RouteId
d410: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d420: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
d430: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
d440: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
d450: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
d460: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
d470: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
d480: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d490: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
d4a0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d4b0: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
d4c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d4d0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
d4e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d4f0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
d500: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d510: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
d520: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
d530: 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
d540: 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  d>Shortest Path<
d550: 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64  /td><td>Full</td
d560: 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
d570: 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
d580: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d590: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
d5a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
d5b0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
d5c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d5e0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
d5f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
d600: 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
d610: 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37  gn="right">154.7
d620: 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c  50839</td><td>BL
d630: 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54  OB sz=240 GEOMET
d640: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
d650: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
d660: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
d670: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d680: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d690: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
d6a0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
d6b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d6c0: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
d6d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d6e0: 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64  ight">222636</td
d6f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d700: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
d710: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d720: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
d730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33  lign="right">103
d740: 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e  .735722</td><td>
d750: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
d760: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
d770: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
d780: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
d790: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d7a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d7b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
d7c0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
d7d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d7e0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
d7f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d800: 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64  ight">225527</td
d810: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d820: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74  t">182000</td><t
d830: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d840: 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
d850: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e  lign="right">51.
d860: 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e  015117</td><td>N
d870: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
d880: 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f  LICIO NENCETTI</
d890: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
d8a0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
d8b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d8c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d8d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
d8e0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
d8f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d900: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
d910: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d920: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d930: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
d940: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d950: 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61  184030</td><td a
d960: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 36  lign="right">176
d970: 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e  .364755</td><td>
d980: 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d  BLOB sz=304 GEOM
d990: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
d9a0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
d9b0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
d9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d9d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d9e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
d9f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
da00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
da10: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
da20: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
da30: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
da40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
da50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
da60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
da70: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
da80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
da90: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
daa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
dab0: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
dac0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
dad0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
dae0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
daf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
db00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
db10: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
db20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
db30: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
db40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
db50: 72 69 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74  right">224862</t
db60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
db70: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
db80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
db90: 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20  >182043</td><td 
dba0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37  align="right">37
dbb0: 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e  .095287</td><td>
dbc0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
dbd0: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
dbe0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
dbf0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dc00: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dc10: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dc20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dc30: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20  ight">1</td><td 
dc40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
dc50: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
dc60: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dc70: 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74  t">226070</td><t
dc80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dc90: 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61  182043</td><td a
dca0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
dcb0: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
dcc0: 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37  n="right">44.457
dcd0: 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  044</td><td>NULL
dce0: 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20  </td><td>PIAZZA 
dcf0: 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74  SANT'AGOSTINO</t
dd00: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
dd10: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
dd20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dd30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dd40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dd50: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
dd60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
dd70: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
dd80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dd90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dda0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
ddb0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ddc0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
ddd0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 2e  ign="right">224.
dde0: 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e 42  677095</td><td>B
ddf0: 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45  LOB sz=240 GEOME
de00: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
de10: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
de20: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
de30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
de40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
de50: 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
de60: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
de70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
de80: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
de90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dea0: 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e 3c 74 64  ">219045</td><td
deb0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dec0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
ded0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
dee0: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
def0: 3d 22 72 69 67 68 74 22 3e 37 36 2e 30 32 31 30  ="right">76.0210
df00: 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  07</td><td>NULL<
df10: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 53 53 41  /td><td>VIA ASSA
df20: 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  B</td>..</tr>..<
df30: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
df40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
df50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
df60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
df70: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
df80: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
df90: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
dfa0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
dfb0: 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f  "right">219058</
dfc0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dfd0: 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
dfe0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dff0: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
e000: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e010: 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74  48.656089</td><t
e020: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e030: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
e040: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
e050: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e060: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e070: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e080: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e090: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
e0a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e0b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
e0c0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
e0d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e0e0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
e0f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e100: 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
e110: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e120: 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64  ">260.132354</td
e130: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30  ><td>BLOB sz=240
e140: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
e150: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
e160: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e170: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e180: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e190: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e1a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e1b0: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
e1c0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
e1d0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e1e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
e1f0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
e200: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
e210: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e220: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
e230: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e240: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
e250: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e260: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
e270: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
e280: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e290: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e2a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e2b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e2c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
e2d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e2e0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
e2f0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
e300: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
e310: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  46</td><td align
e320: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
e330: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e340: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
e350: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e360: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64  t">69.727726</td
e370: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e380: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
e390: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
e3a0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e3b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e3c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e3d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e3e0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
e3f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e400: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
e410: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e420: 22 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c 2f  "right">225800</
e430: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e440: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
e450: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e460: 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
e470: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
e480: 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64  5.592204</td><td
e490: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e4a0: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
e4b0: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
e4c0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e4d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e4e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e4f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e500: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
e510: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e520: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
e530: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
e540: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e550: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
e560: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e570: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
e580: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e590: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
e5a0: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20  <td>BLOB sz=272 
e5b0: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
e5c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
e5d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e5e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e5f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e600: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e610: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
e620: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e630: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
e640: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
e650: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
e660: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
e670: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
e680: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e690: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
e6a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e6b0: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64  t">94.812424</td
e6c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e6d0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
e6e0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
e6f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e700: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e710: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e730: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
e740: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e750: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
e760: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
e770: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34  gn="right">22444
e780: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
e790: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
e7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e7b0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
e7c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e7d0: 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e  ">69.727726</td>
e7e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e7f0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
e800: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e810: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e820: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e830: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e840: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e850: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
e860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e870: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
e880: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e890: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
e8a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e8b0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
e8c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e8d0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
e8e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
e8f0: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64  6.372057</td><td
e900: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e910: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
e920: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e930: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e940: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e950: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><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 55 6e 72 65 61 63 68 61 62 6c 65 20 4e  td>Unreachable N
e990: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55  odeTo</td><td>NU
e9a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e9b0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
e9c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e9d0: 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64  ight">290458</td
e9e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e9f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ea00: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
ea10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
ea20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ea30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><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 55 6e 72 65 61 63 68  </td><td>Unreach
ea70: 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e  able NodeTo</td>
ea80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ea90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
eaa0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
eab0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36  ign="right">1246
eac0: 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  22</td><td>NULL<
ead0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
eae0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
eaf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
eb00: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69  .<br>..Let's qui
eb10: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65  ckly examine the
eb20: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
eb30: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
eb40: 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
eb50: 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79  ations</b> query
eb60: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  ...<ul>..<li>the
eb70: 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f 75 74 20   overall layout 
eb80: 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c  is almost exactl
eb90: 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f  y the same as yo
eba0: 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65  u've already see
ebb0: 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  n in the case of
ebc0: 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69   <b>single-desti
ebd0: 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69  nation</b> queri
ebe0: 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20  es, but in this 
ebf0: 63 61 73 65 20 6d 6f 72 65 20 69 6e 64 69 76 69  case more indivi
ec00: 64 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75  dual travel solu
ec10: 74 69 6f 6e 73 20 61 72 65 20 67 72 6f 75 70 65  tions are groupe
ec20: 64 20 61 6c 74 6f 67 65 74 68 65 72 2e 3c 2f 6c  d altogether.</l
ec30: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66  i>..<li>the <b>f
ec40: 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20  irst row</b> of 
ec50: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73  the resultset is
ec60: 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69   someway excepti
ec70: 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65  onal, and is the
ec80: 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20 74   unique row of t
ec90: 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65  he resultset pre
eca0: 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e  senting <b>NOT N
ecb0: 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69  ULL</b> values i
ecc0: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  n the <b>Algorit
ecd0: 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65  hm</b>, <b>Reque
ece0: 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f  st</b>, <b>Optio
ecf0: 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65  ns</b> and <b>De
ed00: 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75  limiter</b> colu
ed10: 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  mns.</li>..<li>t
ed20: 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62  he <b>RouteId</b
ed30: 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74 65  > column is inte
ed40: 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74 6f  nded to group to
ed50: 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73 20  gether all rows 
ed60: 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61 6d  belonging to sam
ed70: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  e travel solutio
ed80: 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  n (<i>aka</i> <b
ed90: 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72 3e  >Route</b>).<br>
eda0: 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72 6f  ..Routes are pro
edb0: 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62 65  gressively numbe
edc0: 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64 65  red and are orde
edd0: 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20  red accordingly 
ede0: 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74 61  to their <b>tota
edf0: 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e  l cost</b>.</li>
ee00: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75  ..<li>the <b>Rou
ee10: 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  teRow</b> column
ee20: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 6e   has the same in
ee30: 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 20  terpretation as 
ee40: 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e  in single-destin
ee50: 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74 73  ation resultsets
ee60: 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65  , and is intende
ee70: 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76 65  d to progressive
ee80: 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65 20  ly order in the 
ee90: 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63 65  correct sequence
eea0: 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e 65   all Links conne
eeb0: 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e  cting the Origin
eec0: 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61   and the Destina
eed0: 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f 75  tion of each Rou
eee0: 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75 74  te.<br>..<b>Rout
eef0: 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61 79  eRow=0</b> alway
ef00: 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65  s identifies the
ef10: 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20 65   header row of e
ef20: 61 63 68 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ach travel solut
ef30: 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ion.</li>..</ul>
ef40: 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 69 63  ..<br>..<u>Notic
ef50: 65 3c 2f 75 3e 3a 20 74 68 65 20 6c 61 73 74 20  e</u>: the last 
ef60: 74 77 6f 20 72 6f 77 73 20 69 6e 20 74 68 65 20  two rows in the 
ef70: 72 65 73 75 6c 74 73 65 74 20 72 65 70 6f 72 74  resultset report
ef80: 73 20 3c 62 3e 55 6e 72 65 61 63 68 61 62 6c 65  s <b>Unreachable
ef90: 20 4e 6f 64 65 54 6f 09 3c 2f 62 3e 20 69 6e 20   NodeTo.</b> in 
efa0: 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20  the <b>Role</b> 
efb0: 63 6f 6c 75 6d 6e 2c 20 74 68 75 73 20 69 6d 70  column, thus imp
efc0: 6c 79 69 6e 67 20 61 20 3c 62 3e 66 6f 72 62 69  lying a <b>forbi
efd0: 64 64 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c  dden connection<
efe0: 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77  /b>.<br>..This w
eff0: 61 73 20 70 75 72 70 6f 73 65 6c 79 20 69 6e 74  as purposely int
f000: 65 6e 64 65 64 3a 20 4e 6f 64 65 73 20 3c 62 3e  ended: Nodes <b>
f010: 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e 64 20 3c  290458</b> and <
f020: 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20 61 72 65  b>124622</b> are
f030: 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45 6c 62 61   located on Elba
f040: 20 61 6e 64 20 47 69 67 6c 69 6f 20 69 73 6c 61   and Giglio isla
f050: 6e 64 73 2e 20 54 68 65 20 75 6e 64 65 72 6c 61  nds. The underla
f060: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20 69 73 20  ying Network is 
f070: 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49 74 65 72  based on <b>Iter
f080: 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74 20 64 6f  .Net</b> that do
f090: 6e 27 74 20 73 75 70 70 6f 72 74 73 20 66 65 72  n't supports fer
f0a0: 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20  ry connections, 
f0b0: 73 6f 20 61 6e 79 20 74 72 61 76 65 6c 20 73 6f  so any travel so
f0c0: 6c 75 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74  lution between t
f0d0: 68 65 20 69 73 6c 61 6e 64 73 20 61 6e 64 20 74  he islands and t
f0e0: 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77 69 6c 6c  he mainland will
f0f0: 20 61 6c 77 61 79 73 20 66 61 69 6c 2e 0d 0a 3c   always fail...<
f100: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73  br><br><br>..Als
f110: 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  o <b>multi-desti
f120: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
f130: 69 65 73 20 63 61 6e 20 62 65 20 63 75 73 74 6f  ies can be custo
f140: 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20 63  mized, but the c
f150: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75 6c  onfiguration rul
f160: 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69 66 66  es slightly diff
f170: 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79 6f 75  er from what you
f180: 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 73 65   have already se
f190: 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  en in the case o
f1a0: 66 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61  f single-destina
f1b0: 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  tion...<ul>..<li
f1c0: 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62  ><b>Algorithm</b
f1d0: 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73  >: only <b>Dijks
f1e0: 74 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f  tra</b> is suppo
f1f0: 72 74 65 64 20 62 79 20 6d 75 6c 74 69 2d 64 65  rted by multi-de
f200: 73 74 69 6e 61 74 69 6f 6e 2c 20 61 6e 64 20 77  stination, and w
f210: 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c  ill be implicitl
f220: 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77  y assumed even w
f230: 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74  hen the alternat
f240: 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c  ive <b>A*</b> al
f250: 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65  gorithm is curre
f260: 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 2f  ntly selected.</
f270: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69  li>..<li><b>Opti
f280: 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75  ons</b>: the usu
f290: 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20  al <b>FULL</b>, 
f2a0: 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c  <b>SIMPLE</b>, <
f2b0: 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61  b>NO LINKS</b> a
f2c0: 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52  nd <b>NO GEOMETR
f2d0: 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 75 70 70  IES</b> are supp
f2e0: 6f 72 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 68  orted and will h
f2f0: 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 66 66  ave the same eff
f300: 65 63 74 20 61 73 20 69 6e 20 73 69 6e 67 6c 65  ect as in single
f310: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65  -destination que
f320: 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  ries.</li>..</ul
f330: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  >..<verbatim>..U
f340: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
f350: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d 50   Options = 'SIMP
f360: 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41  LE';....SELECT A
f370: 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
f380: 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
f390: 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
f3a0: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
f3b0: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
f3c0: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
f3d0: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
f3e0: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
f3f0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
f400: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
f410: 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30  To = '183286,290
f420: 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33  458,181999,18403
f430: 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c  0,124622,183882,
f440: 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
f450: 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f  atim>..The follo
f460: 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73  wing table shows
f470: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
f480: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 73  eturned by the s
f490: 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e  ame multi-destin
f4a0: 61 74 69 6f 6e 20 71 75 65 72 79 20 75 73 65 64  ation query used
f4b0: 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73   in the previous
f4c0: 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72 20 65   example after e
f4d0: 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53  nabling the <b>S
f4e0: 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e  IMPLE</b> option
f4f0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
f500: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
f510: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
f520: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
f530: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
f540: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
f550: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
f560: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
f570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f580: 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68  >Request</th><th
f590: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f5a0: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
f5b0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f5c0: 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  0a0">Delimiter</
f5d0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f5e0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64  #d0d0a0">RouteId
f5f0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f600: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
f610: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
f620: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
f630: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
f640: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
f650: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
f660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f670: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
f680: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f690: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
f6a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f6b0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
f6c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f6d0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
f6e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f6f0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
f700: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
f710: 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
f720: 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  d>Shortest Path<
f730: 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64  /td><td>Full</td
f740: 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
f750: 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
f760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
f770: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
f780: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
f790: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
f7a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
f7b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
f7c0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
f7d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
f7e0: 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
f7f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37  gn="right">154.7
f800: 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  50839</td><td>NU
f810: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f820: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
f830: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
f840: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
f850: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
f860: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
f870: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
f880: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
f890: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
f8a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
f8b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
f8c0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
f8d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
f8e0: 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
f8f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
f900: 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64  6.364755</td><td
f910: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
f920: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
f930: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
f940: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
f950: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
f960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
f970: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
f980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
f990: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
f9a0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
f9b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
f9c0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
f9d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
f9e0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
f9f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fa00: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e  >224.677095</td>
fa10: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fa20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
fa30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
fa40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fa50: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fa60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fa70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
fa80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fa90: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
faa0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
fab0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
fac0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
fad0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fae0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
faf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fb00: 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f  ht">260.132354</
fb10: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fb20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fb30: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
fb40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fb50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fb60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fb70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fb80: 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
fb90: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
fba0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
fbb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
fbc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
fbd0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
fbe0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
fbf0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fc00: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
fc10: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
fc20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fc30: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
fc40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fc50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fc60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><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 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64  >Unreachable Nod
fca0: 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  eTo</td><td>NULL
fcb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fcc0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
fcd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fce0: 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c  ht">290458</td><
fcf0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fd00: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fd10: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
fd20: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
fd30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fd40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><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 55 6e 72 65 61 63 68 61 62  td><td>Unreachab
fd80: 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74  le NodeTo</td><t
fd90: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
fda0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
fdb0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
fdc0: 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32 32  n="right">124622
fdd0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fde0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fdf0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
fe00: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
fe10: 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c  br>..The map bel
fe20: 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73  ow graphically s
fe30: 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f 75  hows the previou
fe40: 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  s <b>multi-desti
fe50: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
fe60: 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ies...<br><br>..
fe70: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
fe80: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
fe90: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74  t/gaia-sins/rout
fea0: 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67  ing-figs/routing
feb0: 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 33  3.jpg" alt="fig3
fec0: 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65  ">..<ul>..<li>Re
fed0: 64 20 73 74 61 72 3a 20 74 68 65 20 4f 72 69 67  d star: the Orig
fee0: 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c  in Node.</li>..<
fef0: 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 3a 20 74  li>Green dots: t
ff00: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e  he Destination N
ff10: 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  odes.</li>..<li>
ff20: 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a 20 61 6c  Yellow lines: al
ff30: 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72 61  l individual tra
ff40: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f  vel solutions.</
ff50: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
ff60: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
ff70: 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73  ="#ffb060" cells
ff80: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
ff90: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
ffa0: 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e 67 65 72  <td>..<h3>Danger
ffb0: 6f 75 73 20 70 69 74 66 61 6c 6c 73 20 72 65 6c  ous pitfalls rel
ffc0: 61 74 65 64 20 74 6f 20 6d 75 6c 74 69 70 6c 65  ated to multiple
ffd0: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6c 69 73   destination lis
ffe0: 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20 73 79 6e  ts</h3>..SQL syn
fff0: 74 61 78 20 64 69 72 65 63 74 6c 79 20 61 6c 6c  tax directly all
10000 6f 77 73 20 74 6f 20 73 70 65 63 69 66 79 20 6c  ows to specify l
10010 69 73 74 73 20 6f 66 20 20 6d 75 6c 74 69 70 6c  ists of  multipl
10020 65 20 76 61 6c 75 65 73 2c 20 73 6f 20 6d 61 79  e values, so may
10030 20 62 65 20 79 6f 75 20 61 72 65 20 6e 6f 77 20   be you are now 
10040 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f 75 74 20  wondering about 
10050 77 72 69 74 69 6e 67 20 74 68 65 20 3c 62 3e 6d  writing the <b>m
10060 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
10070 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20 74  ions</b> query t
10080 65 73 74 65 64 20 69 6e 20 74 68 65 20 70 72 65  ested in the pre
10090 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20 74  vious examples t
100a0 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65 72 62 61  his way:..<verba
100b0 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67  tim>..SELECT Alg
100c0 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
100d0 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69   Options, Delimi
100e0 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ter, RouteId, Ro
100f0 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
10100 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
10110 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
10120 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
10130 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
10140 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
10150 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
10160 20 49 4e 20 28 31 38 33 32 38 36 2c 20 32 39 30   IN (183286, 290
10170 34 35 38 2c 20 31 38 31 39 39 39 2c 20 31 38 34  458, 181999, 184
10180 30 33 30 2c 20 31 32 34 36 32 32 2c 20 31 38 33  030, 124622, 183
10190 38 38 32 2c 20 31 37 38 37 35 34 29 3b 0d 0a 3c  882, 178754);..<
101a0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 72  /verbatim>..Ther
101b0 65 20 69 73 20 61 20 76 65 72 79 20 67 6f 6f 64  e is a very good
101c0 20 72 65 61 73 6f 6e 20 64 69 73 63 6f 75 72 61   reason discoura
101d0 67 69 6e 67 20 66 72 6f 6d 20 64 6f 69 6e 67 20  ging from doing 
101e0 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c 65  such a thing, le
101f0 74 27 73 20 73 65 65 20 77 68 79 2e 3c 62 72 3e  t's see why.<br>
10200 0d 0a 3c 62 3e 53 51 4c 69 74 65 3c 2f 62 3e 20  ..<b>SQLite</b> 
10210 77 69 6c 6c 20 70 72 6f 63 65 73 73 20 61 20 72  will process a r
10220 65 71 75 65 73 74 20 77 72 69 74 74 65 6e 20 74  equest written t
10230 68 69 73 20 77 61 79 20 62 79 20 72 65 70 65 61  his way by repea
10240 74 65 64 6c 79 20 63 61 6c 6c 69 6e 67 20 56 69  tedly calling Vi
10250 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 70 61 73  rtualRouting pas
10260 73 69 6e 67 20 65 61 63 68 20 74 69 6d 65 20 61  sing each time a
10270 20 73 69 6e 67 6c 65 20 44 65 73 74 69 6e 61 74   single Destinat
10280 69 6f 6e 3b 20 61 6e 64 20 63 6f 6e 73 65 71 75  ion; and consequ
10290 65 6e 74 6c 79 20 3c 62 3e 56 69 72 74 75 61 6c  ently <b>Virtual
102a0 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 77 69 6c 6c  Routing</b> will
102b0 20 6e 65 76 65 72 20 72 65 63 65 69 76 65 20 74   never receive t
102c0 68 65 20 63 72 69 74 69 63 61 6c 20 69 6e 66 6f  he critical info
102d0 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 61 20 73  rmation that a s
102e0 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 63  ingle monolithic
102f0 20 72 65 71 75 65 73 74 20 77 61 73 20 69 6e 74   request was int
10300 65 6e 64 65 64 20 74 6f 20 62 65 20 65 78 65 63  ended to be exec
10310 75 74 65 64 20 69 6e 20 61 20 73 69 6e 67 6c 65  uted in a single
10320 20 73 68 6f 74 2e 20 53 6f 20 74 68 65 20 72 65   shot. So the re
10330 71 75 65 73 74 20 63 6f 6e 74 65 78 74 20 77 69  quest context wi
10340 6c 6c 20 62 65 20 65 61 73 69 6c 79 20 6d 69 73  ll be easily mis
10350 69 6e 74 65 72 70 72 65 74 65 64 2c 20 61 6e 64  interpreted, and
10360 20 61 6e 79 20 65 78 70 65 63 74 65 64 20 73 70   any expected sp
10370 65 65 64 20 62 65 6e 65 66 69 74 20 77 69 6c 6c  eed benefit will
10380 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 66   be completely f
10390 72 75 73 74 72 61 74 65 64 2e 0d 0a 3c 68 33 3e  rustrated...<h3>
103a0 42 65 77 61 72 65 3c 2f 68 33 3e 0d 0a 3c 62 3e  Beware</h3>..<b>
103b0 4e 65 76 65 72 20 65 76 65 72 3c 2f 62 3e 20 61  Never ever</b> a
103c0 74 74 65 6d 70 74 20 74 6f 20 64 65 66 69 6e 65  ttempt to define
103d0 20 61 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74 69   a list of multi
103e0 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple destinations
103f0 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64   using the stand
10400 61 72 64 20 53 51 4c 20 73 79 6e 74 61 78 20 3c  ard SQL syntax <
10410 62 3e 3c 69 3e 57 48 45 52 45 20 4e 6f 64 65 54  b><i>WHERE NodeT
10420 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f 69  o IN (......)</i
10430 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 74  ></b>, because t
10440 68 69 73 20 77 69 6c 6c 20 63 65 72 74 61 69 6e  his will certain
10450 6c 79 20 63 61 75 73 65 20 6d 61 6e 79 20 75 6e  ly cause many un
10460 65 78 70 65 63 74 65 64 20 74 72 6f 75 62 6c 65  expected trouble
10470 73 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f  s.<br>..Badly fo
10480 72 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65  rmatted resultse
10490 74 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20  ts will be then 
104a0 72 65 74 75 72 6e 65 64 2c 20 6d 61 79 20 62 65  returned, may be
104b0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e   containing wron
104c0 67 20 72 65 73 75 6c 74 73 2e 20 3c 62 3e 59 6f  g results. <b>Yo
104d0 75 20 61 72 65 20 77 61 72 6e 65 64 3c 2f 62 3e  u are warned</b>
104e0 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e  .<br><br>..</td>
104f0 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  </tr></table>..<
10500 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f  br>..<table bgco
10510 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65  lor="#c0ffc0" ce
10520 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63  llspacing="10" c
10530 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c  ellpadding="6"><
10540 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 6f 77  tr><td>..<h3>How
10550 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 66 6f   to correctly fo
10560 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65 20 64 65  rmat multiple de
10570 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73  stinations lists
10580 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 6f  </h3>..VirtualRo
10590 75 74 69 6e 67 20 61 6c 77 61 79 73 20 65 78 70  uting always exp
105a0 65 63 74 73 20 74 6f 20 72 65 63 65 69 76 65 20  ects to receive 
105b0 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  a <b>multi-desti
105c0 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c 69 73 74  nations</b> list
105d0 20 61 73 20 61 20 3c 62 3e 54 45 58 54 3c 2f 62   as a <b>TEXT</b
105e0 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e  > string contain
105f0 69 6e 67 20 74 69 67 68 74 6c 79 20 70 61 63 6b  ing tightly pack
10600 65 64 20 76 61 6c 75 65 73 20 73 65 70 61 72 61  ed values separa
10610 74 65 64 20 62 79 20 61 20 63 6f 6e 76 65 6e 74  ted by a convent
10620 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69 6d 69 74  ional <b>delimit
10630 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c 6c 79 20  er</b> (usually 
10640 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 61  represented by a
10650 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 29 2e 3c   <b>comma</b>).<
10660 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f 66  br>..Examples of
10670 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d 61 74 74   <b>well formatt
10680 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73  ed</b> multi-des
10690 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a  tinations lists:
106a0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27 31  ..<verbatim>..'1
106b0 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31 30 30 2c  ,2,3,4,5,10,100,
106c0 31 30 30 30 2c 31 30 30 30 30 30 27 20 20 20 2d  1000,100000'   -
106d0 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49  - integer Node I
106e0 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c 41 31 30  Ds....'A100B,A10
106f0 30 46 2c 42 32 35 30 5a 2c 43 30 31 30 4d 2c 5a  0F,B250Z,C010M,Z
10700 39 39 39 41 27 20 20 2d 2d 20 61 6c 70 68 61 6e  999A'  -- alphan
10710 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65  umeric Node Code
10720 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  s..</verbatim>..
10730 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 62  Examples of <b>b
10740 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 3c 2f  adly formatted</
10750 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  b> multi-destina
10760 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76  tions lists:..<v
10770 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20 31 2c 20  erbatim>..'  1, 
10780 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c 20 31 30  2, 3, 4 , 5 , 10
10790 2c 20 31 30 30 2c 20 31 30 30 30 2c 20 31 30 30  , 100, 1000, 100
107a0 30 30 30 20 20 27 20 20 20 2d 2d 20 69 6e 74 65  000  '   -- inte
107b0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a  ger Node IDs....
107c0 27 20 20 41 31 30 30 42 2c 20 41 31 30 30 46 20  '  A100B, A100F 
107d0 2c 20 42 32 35 30 5a 20 2c 20 43 30 31 30 4d 2c  , B250Z , C010M,
107e0 20 5a 39 39 39 41 20 20 27 20 20 20 20 20 20 2d   Z999A  '      -
107f0 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e  - alphanumeric N
10800 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72  ode Codes..</ver
10810 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  batim>..<u>Note<
10820 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74 65 73 70  /u>: all whitesp
10830 61 63 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79  aces immediately
10840 20 70 72 65 63 65 64 69 6e 67 20 6f 72 20 66 6f   preceding or fo
10850 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 62 3e 64  llowing the <b>d
10860 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 77 69 6c  elimiter</b> wil
10870 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20  l be considered 
10880 74 6f 20 62 65 20 69 6e 74 65 67 72 61 6c 20 70  to be integral p
10890 61 72 74 20 6f 66 20 74 68 65 20 76 61 6c 75 65  art of the value
108a0 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 54 68   itself.<br>..Th
108b0 69 73 20 77 69 6c 6c 20 68 61 76 65 20 6e 6f 20  is will have no 
108c0 61 64 76 65 72 73 65 20 63 6f 6e 73 65 71 75 65  adverse conseque
108d0 6e 63 65 73 20 69 6e 20 74 68 65 20 63 61 73 65  nces in the case
108e0 20 6f 66 20 69 6e 74 65 67 65 72 20 76 61 6c 75   of integer valu
108f0 65 73 2c 20 62 75 74 20 63 61 6e 20 65 61 73 69  es, but can easi
10900 6c 79 20 68 61 76 65 20 63 61 74 61 73 74 72 6f  ly have catastro
10910 70 68 69 63 20 65 66 66 65 63 74 73 20 6f 6e 20  phic effects on 
10920 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 76 61 6c  alphanumeric val
10930 75 65 73 2e 0d 0a 3c 68 33 3e 44 65 66 69 6e 69  ues...<h3>Defini
10940 6e 67 20 61 20 63 75 73 74 6f 6d 20 64 65 6c 69  ng a custom deli
10950 6d 69 74 65 72 3c 2f 68 33 3e 0d 0a 53 6f 6d 65  miter</h3>..Some
10960 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20 62  times it could b
10970 65 20 75 73 65 66 75 6c 20 73 65 74 74 69 6e 67  e useful setting
10980 20 75 70 20 61 20 64 65 6c 69 6d 69 74 65 72 20   up a delimiter 
10990 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 3c  different from <
109a0 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c 76  b>comma</b>...<v
109b0 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
109c0 20 62 79 66 6f 6f 74 20 53 45 54 20 44 65 6c 69   byfoot SET Deli
109d0 6d 69 74 65 72 20 3d 20 27 2a 27 3b 0d 0a 0d 0a  miter = '*';....
109e0 53 45 4c 45 43 54 20 44 65 6c 69 6d 69 74 65 72  SELECT Delimiter
109f0 20 46 52 4f 4d 20 62 79 66 6f 6f 74 3b 0d 0a 2d   FROM byfoot;..-
10a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
10a10 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 2c 20 68 65  -..* [dec=42, he
10a20 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 62 61 74 69  x=2a]..</verbati
10a30 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20  m> ..You simply 
10a40 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 20  have to execute 
10a50 61 6e 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e  an <b>UPDATE</b>
10a60 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 73 70   statement by sp
10a70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 65 77  ecifying the new
10a80 20 64 65 6c 69 6d 69 74 65 72 20 76 61 6c 75 65   delimiter value
10a90 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e  .<br><br>..</td>
10aa0 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  </tr></table>..<
10ab0 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
10ac0 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
10ad0 69 73 6f 63 68 72 6f 6e 65 22 3e 36 20 2d 20 53  isochrone">6 - S
10ae0 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72 6f 6e 65  olving Isochrone
10af0 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68   problems</a></h
10b00 31 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74  1>..<a href="htt
10b10 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
10b20 61 2e 6f 72 67 2f 77 69 6b 69 2f 49 73 6f 63 68  a.org/wiki/Isoch
10b30 72 6f 6e 65 5f 6d 61 70 22 3e 49 73 6f 63 68 72  rone_map">Isochr
10b40 6f 6e 65 73 3c 2f 61 3e 20 61 72 65 20 61 72 65  ones</a> are are
10b50 61 73 20 28 6f 72 20 63 75 72 76 65 73 29 20 63  as (or curves) c
10b60 6f 6e 6e 65 63 74 69 6e 67 20 70 6f 69 6e 74 73  onnecting points
10b70 20 61 74 20 77 68 69 63 68 20 73 6f 6d 65 74 68   at which someth
10b80 69 6e 67 20 6f 63 63 75 72 73 20 6f 72 20 61 72  ing occurs or ar
10b90 72 69 76 65 73 20 61 74 20 74 68 65 20 73 61 6d  rives at the sam
10ba0 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 49 73 6f  e time.<br>..Iso
10bb0 63 68 72 6f 6e 65 73 20 61 72 65 20 75 73 75 61  chrones are usua
10bc0 6c 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 4e  lly related to N
10bd0 65 74 77 6f 72 6b 20 41 6e 61 6c 79 73 69 73 20  etwork Analysis 
10be0 61 6e 64 20 52 6f 75 74 69 6e 67 20 62 65 63 61  and Routing beca
10bf0 75 73 65 20 74 68 65 79 20 61 6c 6c 6f 77 20 74  use they allow t
10c00 6f 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66  o easily identif
10c10 79 20 77 68 69 63 68 20 73 70 65 63 69 66 69 63  y which specific
10c20 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20   portion of the 
10c30 4e 65 74 77 6f 72 6b 20 63 61 6e 20 62 65 20 72  Network can be r
10c40 65 61 63 68 65 64 20 73 74 61 72 74 69 6e 67 20  eached starting 
10c50 62 79 20 73 6f 6d 65 20 3c 62 3e 6f 72 69 67 69  by some <b>origi
10c60 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73 70 65 6e 64  n Node</b> spend
10c70 69 6e 67 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e  ing no more than
10c80 20 61 20 67 69 76 65 6e 20 3c 62 3e 43 6f 73 74   a given <b>Cost
10c90 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41  </b>.<br><br>..A
10ca0 73 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61  s you have alrea
10cb0 64 79 20 73 65 65 6e 20 61 62 6f 75 74 20 3c 62  dy seen about <b
10cc0 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
10cd0 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20  on</b> queries, 
10ce0 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41  the Dijkstra's A
10cf0 6c 67 6f 72 69 74 68 6d 20 72 6f 62 75 73 74 6c  lgorithm robustl
10d00 79 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77  y ensures that w
10d10 68 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69 6f  hen a destinatio
10d20 6e 20 69 73 20 72 65 61 63 68 65 64 20 61 6c 6c  n is reached all
10d30 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e   the destination
10d40 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 3c  s presenting a <
10d50 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62  b>lesser cost</b
10d60 3e 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 62  > have already b
10d70 65 65 6e 20 72 65 61 63 68 65 64 20 69 6e 20 73  een reached in s
10d80 6f 6d 65 20 70 72 65 76 69 6f 75 73 20 73 74 65  ome previous ste
10d90 70 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73  p of the process
10da0 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f  .<br>..This allo
10db0 77 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c  ws to efficientl
10dc0 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 49 73 6f  y support <b>Iso
10dd0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69  chrone</b> queri
10de0 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20  es...You simply 
10df0 68 61 76 65 20 74 6f 20 73 70 65 63 69 66 79 20  have to specify 
10e00 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67  a <b>single orig
10e10 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20  in Node</b> and 
10e20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68  a <b>Cost thresh
10e30 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  old</b>.<br><br>
10e40 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65  ..<u>Note</u>: e
10e50 78 65 63 75 74 69 6e 67 20 61 6e 20 49 73 6f 63  xecuting an Isoc
10e60 68 72 6f 6e 65 20 71 75 65 72 79 20 72 65 71 75  hrone query requ
10e70 69 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73  ires a <b>proces
10e80 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68  sing time</b> th
10e90 61 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e  at isn't the <u>
10ea0 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76  sum of all indiv
10eb0 69 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f  idual timings fo
10ec0 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69  r each destinati
10ed0 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70  on</u>, but simp
10ee0 6c 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d  ly is the <u>tim
10ef0 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65  e required to re
10f00 61 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73  ach the most cos
10f10 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c  tly destination<
10f20 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  /u>.<br>..<verba
10f30 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67  tim>..SELECT Alg
10f40 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
10f50 20 52 6f 6c 65 2c 20 4e 6f 64 65 46 72 6f 6d 2c   Role, NodeFrom,
10f60 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
10f70 65 6f 6d 65 74 72 79 0d 0a 46 52 4f 4d 20 62 79  eometry..FROM by
10f80 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
10f90 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 4e  From = 181999 AN
10fa0 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e 30  D Cost <= 1000.0
10fb0 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
10fc0 41 6e 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c  An <b>Isochrone<
10fd0 2f 62 3e 20 71 75 65 72 79 20 61 73 20 73 75 70  /b> query as sup
10fe0 70 6f 72 74 65 64 20 62 79 20 3c 62 3e 56 69 72  ported by <b>Vir
10ff0 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
11000 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 74 6f  just requires to
11010 20 73 70 65 63 69 66 79 3a 0d 0a 3c 75 6c 3e 0d   specify:..<ul>.
11020 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d  .<li><b>NodeFrom
11030 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 3c 69 3e  </b>: the <b><i>
11040 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72 20 3c 62  ID</i></b> or <b
11050 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c 2f 62 3e  ><i>Code</i></b>
11060 20 75 6e 69 71 75 65 6c 79 20 69 64 65 6e 74 69   uniquely identi
11070 66 79 69 6e 67 20 74 68 65 20 3c 62 3e 6f 72 69  fying the <b>ori
11080 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f 6c  gin Node</b>.</l
11090 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f 73 74 3c  i>..<li><b>Cost<
110a0 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75 6d  /b>: the maximum
110b0 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f   <b>Cost thresho
110c0 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f 20 62 65  ld</b> not to be
110d0 20 65 78 63 65 65 64 65 64 2e 3c 62 72 3e 0d 0a   exceeded.<br>..
110e0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6e 79  <u>Note</u>: any
110f0 20 76 61 6c 69 64 20 49 73 6f 63 68 72 6f 6e 65   valid Isochrone
11100 20 71 75 65 72 79 20 3c 62 3e 6d 75 73 74 3c 2f   query <b>must</
11110 62 3e 20 6e 65 63 65 73 73 61 72 69 6c 79 20 73  b> necessarily s
11120 70 65 63 69 66 79 20 61 20 3c 62 3e 3c 3d 3c 2f  pecify a <b><=</
11130 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73 73 65 72  b> (<u><i>lesser
11140 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74   than or equal t
11150 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f 6d 70 61  o</i></u>) compa
11160 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 2e 3c  rison operator.<
11170 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
11180 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
11190 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
111a0 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
111b0 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
111c0 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79   Isochrone query
111d0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
111e0 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
111f0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
11200 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
11210 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
11220 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
11230 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
11240 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
11250 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
11260 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68  >Request</th><th
11270 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
11280 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
11290 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
112a0 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
112b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
112c0 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
112d0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
112e0 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
112f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
11300 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
11310 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
11320 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72  tr>..<td>Dijkstr
11330 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f 63 68 72  a</td><td>Isochr
11340 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75  one</td><td>Solu
11350 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  tion</td><td ali
11360 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
11370 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
11380 22 72 69 67 68 74 22 3e 31 37 38 37 31 37 3c 2f  "right">178717</
11390 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
113a0 67 68 74 22 3e 35 37 32 2e 34 35 35 31 34 33 3c  ght">572.455143<
113b0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
113c0 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  60 GEOMETRY</td>
113d0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
113e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
113f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c  NULL</td><td>Sol
11400 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67 6e 3d 22  ution<td align="
11410 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
11420 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
11430 68 74 22 3e 31 37 38 37 31 38 3c 2f 74 64 3e 3c  ht">178718</td><
11440 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
11450 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f 74 64 3e  >587.303779</td>
11460 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47  <td>BLOB sz=60 G
11470 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f  EOMETRY</td>..</
11480 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
11490 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f  lign="center" co
114a0 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e 2e  lspan="7">......
114b0 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c 2f  .......</td>..</
114c0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
114d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
114e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
114f0 72 69 67 68 74 22 3e 53 6f 6c 75 74 69 6f 6e 3c  right">Solution<
11500 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
11510 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
11520 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
11530 74 22 3e 31 38 34 30 33 35 3c 2f 74 64 3e 3c 74  t">184035</td><t
11540 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
11550 35 37 39 2e 37 38 36 37 32 34 3c 2f 74 64 3e 3c  579.786724</td><
11560 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45  td>BLOB sz=60 GE
11570 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74  OMETRY</td>..</t
11580 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
11590 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
115a0 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e  /td><td>Solution
115b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
115c0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
115d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
115e0 68 74 22 3e 31 38 34 30 33 36 3c 2f 74 64 3e 3c  ht">184036</td><
115f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
11600 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f 74 64 3e  >642.691597</td>
11610 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47  <td>BLOB sz=60 G
11620 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f  EOMETRY</td>..</
11630 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
11640 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b  br>..Let's quick
11650 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
11660 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
11670 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c  d by the above <
11680 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20  b>isochrone</b> 
11690 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  query...<ul>..<l
116a0 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72  i>the <b>first r
116b0 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65  ow</b> of the re
116c0 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77  sultset is somew
116d0 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20  ay exceptional, 
116e0 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75  and is the uniqu
116f0 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73  e row of the res
11700 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e  ultset presentin
11710 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  g <b>NOT NULL</b
11720 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20  > values in the 
11730 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
11740 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  , <b>Request</b>
11750 2c 20 3c 2f 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  , </b>Options</b
11760 3e 20 28 61 6e 64 20 3c 2f 62 3e 44 65 6c 69 6d  > (and </b>Delim
11770 69 74 65 72 3c 2f 62 3e 29 20 63 6f 6c 75 6d 6e  iter</b>) column
11780 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c  s.</li>..<li>all
11790 20 72 6f 77 73 20 28 69 6e 63 6c 75 64 69 6e 67   rows (including
117a0 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 29 20   the first one) 
117b0 68 61 76 65 20 3c 62 3e 52 6f 6c 65 20 3d 20 53  have <b>Role = S
117c0 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 61 6e 64  olution</b>, and
117d0 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 69 6e   represent a sin
117e0 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62  gle connection b
117f0 65 74 77 65 65 6e 20 3c 62 3e 4e 6f 64 65 46 72  etween <b>NodeFr
11800 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f  om</b> and <b>No
11810 64 65 54 6f 3c 2f 62 3e 2c 20 77 69 74 68 20 74  deTo</b>, with t
11820 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
11830 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c   <b>Cost</b>.</l
11840 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 47  i>..<li>the <b>G
11850 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c 75  eometry</b> colu
11860 6d 6e 20 61 6c 77 61 79 73 20 63 6f 72 72 65 73  mn always corres
11870 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e  ponds to the <b>
11880 32 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 77 68 65  2D Point</b> whe
11890 72 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  re <b>NodeTo</b>
118a0 20 69 73 20 6c 6f 63 61 74 65 64 2e 3c 2f 6c 69   is located.</li
118b0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a  >..</ul>..<br>..
118c0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e  <u>Note</u>: <b>
118d0 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75  isochrone</b> qu
118e0 65 72 69 65 73 20 61 72 65 20 6e 6f 74 20 61 66  eries are not af
118f0 66 65 63 74 65 64 20 62 79 20 63 6f 6e 66 69 67  fected by config
11900 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 2e 0d  urable options..
11910 0a 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62  .<b>Algorithm</b
11920 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 73  > will be always
11930 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c   assumed to be <
11940 62 3e 44 69 6a 73 6b 74 72 61 3c 2f 62 3e 2c 20  b>Dijsktra</b>, 
11950 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20  and the current 
11960 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 73  <b>Options</b> s
11970 65 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 65 20  ettings will be 
11980 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 0d  simply ignored..
11990 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
119a0 45 43 54 20 53 54 5f 43 6f 6e 63 61 76 65 48 75  ECT ST_ConcaveHu
119b0 6c 6c 28 53 54 5f 43 6f 6c 6c 65 63 74 28 47 65  ll(ST_Collect(Ge
119c0 6f 6d 65 74 72 79 29 29 0d 0a 46 52 4f 4d 20 62  ometry))..FROM b
119d0 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
119e0 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41  eFrom = 181999 A
119f0 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e  ND Cost <= 1000.
11a00 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  0;..</verbatim>.
11a10 0a 41 6e 79 20 69 73 6f 63 68 72 6f 6e 65 20 71  .Any isochrone q
11a20 75 65 72 79 20 77 69 6c 6c 20 6a 75 73 74 20 72  uery will just r
11a30 65 74 75 72 6e 20 61 20 50 6f 69 6e 74 2d 73 65  eturn a Point-se
11a40 74 3b 20 69 66 20 79 6f 75 20 65 76 65 6e 74 75  t; if you eventu
11a50 61 6c 6c 79 20 77 69 73 68 20 74 6f 20 6f 62 74  ally wish to obt
11a60 61 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f  ain the correspo
11a70 6e 64 69 6e 67 20 61 72 65 61 6c 20 72 65 70 72  nding areal repr
11a80 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f 75 20 6a  esentation you j
11a90 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c 6c  ust have to call
11aa0 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63 74 28 29   <b>ST_Collect()
11ab0 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f  </b> in order to
11ac0 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69 74 68 69   get a monolithi
11ad0 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c 20 74 68  c MultiPoint, th
11ae0 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54  en calling <b>ST
11af0 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 29 3c 2f  _ConcaveHull()</
11b00 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 67  b> in order to g
11b10 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e 0d 0a 3c  et a Polygon...<
11b20 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  br><br><br>..The
11b30 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68   map below graph
11b40 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65  ically shows the
11b50 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 69 73 6f   previous <b>iso
11b60 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79  chrone</b> query
11b70 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d  ...<br><br>..<im
11b80 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
11b90 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
11ba0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67  aia-sins/routing
11bb0 2d 66 69 67 73 2f 69 73 6f 63 68 72 6f 6e 65 2e  -figs/isochrone.
11bc0 6a 70 67 22 20 61 6c 74 3d 22 69 73 6f 63 68 72  jpg" alt="isochr
11bd0 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  one">..<ul>..<li
11be0 3e 59 65 6c 6c 6f 77 20 73 74 61 72 3a 20 74 68  >Yellow star: th
11bf0 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f  e Origin Node.</
11c00 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65 20 64 6f  li>..<li>Blue do
11c10 74 73 3a 20 61 6c 6c 20 44 65 73 74 69 6e 61 74  ts: all Destinat
11c20 69 6f 6e 20 4e 6f 64 65 73 20 77 69 74 68 69 6e  ion Nodes within
11c30 20 74 68 65 20 67 69 76 65 6e 20 43 6f 73 74 2e   the given Cost.
11c40 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 69 74 65  </li>..<li>White
11c50 20 6c 69 6e 65 3a 20 74 68 65 20 62 6f 75 6e 64   line: the bound
11c60 61 72 79 20 6f 66 20 74 68 65 20 49 73 6f 63 68  ary of the Isoch
11c70 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c 62 72 3e  rone. ..<br><br>
11c80 0d 0a 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68  ....<hr><br>..<h
11c90 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e  1><a name="tsp">
11ca0 36 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 20  6 - Solving TSP 
11cb0 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73  (traveling sales
11cc0 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61  man) problems</a
11cd0 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f  ></h1>..<b>TSP</
11ce0 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74  b> (<a href="htt
11cf0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
11d00 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 65  a.org/wiki/Trave
11d10 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70  lling_salesman_p
11d20 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e  roblem">Travelin
11d30 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c  g Salesman Probl
11d40 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 6c  em</a>) is a wel
11d50 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f  l known Operatio
11d60 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f 62  ns Research prob
11d70 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  lem...<br><br>..
11d80 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
11d90 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
11da0 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
11db0 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
11dc0 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 76  d>..<h3>The Trav
11dd0 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50  eling Salesman P
11de0 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e  roblem</h3>..<b>
11df0 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 20  <i>Given a list 
11e00 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 68  of cities and th
11e10 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77  e distances betw
11e20 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f 66  een each pair of
11e30 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 73   cities, what is
11e40 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 6f   the shortest po
11e50 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 61  ssible route tha
11e60 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63 69  t visits each ci
11e70 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74  ty and returns t
11e80 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 74  o the origin cit
11e90 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72  y ?</i></b>..<br
11ea0 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  ><br>..</td></tr
11eb0 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  ></table>..<br>.
11ec0 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68  .<u>Note:</u> th
11ed0 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61  e terms <i><u>sa
11ee0 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61  lesman</u></i> a
11ef0 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75  nd <i><u>city</u
11f00 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 72  ></i> are univer
11f10 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 68  sally used for h
11f20 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e  istorical reason
11f30 73 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75 6c  s, but you shoul
11f40 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65 72  d avoid to liter
11f50 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74 68  ally intend both
11f60 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65 20   them.<br>..The 
11f70 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73  term <u><i>sales
11f80 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74  man</i></u> in t
11f90 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f 6e  his specific con
11fa0 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e 79  text intends any
11fb0 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f   possible kind o
11fc0 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61  f <u><i>moving a
11fd0 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65  gent</i></u> (pe
11fe0 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 6c  destrian, vehicl
11ff0 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 20  e, passenger or 
12000 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c 20  whatever else), 
12010 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75  exactly as <i><u
12020 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69  >city</u></i> si
12030 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 20  mply stands for 
12040 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69  any <i><u>generi
12050 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75  c destination</u
12060 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e  ></i> on a given
12070 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c   Network...<br><
12080 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63  br>..We can conc
12090 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 50  eptualy split TP
120a0 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a  S in two halves:
120b0 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70  ..<ol>..<li>comp
120c0 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e  uting all distan
120d0 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 72  ces between pair
120e0 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f  s of <i>cities</
120f0 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 79  i>. This is a ty
12100 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73  pical <b>Shortes
12110 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65  tPath</b> proble
12120 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 75  m, and we can du
12130 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b 73  ly use the Dijks
12140 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20  tra's algorithm 
12150 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a  for this.</li>..
12160 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 65  <li>then we have
12170 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70 6f   to check all po
12180 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74  ssible <b>permut
12190 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e  ations</b> / <b>
121a0 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e  combinations</b>
121b0 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79 20   so to identify 
121c0 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50 20  the optimal TSP 
121d0 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  solution.</li>..
121e0 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c 79  </ol>..Unhappily
121f0 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61 63   there is a prac
12200 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74 79  tical difficulty
12210 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61 69   in such a strai
12220 67 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74 68  ght approach; th
12230 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 62  e number of comb
12240 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67 72  inations will gr
12250 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61 73  ow extremely fas
12260 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20  t as the number 
12270 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73 3c  of <b><i>cities<
12280 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73 65  /i></b> increase
12290 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 63  s.<br>..Simply c
122a0 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f 6d  omputing the com
122b0 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74 69  plete TSP soluti
122c0 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65 6e  on for about ten
122d0 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71   cities will req
122e0 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20 6c  uire a <b>very l
122f0 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76 65  ong time</b> eve
12300 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65 72 63  n using a superc
12310 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e  omputer.<br>..An
12320 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  d attempting to 
12330 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73 6f  compute a TSP so
12340 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74  lution for about
12350 20 68 75 6e 64 72 65 64 20 63 69 74 69 65 73 20   hundred cities 
12360 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c  will require a <
12370 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69 6e  b>practically in
12380 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65 2e  finite</b> time.
12390 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65  ..<br><br>..Howe
123a0 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50 20  ver solving TSP 
123b0 69 73 20 68 69 67 68 6c 79 20 64 65 73 69 72 61  is highly desira
123c0 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70 6c  ble in many appl
123d0 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20  ication fields: 
123e0 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e  <b>logistics</b>
123f0 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f   (just think abo
12400 75 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61  ut courier compa
12410 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64  nies as DHL, Fed
12420 45 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c  EX, UPS or TNT),
12430 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65   <b>field mainte
12440 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61  nance</b> / <b>a
12450 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c  ssistance</b>, <
12460 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69  b>waste collecti
12470 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f  on</b>, <b>schoo
12480 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68  lbus</b> / <b>sh
12490 61 72 65 64 20 74 61 78 69 20 73 65 72 76 69 63  ared taxi servic
124a0 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d  es</b> etc.<br>.
124b0 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73  .Many algorithms
124c0 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e   have been inven
124d0 74 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20  ted during last 
124e0 64 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64  decades intended
124f0 20 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63   to produce prac
12500 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20 61  tical although a
12510 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70  pproximate / imp
12520 65 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75 74  erfect TSP solut
12530 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f 6e  ions in a reason
12540 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 2e  ably short time.
12550 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 73  ..Many of them s
12560 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 6f  trongly depend o
12570 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  n <a href="https
12580 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
12590 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 74  org/wiki/Heurist
125a0 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f 61  ic">heuristic</a
125b0 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 72  > and / or <a hr
125c0 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
125d0 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
125e0 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 61  i/Randomness">ra
125f0 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c  ndomness</a>...<
12600 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 74  br><br>..<b>Virt
12610 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 73  ualRouting</b> s
12620 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66 66  upports two diff
12630 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 69  erent TSP algori
12640 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  thms:..<ul>..<li
12650 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 28  ><b>TSP NN</b> (
12660 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69  <i>aka</i> <b><i
12670 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62 6f  >Nearest Neighbo
12680 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d  ur</i></b>)<br>.
12690 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68  .This <a href="h
126a0 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65  ttps://en.wikipe
126b0 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 61  dia.org/wiki/Nea
126c0 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f 61  rest_neighbour_a
126d0 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 20  lgorithm">first 
126e0 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73  algorithm</a> is
126f0 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64   straightforward
12700 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72 79   simple and very
12710 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65 66   fast; it can ef
12720 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65 20  fectively solve 
12730 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69 6f  huge TSP solutio
12740 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69 3e  ns (thousand <i>
12750 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76  cities</i> or ev
12760 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 65  en more) in a ve
12770 72 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62  ry short time.<b
12780 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73  r>..<u>Short des
12790 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c  cription</u>:..<
127a0 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e  ul>..<li>startin
127b0 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69  g from the <u><i
127c0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f  >base city</i></
127d0 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c  u> the <u><i>sal
127e0 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f  esman</i></u> go
127f0 65 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e  es to the <u><i>
12800 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65  city</i></u> pre
12810 73 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c  senting the <i><
12820 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74  u>lesser connect
12830 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e  ion cost</u></i>
12840 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
12850 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20  already visited 
12860 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f  <i><u>city</u></
12870 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64 20  i> is cancelled 
12880 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20 61  from the list, a
12890 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c  nd then the <u><
128a0 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f  i>salesman</i></
128b0 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 6e  u> goes to the n
128c0 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f  ext <u><i>city</
128d0 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e  i></u> presentin
128e0 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 73  g the <i><u>less
128f0 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f  er connection co
12900 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e  st</u></i>.</li>
12910 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 20  ..<li>the cycle 
12920 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c 20  continues until 
12930 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65  all  <i><u>citie
12940 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65  s</u></i> in the
12950 20 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e 20   list have been 
12960 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c  visited.</li>..<
12970 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20  li>finally, the 
12980 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f  <u><i>salesman</
12990 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 74  i></u> returns t
129a0 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 61  o his/her initia
129b0 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74  l <u><i>base cit
129c0 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a  y</i></u></li>..
129d0 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  </ul>..<u>Note</
129e0 75 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e 6c  u> it's very unl
129f0 69 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e 20  ike that TSP NN 
12a00 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20 3c  could find the <
12a10 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f  b>optimal</b> so
12a20 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 63  lution, but it c
12a30 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 20  an quickly find 
12a40 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20  some reasonable 
12a50 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f  <b>approximate</
12a60 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e  b> solution (<i>
12a70 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 65  few is surely be
12a80 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e  tter than nothin
12a90 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20  g</i>).<br>..In 
12aa0 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79  the most unlucky
12ab0 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f 75   case TSP NN cou
12ac0 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75  ld possibly retu
12ad0 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20  rn the <b>worst 
12ae0 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75  solution</b>, bu
12af0 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20 69  t the specific i
12b00 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64  mplementation ad
12b10 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61 6c  opted by Virtual
12b20 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20 61  Routing checks a
12b30 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73 73  gainst this poss
12b40 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a  ibility:..<ul>..
12b50 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e 20  <li>each TSP NN 
12b60 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75 74  is always comput
12b70 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e 64  ed twice by rand
12b80 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61 20  omly choosing a 
12b90 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e  different <u><i>
12ba0 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75  base city</i></u
12bb0 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61  > and then norma
12bc0 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75 74  lizing the solut
12bd0 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f 66  ion; the best of
12be0 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f   the two solutio
12bf0 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75 72  ns is then retur
12c00 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ned.</li>..<li>t
12c10 68 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20 65  his simple but e
12c20 66 66 65 63 74 69 76 65 20 70 72 65 63 61 75 74  ffective precaut
12c30 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e 73  ion robustly ens
12c40 75 72 65 73 20 74 68 61 74 20 74 68 65 20 3c 62  ures that the <b
12c50 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c  >worst solution<
12c60 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62  /b> will never b
12c70 65 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64 20  e returned, and 
12c80 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20 6d  just implies a m
12c90 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 61  oderately increa
12ca0 73 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 69  sed execution ti
12cb0 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  me.</li>..</ul><
12cc0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50  /li>..<li><b>TSP
12cd0 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c   GA</b> (<i>aka<
12ce0 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69  /i> <b><i>Geneti
12cf0 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c  c Algorithm</i><
12d00 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  /b>).<br>..This 
12d10 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
12d20 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
12d30 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61  g/wiki/Genetic_a
12d40 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e  lgorithm">altern
12d50 61 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c  ative algorithm<
12d60 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 65  /a> is much more
12d70 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70   complex and sop
12d80 68 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 20  histicated, and 
12d90 69 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 70  is directly insp
12da0 69 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 63  ired by biologic
12db0 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 68  al concepts such
12dc0 20 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 65   as <b>sexual re
12dd0 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20  production</b>, 
12de0 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 74  <b>genetic mutat
12df0 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ions</b> and <b>
12e00 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 6f  natural selectio
12e10 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53  n</b>.<br>..<u>S
12e20 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e  hort description
12e30 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  </u>:..<ul>..<li
12e40 3e 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 6c  >a first initial
12e50 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e   set of solution
12e60 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70  s (<i><u>the pop
12e70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29  ulation</u></i>)
12e80 20 69 73 20 63 72 65 61 74 65 64 20 62 79 20 75   is created by u
12e90 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 65  sing TSP NN afte
12ea0 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73  r randomly choos
12eb0 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61  ing the <u><i>ba
12ec0 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20  se city</i></u> 
12ed0 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69  and then normali
12ee0 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 69  zing each soluti
12ef0 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  on.</li>..<li>th
12f00 65 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 73  en during each s
12f10 74 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 75  tep of the execu
12f20 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75  tion loop (<i><u
12f30 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c  >generation</u><
12f40 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 6f  /i>) pairs of so
12f50 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65  lutions <i><u>se
12f60 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 65  xually reproduce
12f70 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67  s</i></u> giving
12f80 20 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e   birth to <u><i>
12f90 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f  children solutio
12fa0 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72  ns</i></u>; repr
12fb0 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62 6a  oduction is subj
12fc0 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72  ect to <u><i>chr
12fd0 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65  omosome crossove
12fe0 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c  rs</i></u> and <
12ff0 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61  i><u>random muta
13000 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c  tion</u></i>.</l
13010 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68  i>..<li>for each
13020 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f   <i><u>generatio
13030 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c 69  n</u></i> the <i
13040 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65  ><u>natural sele
13050 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 6c  ction</u></i> el
13060 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f 6f  iminates all poo
13070 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64 75  rly fit individu
13080 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e  als from the <u>
13090 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 69  <i>population</i
130a0 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65 71  ></u> and conseq
130b0 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65 20  uently only the 
130c0 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69 64  best fit individ
130d0 75 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65 72  uals can further
130e0 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 69 72   propagate their
130f0 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f 69   <u><i>genome</i
13100 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65 78  ></u> to the nex
13110 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74 69  t <u><i>generati
13120 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 3e  on</i></u>.</li>
13130 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63 65  ..<li>after a ce
13140 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20  rtain number of 
13150 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e  <i><u>generation
13160 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 73  s</i></u> (let's
13170 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65 20   say about some 
13180 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61 74  hundredth iterat
13190 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70 74  ions) the <b>opt
131a0 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62  imal solution</b
131b0 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20 61  > (or at least a
131c0 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64 20   <b>fairly good 
131d0 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c 75  sub-optimal solu
131e0 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c 64  tion</b>) should
131f0 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65 2c   finally emerge,
13200 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f 70   and so the loop
13210 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e 0d   can exit.</li>.
13220 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
13230 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 53  ><u>Note</u>: TS
13240 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79 20  P GA is usually 
13250 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65 6e  expected to iden
13260 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c 75  tify better solu
13270 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20 4e  tions than TSP N
13280 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69 74  N can do, but it
13290 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65 71   will surely req
132a0 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20 74  uire much more t
132b0 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2e  ime to complete.
132c0 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  </li> ..</ul>..<
132d0 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e  br><br>..Let's n
132e0 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61  ow examine a pra
132f0 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f  ctical example o
13300 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75 73  f TSP solving us
13310 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ing VirtualRouti
13320 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ng. ..<verbatim>
13330 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
13340 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54  SET Request = 'T
13350 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41  SP';....SELECT A
13360 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
13370 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
13380 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
13390 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
133a0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
133b0 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
133c0 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
133d0 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
133e0 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
133f0 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
13400 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31  To = '183286,181
13410 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38  999,184030,18388
13420 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65  2,178754';..</ve
13430 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74 75  rbatim>..A Virtu
13440 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53 50  alRouting <b>TSP
13450 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74  </b> query has t
13460 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61  he same identica
13470 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e 6d  l form of a <b>m
13480 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
13490 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65 20  </b> query; the 
134a0 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79 3c  <i><u>base city<
134b0 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79 73  u></i> is always
134c0 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 72   expected to cor
134d0 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e 6f  respond to <b>No
134e0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 61  deFrom</b> and a
134f0 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e 63  ll other <i><u>c
13500 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 6f  ities</u></i> to
13510 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65 20   be visited are 
13520 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 65  expected to be e
13530 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20 61  numerated into a
13540 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
13550 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 61  ation</b> list a
13560 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e 6f  ssigned to <b>No
13570 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e 6f  deTo</b>...<u>No
13580 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 74  te</u>: you must
13590 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20   explicitly set 
135a0 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 52  the current <b>R
135b0 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62  equest</b> as <b
135c0 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 50  >TSP</b>, <b>TSP
135d0 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53   NN</b> or <b>TS
135e0 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61 6e  P GA</b> (TSP an
135f0 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79 6e  d TSP NN are syn
13600 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 72  onyms)...<br><br
13610 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
13620 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
13630 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
13640 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
13650 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
13660 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13670 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68  0">Algorithm</th
13680 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13690 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f  0d0a0">Request</
136a0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
136b0 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
136c0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
136d0 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d  ="#d0d0a0">Delim
136e0 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63  iter</th><th bgc
136f0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
13700 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62  outeId</th><th b
13710 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
13720 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
13730 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13740 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
13750 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13760 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
13770 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13780 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
13790 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
137a0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
137b0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
137c0 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
137d0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
137e0 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
137f0 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
13800 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
13810 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
13820 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
13830 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f  /td><td>TSP NN</
13840 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e  td><td>Full</td>
13850 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34  <td>, &#91;dec=4
13860 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f  4, hex=2c&#93;</
13870 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13880 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
13890 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
138a0 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74  td><td>TSP Solut
138b0 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ion</td><td>NULL
138c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
138d0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
138e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
138f0 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
13900 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13910 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74 64  >1254.433933</td
13920 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30  ><td>BLOB sz=200
13930 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
13940 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
13950 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
13960 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13970 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13980 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c  d><td>NULL<td al
13990 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
139a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
139b0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
139c0 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
139d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
139e0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
139f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13a00 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
13a10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13a20 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e  >176.364755</td>
13a30 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20  <td>BLOB sz=304 
13a40 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
13a50 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
13a60 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
13a70 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13a80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13a90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
13aa0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
13ab0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13ac0 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
13ad0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
13ae0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
13af0 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
13b00 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
13b10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13b20 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
13b30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13b40 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64  t">94.812424</td
13b50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13b60 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
13b70 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
13b80 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ..<tr>..<tr>..<t
13b90 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13ba0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13bb0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13bc0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13bd0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
13be0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
13bf0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
13c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13c10 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20  >224862</td><td 
13c20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
13c30 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
13c40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34  gn="right">18204
13c50 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
13c60 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32 38  "right">37.09528
13c70 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
13c80 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
13c90 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
13ca0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
13cb0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13cc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13cd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13ce0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13cf0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
13d00 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
13d10 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
13d20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36  lign="right">226
13d30 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  070</td><td alig
13d40 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 33  n="right">182043
13d50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13d60 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
13d70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13d80 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74  ht">44.457044</t
13d90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13da0 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27 41  td>PIAZZA SANT'A
13db0 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  GOSTINO</td>..</
13dc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
13dd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13de0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13df0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13e00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13e10 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
13e20 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
13e30 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
13e40 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
13e50 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
13e60 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
13e70 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
13e80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13e90 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38  ight">139.114938
13ea0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
13eb0 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =496 GEOMETRY</t
13ec0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
13ed0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
13ee0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13ef0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13f00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13f10 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13f20 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
13f30 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
13f40 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
13f50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13f60 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64 20  >226071</td><td 
13f70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
13f80 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4030</td><td ali
13f90 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32  gn="right">18262
13fa0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
13fb0 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30 30  "right">55.68900
13fc0 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
13fd0 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53 45  td><td>VIA GIUSE
13fe0 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f 74  PPE GARIBALDI</t
13ff0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14000 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14010 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14020 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14030 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14040 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
14050 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14060 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14070 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14080 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c  ht">225512</td><
14090 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
140a0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
140b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
140c0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
140d0 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38  gn="right">34.18
140e0 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4194</td><td>NUL
140f0 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
14100 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
14110 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14120 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14130 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14140 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14150 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14160 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
14170 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
14180 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
14190 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
141a0 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  511</td><td alig
141b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33  n="right">182933
141c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
141d0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
141e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
141f0 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74  ht">49.241735</t
14200 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14210 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
14220 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14230 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14240 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14250 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14260 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14270 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
14280 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14290 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
142a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
142b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
142c0 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
142d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
142e0 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
142f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
14300 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 64  7.672885</td><td
14310 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 4f  >BLOB sz=688 GEO
14320 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
14330 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
14340 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
14350 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14360 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14370 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
14380 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
14390 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
143a0 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
143b0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
143c0 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c  ="right">222635<
143d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
143e0 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
143f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14400 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74  t">181998</td><t
14410 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14420 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c  101.629750</td><
14430 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14440 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
14450 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14460 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14470 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14490 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
144a0 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
144b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
144c0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
144d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
144e0 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74  t">224780</td><t
144f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14500 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61  181998</td><td a
14510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
14520 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  560</td><td alig
14530 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33  n="right">73.733
14540 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  572</td><td>NULL
14550 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c  </td><td>VIA DEL
14560 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64  L'ANFITEATRO</td
14570 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14580 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14590 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
145a0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
145b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
145c0 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
145d0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
145e0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
145f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
14600 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5827</td><td ali
14610 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36  gn="right">18356
14620 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
14630 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
14640 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14650 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f  ght">42.309564</
14660 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14670 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46  <td>VIA DELL'ANF
14680 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ITEATRO</td>..</
14690 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
146a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
146b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
146c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
146d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
146e0 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
146f0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
14700 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
14710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
14720 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
14730 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
14740 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
14750 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14760 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 34  ight">378.313684
14770 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
14780 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
14790 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
147a0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
147b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
147c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
147d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
147e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
147f0 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">5</td><td al
14800 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
14810 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
14820 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14830 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20  >224414</td><td 
14840 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14850 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
14860 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
14870 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
14880 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
14890 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
148a0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
148b0 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
148c0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
148d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
148e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
148f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14900 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14910 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >5</td><td align
14920 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
14930 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
14950 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
14960 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
14970 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
14980 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
14990 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
149a0 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f  ght">93.285538</
149b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
149c0 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
149d0 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
149e0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
149f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14a00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14a10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14a20 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14a30 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">5</td><td alig
14a40 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14a50 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
14a60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14a70 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  19058</td><td al
14a80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
14a90 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
14aa0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
14ab0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14ac0 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39  ight">148.656089
14ad0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14ae0 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
14af0 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
14b00 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
14b10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14b20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14b30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14b40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14b50 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">5</td><td al
14b60 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
14b70 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
14b80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14b90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14ba0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
14bb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
14bc0 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
14bd0 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 36  ="right">188.216
14be0 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  831</td><td>BLOB
14bf0 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 59   sz=400 GEOMETRY
14c00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14c10 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14c20 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14c30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14c40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14c50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14c60 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
14c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14c80 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14c90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14ca0 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c  ht">224538</td><
14cb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14cc0 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
14cd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14ce0 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1972</td><td ali
14cf0 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39 30  gn="right">50.90
14d00 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0663</td><td>NUL
14d10 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e  L</td><td>VIA AN
14d20 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49  TONIO GUADAGNOLI
14d30 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14d40 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14d50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14d60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14d70 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c  ULL</td>..<td al
14d80 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
14d90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14da0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
14db0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
14dc0 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37 3c  ="right">224537<
14dd0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14de0 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64  ight">181972</td
14df0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14e00 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74  t">182000</td><t
14e10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14e20 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c 74  86.301051</td><t
14e30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
14e40 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f 74  IA DEL NINFEO</t
14e50 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14e60 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14e70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14e80 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14e90 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14ea0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
14eb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14ec0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14ed0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14ee0 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c  ht">225527</td><
14ef0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14f00 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20  >182000</td><td 
14f10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14f20 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
14f30 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31  gn="right">51.01
14f40 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5117</td><td>NUL
14f50 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49  L</td><td>VIA LI
14f60 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64  CIO NENCETTI</td
14f70 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14f80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14f90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14fa0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14fb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14fc0 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20  ight">6</td><td 
14fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14fe0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14ff0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c  d><td>NULL<td al
15000 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
15010 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
15020 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
15030 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15040 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 39  ight">154.750839
15050 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
15060 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =240 GEOMETRY</t
15070 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
15080 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
15090 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
150a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
150b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
150c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
150d0 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">7</td><td al
150e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
150f0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
15100 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15110 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20  >225527</td><td 
15120 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
15130 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
15140 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
15150 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
15160 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 31  "right">51.01511
15170 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
15180 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f  td><td>VIA LICIO
15190 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a   NENCETTI</td>..
151a0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
151b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
151c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
151d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
151e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
151f0 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">7</td><td ali
15200 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
15210 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
15220 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15230 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61  222636</td><td a
15240 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
15250 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  000</td><td alig
15260 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
15270 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15280 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37 32  right">103.73572
15290 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
152a0 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
152b0 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
152c0 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
152d0 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77  .<br>..Let's now
152e0 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65   quickly examine
152f0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
15300 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20 54  eturned by any T
15310 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d  SP query:..<ul>.
15320 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c  .<li>the general
15330 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65 20   layout is more 
15340 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d 65  or less the same
15350 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61   as you've alrea
15360 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63  dy seen in the c
15370 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74 65  ase of <b>Shorte
15380 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69  stPath</b> queri
15390 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  es.</li>..<li>th
153a0 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f  e <b>first row</
153b0 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  b> of the result
153c0 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65  set is someway e
153d0 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20  xceptional, and 
153e0 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 6f  is the unique ro
153f0 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73  w of the results
15400 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62  et presenting <b
15410 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61  >NOT NULL</b> va
15420 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41  lues in the <b>A
15430 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62  lgorithm</b>, <b
15440 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62  >Request</b>, <b
15450 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64  >Options</b> and
15460 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62   <b>Delimiter</b
15470 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d 0a  > columns.<br>..
15480 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20  It contains the 
15490 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e 3c  <b>TSP solution<
154a0 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a 20  /b> as a whole: 
154b0 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f  column <b>Cost</
154c0 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f 74  b> is the <u>tot
154d0 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 20  al cost</u> and 
154e0 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74  column <b>Geomet
154f0 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75  ry</b> is the <u
15500 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69 6f  >overall solutio
15510 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 3e  n path</u>.</li>
15520 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62  ..<li>columns <b
15530 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64  >RouteId</b> and
15540 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e   <b>RouteRow</b>
15550 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69   have the same i
15560 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73  nterpretation as
15570 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73   in <b>multi-des
15580 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
15590 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65  tPath</b> querie
155a0 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 73  s, but in this s
155b0 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61 63  pecific case eac
155c0 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f 69  h <u><i>route</i
155d0 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64  ></u> correspond
155e0 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69 6f  s to a connectio
155f0 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c 69  n between two <i
15600 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f  ><u>cities</u></
15610 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 3e  i>.<br>..All <i>
15620 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f 69  <u>routes</u></i
15630 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63 6f  > are order acco
15640 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 72  rdingly to the r
15650 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65 20  unning sequence 
15660 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75 74  of the TSP solut
15670 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64 3d  ion. <b>RouteId=
15680 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 73  0</b> identifies
15690 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53 50   the overall TSP
156a0 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   solution.</li>.
156b0 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  .</ul><br><br>..
156c0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
156d0 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65  TE byfoot SET Re
156e0 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41 27  quest = 'TSP GA'
156f0 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  ;....SELECT Algo
15700 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20  rithm, Request, 
15710 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74  Options, Delimit
15720 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75  er, RouteId, Rou
15730 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
15740 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
15750 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
15760 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
15770 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
15780 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
15790 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
157a0 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39  = '183286,181999
157b0 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31  ,184030,183882,1
157c0 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61  78754';..</verba
157d0 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73  tim>..If you wis
157e0 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 53  h to get a <b>TS
157f0 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f  P GA</b> solutio
15800 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 76  n you simple hav
15810 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 75  e to set <b>Requ
15820 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53  est</b> as <b>TS
15830 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 6f  P GA</b>; and yo
15840 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e 20  u can set again 
15850 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61  <b>Request</b> a
15860 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 20  s <b>TSP</b> or 
15870 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 6f  <b>TSP NN</b> to
15880 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20   revert back to 
15890 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 61  the simpler / fa
158a0 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e 0d  ster algorithm..
158b0 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 74  .<br>..Also in t
158c0 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20 79  he case of TSP y
158d0 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c  ou can eventuall
158e0 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20 75  y activate the u
158f0 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  sual <b>Options<
15900 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c  /b> already expl
15910 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f  ained in the Sho
15920 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c  rtestPath exampl
15930 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  es.<br>..<u>Note
15940 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d  </u>:TSP problem
15950 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d  s will always im
15960 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62  ply using the <b
15970 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20  >Dijkstra's</b> 
15980 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20  algorithm, even 
15990 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  when the alterna
159a0 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
159b0 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72  lgorithm is curr
159c0 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d  ently selected..
159d0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
159e0 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52  ATE byfoot SET R
159f0 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c 20  equest = 'TSP', 
15a00 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49  Options = 'NO LI
15a10 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  NKS';....SELECT 
15a20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
15a30 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
15a40 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
15a50 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
15a60 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
15a70 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
15a80 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
15a90 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
15aa0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
15ab0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
15ac0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
15ad0 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
15ae0 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
15af0 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f  erbatim>..The fo
15b00 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
15b10 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
15b20 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
15b30 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 72 79  e same TSP query
15b40 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 65   used in the pre
15b50 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66  vious example af
15b60 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65  ter enabling the
15b70 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e   <b>NO LINKS</b>
15b80 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72   option. <br><br
15b90 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
15ba0 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
15bb0 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
15bc0 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
15bd0 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
15be0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
15bf0 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68  0">Algorithm</th
15c00 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
15c10 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f  0d0a0">Request</
15c20 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
15c30 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
15c40 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
15c50 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d  ="#d0d0a0">Delim
15c60 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63  iter</th><th bgc
15c70 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
15c80 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62  outeId</th><th b
15c90 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
15ca0 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
15cb0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
15cc0 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
15cd0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
15ce0 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
15cf0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
15d00 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
15d10 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
15d20 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
15d30 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
15d40 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
15d50 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
15d60 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
15d70 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
15d80 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
15d90 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
15da0 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
15db0 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f  /td><td>TSP NN</
15dc0 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c  td><td>No Links<
15dd0 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64  /td><td>, &#91;d
15de0 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39  ec=44, hex=2c&#9
15df0 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  3;</td><td align
15e00 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
15e10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15e20 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53  >0</td><td>TSP S
15e30 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e  olution</td><td>
15e40 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
15e50 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
15e60 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
15e70 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
15e80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15e90 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33  ght">1254.433933
15ea0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
15eb0 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f  =2000 GEOMETRY</
15ec0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15ed0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
15ee0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15ef0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
15f00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  L</td><td>NULL<t
15f10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15f20 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
15f30 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
15f40 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
15f50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
15f60 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
15f70 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
15f80 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
15f90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15fa0 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c  ght">176.364755<
15fb0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
15fc0 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  304 GEOMETRY</td
15fd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
15fe0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
15ff0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16000 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16010 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20  /td><td>NULL<td 
16020 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
16030 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16040 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
16050 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
16060 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16070 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
16080 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16090 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
160a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
160b0 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f 74  t">139.114938</t
160c0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39  d><td>BLOB sz=49
160d0 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  6 GEOMETRY</td><
160e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
160f0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
16100 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16110 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16120 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16130 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16140 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
16150 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16160 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16170 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16180 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
16190 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
161a0 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
161b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
161c0 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38 35  ight">217.672885
161d0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
161e0 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =688 GEOMETRY</t
161f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
16200 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
16210 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16220 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16230 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16240 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16250 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">4</td><td al
16260 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
16270 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
16280 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16290 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
162a0 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
162b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
162c0 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
162d0 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33  ="right">378.313
162e0 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  684</td><td>BLOB
162f0 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59   sz=272 GEOMETRY
16300 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16310 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
16320 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
16330 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16340 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16350 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16360 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64  right">5</td><td
16370 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
16380 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
16390 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
163a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
163b0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
163c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
163d0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
163e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e  ign="right">188.
163f0 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42  216831</td><td>B
16400 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45  LOB sz=400 GEOME
16410 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
16420 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
16430 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
16440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16460 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
16470 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
16480 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16490 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
164a0 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
164b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
164c0 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
164d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
164e0 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
164f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16500 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74  54.750839</td><t
16510 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45  d>BLOB sz=240 GE
16520 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
16530 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
16540 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  .</table>..<br><
16550 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70  br><br>..The map
16560 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c   below graphical
16570 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65  ly shows the pre
16580 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e  vious <b>TSP</b>
16590 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c   queries...<br><
165a0 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68  br>..<img src="h
165b0 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
165c0 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
165d0 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73  /routing-figs/ts
165e0 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  p1.jpg" alt="fig
165f0 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52  4">..<ul>..<li>R
16600 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75 3e  ed star: the <u>
16610 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e  <i>base-city</i>
16620 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72 65  </u> (from where
16630 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73   the <u><i>sales
16640 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67  man</i></u>) beg
16650 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69 70  ins his/her trip
16660 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65  .</li>..<li>Gree
16670 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c  n dots: the <u><
16680 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e  i>cities</i></u>
16690 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e 3c   to be visited.<
166a0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77  /li>..<li>Yellow
166b0 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20 73   line: the TSP s
166c0 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69 73  olution (that is
166d0 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 75 6c   always a circul
166e0 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a  ar path).</li>..
166f0 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  </ul><br>..<tabl
16700 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30  e bgcolor="#ffb0
16710 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  60" cellspacing=
16720 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
16730 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c  ="6"><tr><td>..<
16740 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20  h3>Warning: how 
16750 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61 6e  to correctly han
16760 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c 74  dling TSP result
16770 73 65 74 73 20 77 69 74 68 20 73 70 61 74 69 61  sets with spatia
16780 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59  lite_gui</h3>..Y
16790 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20  ou should never 
167a0 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f  forget or overlo
167b0 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62 3e  ok that both <b>
167c0 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c  TSP NN</b> and <
167d0 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72 65  b>TSP GA</b> are
167e0 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69 63   <u><i>heuristic
167f0 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c   algorithms</i><
16800 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c 79  /u> heavily rely
16810 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e  ing on <u><i>ran
16820 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63  dom<i></u> choic
16830 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f  es.<br>..This co
16840 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65 20  uld easily have 
16850 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 63 6f  the practical co
16860 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 20 72  nsequence that r
16870 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20 28  esolving twice (
16880 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d  or even more tim
16890 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 64 65  es) the same ide
168a0 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 72 79  ntical TSP query
168b0 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c   could eventuall
168c0 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65  y return differe
168d0 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c 62  nt resultsets.<b
168e0 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f 74  r>..There is not
168f0 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61 6c  hing intrinsical
16900 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69 73  ly wrong in this
16910 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20 61  , it simply is a
16920 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 65   direct conseque
16930 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e  nce of using <u>
16940 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69  <i>randomness</i
16950 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73 69  ></u>; we are si
16960 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67 20  mply bargaining 
16970 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e  <b>exactness</b>
16980 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75 63   and <b>reproduc
16990 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20  ibility</b> for 
169a0 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e  <b>quickness</b>
169b0 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70  .<br><br>..<b>sp
169c0 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
169d0 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f 70   on its own adop
169e0 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73 74  ts a <b>paged st
169f0 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20  rategy</b> when 
16a00 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65 73  showing huge res
16a10 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72 65  ultsets; this re
16a20 71 75 69 72 65 73 20 72 65 70 65 61 74 69 6e 67  quires repeating
16a30 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74 69   again the initi
16a40 61 6c 20 53 51 4c 20 71 75 65 72 79 20 65 61 63  al SQL query eac
16a50 68 20 74 69 6d 65 20 74 68 61 74 20 61 20 3c 62  h time that a <b
16a60 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 35 30 30  >new page of 500
16a70 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 20 74 6f   rows</b> has to
16a80 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 74 68 65   be shown on the
16a90 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20   current window 
16aa0 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65 20  panel.<br>..The 
16ab0 74 77 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 74  two things don't
16ac0 20 67 6f 20 74 6f 67 65 74 68 65 72 20 77 65 6c   go together wel
16ad0 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 73  l; so don't be s
16ae0 75 72 70 72 69 73 65 64 20 77 68 65 6e 20 65 76  urprised when ev
16af0 65 6e 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 65  entually discove
16b00 72 69 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 61  ring that <b>spa
16b10 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
16b20 77 69 6c 6c 20 62 65 68 61 76 65 20 62 69 7a 61  will behave biza
16b30 72 72 65 6c 79 20 77 68 69 6c 65 20 70 72 65 73  rrely while pres
16b40 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 75  enting some resu
16b50 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
16b60 79 20 61 20 54 53 50 20 71 75 65 72 79 2e 20 0d  y a TSP query. .
16b70 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
16b80 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52  ATE byfoot SET R
16b90 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d  equest = 'TSP';.
16ba0 0a 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20  ...CREATE TABLE 
16bb0 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20  my_tsp_solution 
16bc0 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  AS..SELECT Algor
16bd0 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
16be0 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
16bf0 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
16c00 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
16c10 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
16c20 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
16c30 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
16c40 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
16c50 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
16c60 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
16c70 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c   '183286,181999,
16c80 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37  184030,183882,17
16c90 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c  8754';.......  <
16ca0 6e 6f 77 20 71 75 65 72 79 20 22 6d 79 5f 74 73  now query "my_ts
16cb0 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e  p_solution" usin
16cc0 67 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69  g spatialite_gui
16cd0 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54  >  .......DROP T
16ce0 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75  ABLE my_tsp_solu
16cf0 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  tion;..</verbati
16d00 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a  m>..<u>Hint</u>:
16d10 20 72 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 20   resolving this 
16d20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 69  puzzling issue i
16d30 73 20 68 6f 77 65 76 65 72 20 62 61 73 69 63 61  s however basica
16d40 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c  lly simple:..<ol
16d50 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c  >..<li>you simpl
16d60 79 20 68 61 76 65 20 74 6f 20 74 61 6b 65 20 61  y have to take a
16d70 20 3c 62 3e 73 74 61 74 69 63 20 73 6e 61 70 73   <b>static snaps
16d80 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20  hot</b> of your 
16d90 54 53 50 20 72 65 73 75 6c 74 73 65 74 20 62 79  TSP resultset by
16da0 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 52   using the <b>CR
16db0 45 41 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61  EATE TABLE <i>na
16dc0 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50  me</i> AS <i>TSP
16dd0 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f   query<i></b>.</
16de0 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f  li>..<li>then yo
16df0 75 20 63 61 6e 20 66 72 65 65 6c 79 20 65 78 61  u can freely exa
16e00 6d 69 6e 65 20 74 68 65 20 61 62 6f 76 65 20 73  mine the above s
16e10 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c  napshot.</li>..<
16e20 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79  li>and finally y
16e30 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44  ou can duly <b>D
16e40 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70  ROP</b> the snap
16e50 73 68 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 6e  shot once it's n
16e60 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e  o longer useful.
16e70 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f  </li>..</ol>..</
16e80 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  td></tr>..</tabl
16e90 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  e>..<br>..<table
16ea0 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63   bgcolor="#c0ffc
16eb0 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
16ec0 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
16ed0 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
16ee0 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e  3>More about Lin
16ef0 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 20  ear Referencing 
16f00 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74 69  and VirtualRouti
16f10 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f  ng Linestrings</
16f20 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20 61  h3> ..You have a
16f30 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 61  lready seen in a
16f40 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c   previous exampl
16f50 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53  e that all LINES
16f60 54 52 49 4e 47 73 20 63 72 65 61 74 65 64 20 62  TRINGs created b
16f70 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  y VirtualRouting
16f80 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e   support the <b>
16f90 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61  M</b> (<b><i>mea
16fa0 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f  sure</i></b>) co
16fb0 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64 65  ordinate intende
16fc0 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72 65  d as a <b>progre
16fd0 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66  ssive cost</b> f
16fe0 6f 72 20 65 61 63 68 20 76 65 72 74 65 78 2e 20  or each vertex. 
16ff0 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79 20  And you already 
17000 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63 61  know the they ca
17010 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e  n support <b><i>
17020 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63 69  linear referenci
17030 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c  ng</i></b> (<b>L
17040 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63 74  R</b>) SQL funct
17050 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27 73  ions.<br>..Let's
17060 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75 72 74 68   now go in furth
17070 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68 33 3e 54  er depth...<h3>T
17080 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a 65 63 74  rajectory object
17090 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61  s</h3>..A <b>Tra
170a0 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61  jectory</b> is a
170b0 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 73 75  ny Linestring su
170c0 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f  pporting <b>M co
170d0 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69  ordinates</b> wi
170e0 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c  th a continuousl
170f0 79 20 69 6e 63 72 65 61 73 69 6e 67 20 74 72 65  y increasing tre
17100 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70  nd.<br>..In simp
17110 6c 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 3c  ler words, the <
17120 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66  b>M-value</b> of
17130 20 65 61 63 68 20 76 65 72 74 65 78 20 28 65 78   each vertex (ex
17140 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6f 6e  cept the last on
17150 65 29 20 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65  e) must be <b>le
17160 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68  sser</b> than th
17170 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20 74 68 65  e M-Value of the
17180 20 6e 65 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c   next vertex...<
17190 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
171a0 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f  T * FROM my_tsp_
171b0 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52 45 20 53  solution WHERE S
171c0 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74  T_IsValidTraject
171d0 6f 72 79 28 67 65 6f 6d 65 74 72 79 29 20 3d 20  ory(geometry) = 
171e0 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  1;..------------
171f0 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65  -------..1..</ve
17200 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20  rbatim>..As you 
17210 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 6b  can easily check
17220 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53   by calling <b>S
17230 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74  T_IsValidTraject
17240 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65 72 79 20  ory()</b> every 
17250 4c 69 6e 65 73 74 72 69 6e 67 20 63 72 65 61 74  Linestring creat
17260 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
17270 74 69 6e 67 20 69 73 20 61 20 3c 62 3e 76 61 6c  ting is a <b>val
17280 69 64 20 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62  id Trajectory</b
17290 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  >...<verbatim>..
172a0 53 45 4c 45 43 54 20 53 54 5f 54 72 61 6a 65 63  SELECT ST_Trajec
172b0 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50  toryInterpolateP
172c0 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79 2c 20 31  oint(Geometry, 1
172d0 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74  00.0)..FROM my_t
172e0 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45  sp_solution..WHE
172f0 52 45 20 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d  RE RouteId = 0;.
17300 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f  .</verbatim>..So
17310 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74   you just have t
17320 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61  o call <b>ST_Tra
17330 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61  jectoryInterpola
17340 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e  tePoint()</b> in
17350 20 6f 72 64 65 72 20 74 6f 20 63 72 65 61 74 65   order to create
17360 20 61 20 50 4f 49 4e 54 20 70 72 65 63 69 73 65   a POINT precise
17370 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68  ly located on th
17380 65 20 4c 69 6e 65 73 74 72 69 6e 67 20 61 74 20  e Linestring at 
17390 74 68 65 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73  the given <b>cos
173a0 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  t</b>...<br><br>
173b0 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  <hr><br><br>..Th
173c0 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 68  e side map graph
173d0 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65  ically shows the
173e0 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 74   estimated posit
173f0 69 6f 6e 73 20 65 76 65 72 79 20 31 30 30 6d 20  ions every 100m 
17400 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d  assuming the sam
17410 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20  e path returned 
17420 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 54 53  by the latest TS
17430 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c  P query...</td><
17440 74 64 3e 20 20 20 20 20 20 20 20 20 20 20 20 20  td>             
17450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
174f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
175f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
176f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 0d 0a 3c 69 6d 67            ..<img
1fb90 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
1fba0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
1fbb0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
1fbc0 66 69 67 73 2f 74 73 70 32 2e 6a 70 67 22 20 61  figs/tsp2.jpg" a
1fbd0 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64  lt="fig5">..</td
1fbe0 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
1fbf0 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65  <hr><br>..<a hre
1fc00 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  f="https://www.g
1fc10 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69  aia-gis.it/fossi
1fc20 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f  l/libspatialite/
1fc30 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d  wiki?name=4.3.0-
1fc40 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20  doc">back</a>.Z 
1fc50 66 31 36 66 31 34 32 36 66 30 64 32 39 64 38 35  f16f1426f0d29d85
1fc60 35 37 61 38 32 34 64 61 32 30 37 33 63 65 36 36  57a824da2073ce66
1fc70 0a                                               .