Hex Artifact Content
Not logged in

Artifact 2d771f3e54e2be5d42b6dc5e6fb8a21f06d156fa:

Wiki page [VirtualRouting] by sandro 2018-04-09 13:48:05.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 39 54 31 33 3a  D 2018-04-09T13:
0010: 34 38 3a 30 35 2e 38 31 33 0a 4c 20 56 69 72 74  48:05.813.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 62 32 36  ualRouting.P b26
0030: 30 36 61 62 31 34 36 63 61 32 64 39 37 61 30 66  06ab146ca2d97a0f
0040: 39 37 61 62 38 62 66 35 37 30 34 64 66 38 64 38  97ab8bf5704df8d8
0050: 33 62 34 33 37 0a 55 20 73 61 6e 64 72 6f 0a 57  3b437.U sandro.W
0060: 20 31 32 35 32 34 32 0a 3c 61 20 68 72 65 66 3d   125242.<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: 74 73 70 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50  tsp">Solving TSP
0230: 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65   (traveling sale
0240: 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f  sman) problems</
0250: 61 3e 3c 62 72 3e 0d 0a 3c 62 72 3e 3c 68 72 3e  a><br>..<br><hr>
0260: 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 69  ..<h1><a name="i
0270: 6e 74 72 6f 22 3e 31 20 2d 20 49 6e 74 72 6f 64  ntro">1 - Introd
0280: 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 68 31 3e 0d  uction</a></h1>.
0290: 0a 50 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f  .Previous versio
02a0: 6e 73 20 6f 66 20 53 70 61 74 69 61 4c 69 74 65  ns of SpatiaLite
02b0: 20 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 73   traditionally s
02c0: 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 70 75  upported a <b>pu
02d0: 72 65 20 53 51 4c 20 72 6f 75 74 69 6e 67 20 6d  re SQL routing m
02e0: 6f 64 75 6c 65 3c 2f 62 3e 20 74 68 61 74 20 77  odule</b> that w
02f0: 61 73 20 6e 61 6d 65 64 20 3c 61 20 68 72 65 66  as named <a href
0300: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
0310: 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c  ia-gis.it/fossil
0320: 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77  /libspatialite/w
0330: 69 6b 69 3f 6e 61 6d 65 3d 56 69 72 74 75 61 6c  iki?name=Virtual
0340: 4e 65 74 77 6f 72 6b 2b 72 65 6c 6f 61 64 65 64  Network+reloaded
0350: 22 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  ">VirtualNetwork
0360: 3c 2f 61 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53  </a>.<br><br>..S
0370: 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e  ince version <b>
0380: 35 2e 30 2e 30 3c 2f 62 3e 20 61 20 62 72 61 6e  5.0.0</b> a bran
0390: 64 20 6e 65 77 20 3c 62 3e 72 6f 75 74 69 6e 67  d new <b>routing
03a0: 20 6d 6f 64 75 6c 65 3c 2f 62 3e 20 28 6d 6f 72   module</b> (mor
03b0: 65 20 61 64 76 61 6e 63 65 64 20 61 6e 64 20 73  e advanced and s
03c0: 6f 70 68 69 73 74 69 63 61 74 65 64 29 20 69 73  ophisticated) is
03d0: 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 61 74   available, that
03e0: 20 69 73 20 63 61 6c 6c 65 64 20 3c 62 3e 56 69   is called <b>Vi
03f0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e  rtualRouting</b>
0400: 2e 3c 62 72 3e 0d 0a 54 68 65 20 6e 6f 77 20 6f  .<br>..The now o
0410: 62 73 6f 6c 65 74 65 20 3c 62 3e 56 69 72 74 75  bsolete <b>Virtu
0420: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73  alNetwork</b> is
0430: 20 73 74 69 6c 6c 20 73 75 70 70 6f 72 74 65 64   still supported
0440: 20 62 79 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35   by version <b>5
0450: 2e 30 2e 30 3c 2f 62 3e 20 73 6f 20 61 73 20 74  .0.0</b> so as t
0460: 6f 20 6e 6f 74 20 63 61 75 73 65 20 61 6e 20 61  o not cause an a
0470: 62 72 75 70 74 20 62 72 65 61 6b 20 74 6f 20 61  brupt break to a
0480: 6c 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 20  lready existing 
0490: 61 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 62 75  applications, bu
04a0: 74 20 77 69 6c 6c 20 70 72 65 73 75 6d 61 62 6c  t will presumabl
04b0: 79 20 62 65 20 64 69 73 63 6f 6e 74 69 6e 75 65  y be discontinue
04c0: 64 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73  d in future vers
04d0: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 55 73 69 6e 67  ions.<br>..Using
04e0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
04f0: 6e 67 3c 2f 62 3e 20 69 6e 73 74 65 61 64 20 6f  ng</b> instead o
0500: 66 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77  f <b>VirtualNetw
0510: 69 72 6b 3c 2f 62 3e 20 69 73 20 77 61 72 6d 6c  irk</b> is warml
0520: 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f  y recommended fo
0530: 72 20 61 6e 79 20 6e 65 77 20 64 65 76 65 6c 6f  r any new develo
0540: 70 6d 65 6e 74 2e 20 0d 0a 3c 68 32 3e 54 68 65  pment. ..<h2>The
0550: 6f 72 65 74 69 63 61 6c 20 66 6f 75 6e 64 61 74  oretical foundat
0560: 69 6f 6e 73 20 2d 20 61 6e 20 75 6c 74 72 61 2d  ions - an ultra-
0570: 71 75 69 63 6b 20 72 65 63 61 6c 6c 3c 2f 68 32  quick recall</h2
0580: 3e 0d 0a 41 6c 6c 20 3c 62 3e 52 6f 75 74 69 6e  >..All <b>Routin
0590: 67 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e  g algorithms</b>
05a0: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e   (<i>aka</i> <b>
05b0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62  Shortest Path</b
05c0: 3e 20 61 6c 67 6f 72 69 74 68 6d 73 29 20 61 72  > algorithms) ar
05d0: 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6d  e based on the m
05e0: 61 74 68 65 6d 61 74 69 63 73 20 6f 66 20 74 68  athematics of th
05f0: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  e <a href="https
0600: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
0610: 6f 72 67 2f 77 69 6b 69 2f 47 72 61 70 68 5f 74  org/wiki/Graph_t
0620: 68 65 6f 72 79 22 3e 47 72 61 70 68 20 74 68 65  heory">Graph the
0630: 6f 72 79 3c 2f 61 3e 20 6f 72 20 74 6f 20 62 65  ory</a> or to be
0640: 20 6d 6f 72 65 20 70 72 65 63 69 73 65 3a 20 6f   more precise: o
0650: 6e 20 3c 62 3e 57 65 69 67 68 74 65 64 20 47 72  n <b>Weighted Gr
0660: 61 70 68 73 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 0d  aphs</b>...<br>.
0670: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
0680: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
0690: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
06a0: 74 69 6e 67 2d 66 69 67 73 2f 6e 65 74 77 6f 72  ting-figs/networ
06b0: 6b 2e 70 6e 67 22 20 61 6c 74 3d 22 6e 65 74 77  k.png" alt="netw
06c0: 6f 72 6b 22 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74  ork">..<br>..A t
06d0: 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c  opologically val
06e0: 69 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62  id <b>Network</b
06f0: 3e 20 69 73 20 61 20 64 61 74 61 73 65 74 20 74  > is a dataset t
0700: 68 61 74 20 66 75 6c 66 69 6c 6c 73 20 74 68 65  hat fulfills the
0710: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 71 75 69   following requi
0720: 72 65 6d 65 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a  rements:..<ul>..
0730: 3c 6c 69 3e 41 6c 6c 20 69 74 65 6d 73 20 69 6e  <li>All items in
0740: 20 74 68 65 20 64 61 74 61 73 65 74 20 61 72 65   the dataset are
0750: 20 63 61 6c 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73   called <b>Links
0760: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
0770: 20 3c 62 3e 41 72 63 73 3c 2f 62 3e 29 2c 20 61   <b>Arcs</b>), a
0780: 6e 64 20 61 72 65 20 65 78 70 65 63 74 65 64 20  nd are expected 
0790: 74 6f 20 72 65 70 72 65 73 65 6e 74 20 73 6f 6d  to represent som
07a0: 65 20 6f 72 69 65 6e 74 65 64 20 63 6f 6e 6e 65  e oriented conne
07b0: 63 74 69 6f 6e 20 6a 6f 69 6e 69 6e 67 20 74 77  ction joining tw
07c0: 6f 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c  o <b>Nodes</b>.<
07d0: 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c  br>..<u>Example<
07e0: 2f 75 3e 3a 20 69 6e 20 74 68 65 20 61 62 6f 76  /u>: in the abov
07f0: 65 20 66 69 67 75 72 65 20 4c 69 6e 6b 20 3c 62  e figure Link <b
0800: 3e 4c 33 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 73  >L3</b> connects
0810: 20 4e 6f 64 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e   Nodes <b>N2</b>
0820: 20 61 6e 64 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c   and <b>N5</b>.<
0830: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 6f 20 61 6c 6c  /li>..<li>So all
0840: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72   <b>Links</b> ar
0850: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65  e always expecte
0860: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20  d to explicitly 
0870: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53  reference a <b>S
0880: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c  tart-Node</b> (<
0890: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64  i>aka</i> <b>Nod
08a0: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20  e-From</b>) and 
08b0: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  an <b>End-Node</
08c0: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
08d0: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d  b>Node-To</b>)..
08e0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73  .<ul>..<li>Links
08f0: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f   are always <b>o
0900: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64  riented</b>, and
0910: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64   their natural d
0920: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46  irection is <b>F
0930: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c  rom-To</b>:..<ul
0940: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e  >..<li>in an <b>
0950: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
0960: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20  b> Network each 
0970: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e  Link is an <b>on
0980: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63  e-way</b> connec
0990: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68  tion.<br>..If th
09a0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20  e connection is 
09b0: 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65  available in the
09c0: 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 74   opposite direct
09d0: 69 6f 6e 20 61 20 73 65 63 6f 6e 64 20 4c 69 6e  ion a second Lin
09e0: 6b 20 6d 75 73 74 20 62 65 20 65 78 70 6c 69 63  k must be explic
09f0: 69 74 6c 79 20 64 65 63 6c 61 72 65 64 2e 3c 62  itly declared.<b
0a00: 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f  r>..<u>Example</
0a10: 75 3e 3a 20 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f  u>: Link <b>X1</
0a20: 62 3e 20 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64  b> goes from Nod
0a30: 65 20 3c 62 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f  e <b>A</b> to No
0a40: 64 65 20 3c 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64  de <b>B</b>, and
0a50: 20 4c 69 6e 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20   Link <b>X2</b> 
0a60: 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c  goes from Node <
0a70: 62 3e 42 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20  b>B</b> to Node 
0a80: 3c 62 3e 41 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  <b>A</b>.</li>..
0a90: 3c 6c 69 3e 69 6e 20 61 20 3c 62 3e 62 69 64 69  <li>in a <b>bidi
0aa0: 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65  rectional</b> Ne
0ab0: 74 77 6f 72 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20  twork all Links 
0ac0: 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 65  are assumed to e
0ad0: 73 74 61 62 6c 69 73 68 20 61 20 63 6f 6e 6e 65  stablish a conne
0ae0: 63 74 69 6f 6e 20 69 6e 20 62 6f 74 68 20 64 69  ction in both di
0af0: 72 65 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44  rections.<br>..D
0b00: 65 66 69 6e 69 74 69 6e 67 20 61 6e 20 3c 62 3e  efiniting an <b>
0b10: 6f 6e 65 2d 77 61 79 20 63 6f 6e 6e 65 63 74 69  one-way connecti
0b20: 6f 6e 3c 2f 62 3e 20 72 65 71 75 69 72 65 73 20  on</b> requires 
0b30: 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 61  an appropriate a
0b40: 74 74 72 69 62 75 74 65 20 74 6f 20 62 65 20 73  ttribute to be s
0b50: 65 74 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 3c  et (see below).<
0b60: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
0b70: 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 53 74 61  ..<li>The <b>Sta
0b80: 72 74 2d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45  rt-</b> and <b>E
0b90: 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c  nd-Node</b> coul
0ba0: 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20  d eventually be 
0bb0: 74 68 65 20 73 61 6d 65 2c 20 61 6e 64 20 69 6e  the same, and in
0bc0: 20 74 68 69 73 20 63 61 73 65 20 77 65 27 6c 6c   this case we'll
0bd0: 20 68 61 76 65 20 61 20 3c 62 3e 73 65 6c 66 2d   have a <b>self-
0be0: 63 6c 6f 73 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e  closed</b> Link.
0bf0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f  </li>..<li>Netwo
0c00: 72 6b 27 73 20 4c 69 6e 6b 73 20 3c 62 3e 63 61  rk's Links <b>ca
0c10: 6e 3c 2f 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79  n</b> eventually
0c20: 20 64 65 66 69 6e 65 20 61 20 6c 69 6e 65 61 72   define a linear
0c30: 20 47 65 6f 6d 65 74 72 79 20 28 3c 62 3e 4c 49   Geometry (<b>LI
0c40: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 29 20 67 6f  NESTRING</b>) go
0c50: 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 62 3e  ing from the <b>
0c60: 53 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74  Start-Node</b> t
0c70: 6f 20 74 68 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64  o the <b>End-Nod
0c80: 65 3c 2f 62 3e 2c 20 62 75 74 20 74 68 69 73 20  e</b>, but this 
0c90: 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66  is an optional f
0ca0: 65 61 74 75 72 65 2c 20 6e 6f 74 20 61 20 6d 61  eature, not a ma
0cb0: 6e 64 61 74 6f 72 79 20 72 65 71 75 69 72 65 6d  ndatory requirem
0cc0: 65 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57  ent.</li>..<li>W
0cd0: 68 61 74 20 69 73 20 61 62 73 6f 6c 75 74 65 6c  hat is absolutel
0ce0: 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 73 20 74  y mandatory is t
0cf0: 68 61 74 20 65 61 63 68 20 3c 62 3e 4c 69 6e 6b  hat each <b>Link
0d00: 3c 2f 62 3e 20 6d 75 73 74 20 65 78 70 6c 69 63  </b> must explic
0d10: 69 74 6c 79 20 72 65 66 65 72 65 6e 63 65 20 69  itly reference i
0d20: 74 73 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e  ts <b>Nodes</b>.
0d30: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
0d40: 3e 0d 0a 3c 6c 69 3e 41 20 4e 65 74 77 6f 72 6b  >..<li>A Network
0d50: 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d   supporting Geom
0d60: 65 74 72 69 65 73 20 69 73 20 61 20 3c 62 3e 53  etries is a <b>S
0d70: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f  patial Network</
0d80: 62 3e 3b 20 6f 74 68 65 72 77 69 73 65 20 61 20  b>; otherwise a 
0d90: 4e 65 74 77 6f 72 6b 20 6c 61 63 6b 69 6e 67 20  Network lacking 
0da0: 61 6e 79 20 47 65 6f 6d 65 74 72 79 20 69 73 20  any Geometry is 
0db0: 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74  a <b>Logical Net
0dc0: 77 6f 72 6b 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d  work</b>...<ul>.
0dd0: 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61  .<li>In a <b>Spa
0de0: 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e  tial Network</b>
0df0: 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75   all Links <b>mu
0e00: 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 20 63 6f  st</b> have a co
0e10: 72 72 65 73 70 6f 6e 64 69 6e 67 20 47 65 6f 6d  rresponding Geom
0e20: 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  etry.</li>..<li>
0e30: 49 6e 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20  In a <b>Logical 
0e40: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20  Network</b> all 
0e50: 4c 69 6e 6b 73 20 3c 62 3e 61 72 65 20 73 74 72  Links <b>are str
0e60: 69 63 74 6c 79 20 66 6f 72 62 69 64 64 65 6e 3c  ictly forbidden<
0e70: 2f 62 3e 20 74 6f 20 68 61 76 65 20 61 6e 79 20  /b> to have any 
0e80: 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a  Geometry.</li>..
0e90: 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74  <li>In a <b>Spat
0ea0: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ial Network</b> 
0eb0: 62 6f 74 68 20 74 68 65 20 3c 62 3e 53 74 61 72  both the <b>Star
0ec0: 74 50 6f 69 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c  tPoint</b> and <
0ed0: 62 3e 45 6e 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f  b>EndPoint</b> o
0ee0: 66 20 65 61 63 68 20 4c 69 6e 6b 27 73 20 3c 62  f each Link's <b
0ef0: 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20  >LINESTRING</b> 
0f00: 61 72 65 20 61 6c 77 61 79 73 20 65 78 70 65 63  are always expec
0f10: 74 65 64 20 74 6f 20 65 78 61 63 74 6c 79 20 63  ted to exactly c
0f20: 6f 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 65  oincide with the
0f30: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c   corresponding <
0f40: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69  b>Nodes</b>.</li
0f50: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
0f60: 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69  li>In a <b>Spati
0f70: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61  al Network</b> a
0f80: 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f  ll references to
0f90: 20 74 68 65 20 73 61 6d 65 20 3c 62 3e 4e 6f 64   the same <b>Nod
0fa0: 65 3c 2f 62 3e 20 62 79 20 64 69 66 66 65 72 65  e</b> by differe
0fb0: 6e 74 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74  nt Links <b>must
0fc0: 3c 2f 62 3e 20 62 65 20 61 6e 20 65 78 61 63 74  </b> be an exact
0fd0: 20 6d 61 74 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e   match.<br>..<u>
0fe0: 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64  Example</u>: Nod
0ff0: 65 20 3c 62 3e 4e 35 3c 2f 62 3e 20 69 73 20 73  e <b>N5</b> is s
1000: 68 61 72 65 64 20 62 79 20 4c 69 6e 6b 73 20 3c  hared by Links <
1010: 62 3e 4c 33 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c  b>L3</b>, <b>L6<
1020: 2f 62 3e 2c 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20  /b>, <b>L7</b>, 
1030: 3c 62 3e 4c 39 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>L9</b> and <b
1040: 3e 4c 31 30 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c  >L10</b>, so all
1050: 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e   their correspon
1060: 64 69 6e 67 20 4c 49 4e 45 53 54 52 49 4e 47 53  ding LINESTRINGS
1070: 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f   are expected to
1080: 20 68 61 76 65 20 74 68 65 20 63 6f 72 72 65 73   have the corres
1090: 70 6f 6e 64 69 6e 67 20 65 78 74 72 65 6d 69 74  ponding extremit
10a0: 79 20 28 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e  y (<b>Start-</b>
10b0: 20 6f 72 20 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c   or <b>End-</b>,
10c0: 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68   depending on th
10d0: 65 20 6f 72 69 65 6e 74 61 74 69 6f 6e 29 20 70  e orientation) p
10e0: 6f 69 6e 74 73 20 74 68 61 74 20 6d 75 73 74 20  oints that must 
10f0: 65 78 61 63 74 6c 79 20 6d 61 74 63 68 20 74 68  exactly match th
1100: 65 20 6f 74 68 65 72 2e 3c 62 72 3e 0d 0a 41 20  e other.<br>..A 
1110: 3c 62 3e 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 69  <b>topological i
1120: 6e 63 6f 6e 73 69 73 74 65 6e 63 79 3c 2f 62 3e  nconsistency</b>
1130: 20 65 78 69 73 74 73 20 69 66 20 61 6e 79 20 6f   exists if any o
1140: 66 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f  f these conditio
1150: 6e 73 20 61 72 65 20 6e 6f 74 20 73 61 74 69 73  ns are not satis
1160: 66 69 65 64 2c 20 77 68 69 63 68 20 6c 65 61 64  fied, which lead
1170: 73 20 74 6f 20 61 6e 20 3c 62 3e 69 6e 76 61 6c  s to an <b>inval
1180: 69 64 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c  id</b> Network.<
1190: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c  /li>..<li>In a <
11a0: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
11b0: 6b 3c 2f 62 3e 20 74 77 6f 0d 0a 3c 6c 69 3e 41  k</b> two..<li>A
11c0: 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68  ccordingly to th
11d0: 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65 73  e above premises
11e0: 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 61  , <b>Nodes</b> a
11f0: 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74 65  re never expecte
1200: 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69 74  d to be explicit
1210: 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61  ly declared in a
1220: 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65 2e   separate Table.
1230: 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69 6e  <br>..Just a sin
1240: 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61 72  gle Table declar
1250: 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73  ing all <b>Links
1260: 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65 64  </b> is required
1270: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75 6c   in order to ful
1280: 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70 6f  ly define a topo
1290: 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20  logically valid 
12a0: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 6c  Network.<br>..Al
12b0: 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e 20  l the Nodes can 
12c0: 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20 65  then be easily e
12d0: 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74 68  xtracted from th
12e0: 65 20 4c 69 6e 6b 73 27 20 64 65 66 69 6e 69 74  e Links' definit
12f0: 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f 6f  ions and the coo
1300: 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61 63  rdinates for eac
1310: 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64 69  h Node can be di
1320: 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65 78  rectly set by ex
1330: 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78 74  tracting the ext
1340: 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74 68  reme Point of th
1350: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
1360: 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72 3e  Linestrings.<br>
1370: 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74 63  ..If any mismatc
1380: 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74 68  h is detected th
1390: 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20  is surely means 
13a0: 74 68 61 74 20 74 68 65 20 4e 65 74 77 6f 72 6b  that the Network
13b0: 20 69 73 20 69 6e 76 61 6c 69 64 2e 3c 2f 6c 69   is invalid.</li
13c0: 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c 69 6e 6b  >..<li>A <b>Link
13d0: 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69 74 69 6d  </b> may legitim
13e0: 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e 74 65 72  ately self-inter
13f0: 73 65 63 74 20 69 74 73 65 6c 66 20 28 65 2e 67  sect itself (e.g
1400: 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c 6f 6f 70  . forming a loop
1410: 29 2c 20 61 73 20 73 68 6f 77 6e 20 69 6e 20 74  ), as shown in t
1420: 68 65 20 61 62 6f 76 65 20 66 69 67 75 72 65 20  he above figure 
1430: 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31 35 3c 2f  by Link <b>L15</
1440: 62 3e 20 28 6f 72 61 6e 67 65 20 73 70 6f 74 29  b> (orange spot)
1450: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 77 6f 20  .</li>..<li>Two 
1460: 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 6d 61 79  <b>Links</b> may
1470: 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 69 6e   legitimately in
1480: 74 65 72 73 65 63 74 20 77 68 65 72 65 20 6e 6f  tersect where no
1490: 20 4e 6f 64 65 20 65 78 69 73 74 73 2c 20 61 73   Node exists, as
14a0: 20 65 78 65 6d 70 6c 69 66 69 65 64 20 6f 6e 20   exemplified on 
14b0: 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72 65  the above figure
14c0: 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c 34 3c   by Links <b>L4<
14d0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37 3c 2f 62  /b> and <b>L7</b
14e0: 3e 20 28 67 72 65 65 6e 20 73 70 6f 74 29 2e 3c  > (green spot).<
14f0: 62 72 3e 0d 0a 54 68 69 73 20 75 73 75 61 6c 6c  br>..This usuall
1500: 79 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 6f  y happens when o
1510: 6e 65 20 6f 66 20 74 68 65 20 74 77 6f 20 4c 69  ne of the two Li
1520: 6e 6b 73 20 6f 76 65 72 70 61 73 73 65 73 20 74  nks overpasses t
1530: 68 65 20 6f 74 68 65 72 2c 20 6f 72 20 77 68 65  he other, or whe
1540: 72 65 20 73 6f 6d 65 20 74 65 63 68 6e 69 63 61  re some technica
1550: 6c 20 72 65 73 74 72 69 63 74 69 6f 6e 20 65 78  l restriction ex
1560: 69 73 74 73 20 28 65 2e 67 2e 20 74 77 6f 20 69  ists (e.g. two i
1570: 6e 73 75 6c 61 74 65 64 20 77 69 72 65 73 20 69  nsulated wires i
1580: 6e 20 61 6e 20 45 6c 65 63 74 72 69 63 61 6c 20  n an Electrical 
1590: 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69 3e 0d 0a  Network).</li>..
15a0: 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e  <li><b>Links</b>
15b0: 20 61 72 65 6e 27 74 20 73 74 72 69 63 74 6c 79   aren't strictly
15c0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20   required to be 
15d0: 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20  associated with 
15e0: 61 6e 79 20 73 70 65 63 69 66 69 63 20 61 74 74  any specific att
15f0: 72 69 62 75 74 65 2c 20 62 75 74 20 74 68 65 20  ribute, but the 
1600: 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74 72 69 62  following attrib
1610: 75 74 65 73 20 61 72 65 20 61 6c 6d 6f 73 74 20  utes are almost 
1620: 75 6e 69 76 65 72 73 61 6c 6c 79 20 73 75 70 70  universally supp
1630: 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  orted:..<ul>..<l
1640: 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f 62 3e 20  i>a <b>name</b> 
1650: 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20  identifying the 
1660: 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78  Link.<br>..<u>Ex
1670: 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74 68 65 20  amples</u>: the 
1680: 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e 79 6d 3c  <i>road toponym<
1690: 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72 6f 61 64  /i> in a <b>road
16a0: 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c 20 6f 72   network</b>, or
16b0: 20 74 68 65 20 3c 69 3e 72 69 76 65 72 20 6e 61   the <i>river na
16c0: 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20 3c 62 3e  me</i> in an <b>
16d0: 68 79 64 72 6f 67 72 61 70 68 69 63 20 6e 65 74  hydrographic net
16e0: 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  work</b>.</li>..
16f0: 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65 76 65 6e  <li>one (or even
1700: 20 6d 6f 72 65 29 20 61 70 70 72 6f 70 72 69 61   more) appropria
1710: 74 65 20 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65  te <b>cost value
1720: 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d 0a 3c 75  </b>(s).<br>..<u
1730: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 74 68  >Example</u>: th
1740: 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e 20 72 65  e <i>time</i> re
1750: 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72  quired to traver
1760: 73 65 20 74 68 65 20 4c 69 6e 6b 20 28 6d 61 79  se the Link (may
1770: 20 62 65 20 64 69 73 74 69 6e 67 75 69 73 68 65   be distinguishe
1780: 64 20 62 65 74 77 65 65 6e 20 70 65 64 65 73 74  d between pedest
1790: 72 69 61 6e 73 2c 20 62 69 63 79 63 6c 65 73 2c  rians, bicycles,
17a0: 20 63 61 72 73 2c 20 6c 6f 72 72 69 65 73 20 61   cars, lorries a
17b0: 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c 69 3e 0d  nd so on).</li>.
17c0: 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f 66 20 3c  .<li>a pair of <
17d0: 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 3c  b>boolean flags<
17e0: 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d 74 6f 3c  /b> (<b>from-to<
17f0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72  /b> and <b>to-fr
1800: 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69 6e 74 65  om</b>) are inte
1810: 6e 64 65 6e 64 20 74 6f 20 73 70 65 63 69 66 79  ndend to specify
1820: 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 63 61 6e   if the Link can
1830: 20 62 65 20 74 72 61 76 65 72 73 65 64 20 6f 6e   be traversed on
1840: 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73   both directions
1850: 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f 6e 65 20   or just in one 
1860: 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29  (<b>one-way</b>)
1870: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
1880: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c  i>..</ul>..<h4>L
1890: 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f  ogical conclusio
18a0: 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70  ns</h4>..Any top
18b0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
18c0: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20   <b>Network</b> 
18d0: 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66  (irrespective of
18e0: 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61   whether it is a
18f0: 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20   <b>Spatial</b> 
1900: 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62  or <b>Logical</b
1910: 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 6c  > type) is a val
1920: 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e  id <b>Graph</b>.
1930: 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20  <br>..A Network 
1940: 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 70  allowing the sup
1950: 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 20  port (direct or 
1960: 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f 6d  indirect) of som
1970: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62  e appropriate <b
1980: 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20  >cost value</b> 
1990: 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 65  is a valid <b>We
19a0: 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 3e  ighted Graph</b>
19b0: 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71  , and can conseq
19c0: 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c  uently support <
19d0: 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  b>Routing algori
19e0: 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  thms</b>.<br>..A
19f0: 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  ll Routing algor
1a00: 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64  ithms are intend
1a10: 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74  ed to identify t
1a20: 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 50  he <b>Shortest P
1a30: 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e  ath</b> solution
1a40: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20   connecting two 
1a50: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20  <b>Nodes</b> in 
1a60: 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72  a <b>weighted gr
1a70: 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c  aph</b> (<i>aka<
1a80: 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f  /i> <b>Network</
1a90: 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  b>).<br><br>..<b
1aa0: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e  ><u>Note</u></b>
1ab0: 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69  : the term <b><i
1ac0: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f  >Shortest Path</
1ad0: 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 61  i></b> can be ea
1ae0: 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 6f  sily misundersto
1af0: 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20  od.<br>..Due to 
1b00: 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f  historical reaso
1b10: 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d  ns the most comm
1b20: 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66  on application f
1b30: 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e 67  ield for Routing
1b40: 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 72   algorithms is r
1b50: 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61  elated to <b>Roa
1b60: 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20  d Networks</b>, 
1b70: 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74  but also many ot
1b80: 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74  her kinds of Net
1b90: 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75  works exist:..<u
1ba0: 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61  l>..<li>Hydrogra
1bb0: 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f  phic Networks.</
1bc0: 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57  li>..<li>Gas / W
1bd0: 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f  ater / Oil Netwo
1be0: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45  rks.</li>..<li>E
1bf0: 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72  lectrical Networ
1c00: 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65  ks.</li>..<li>Te
1c10: 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e  lecomunication N
1c20: 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  etworks.</li>..<
1c30: 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f  li>Social or Eco
1c40: 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  nomical Networks
1c50: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 65   representing re
1c60: 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 77  lationships betw
1c70: 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20  een individuals 
1c80: 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c  or companies.</l
1c90: 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f  i>..<li>Epidemio
1ca0: 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  logical Networks
1cb0: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68   representing th
1cc0: 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66  e propagation of
1cd0: 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 61   infective disea
1ce0: 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69  ses between indi
1cf0: 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 70  viduals or group
1d00: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1d10: 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61  li> ..<br>..In a
1d20: 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 73  ll the above cas
1d30: 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 20  es we certainly 
1d40: 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 6f  have valid Netwo
1d50: 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52  rks supporting R
1d60: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e  outing algorithn
1d70: 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f  s, but not all o
1d80: 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79  f them can imply
1d90: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20   something like 
1da0: 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 73  a <i>spatial dis
1db0: 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65  tance</i> (<i>ge
1dc0: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f  ometric length</
1dd0: 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 76  i>) or a <i>trav
1de0: 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e  el time</i>.<br>
1df0: 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 65  ..In the most ge
1e00: 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e 20  neral acception 
1e10: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e  <b>costs</b> can
1e20: 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20   be represented 
1e30: 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c  by any reasonabl
1e40: 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e 74  e physical quant
1e50: 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d  ity.<br>..So a m
1e60: 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20  ore generalized 
1e70: 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 73  definition is as
1e80: 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 74  suming that Rout
1e90: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61  ing algorithms a
1ea0: 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69  re intended to i
1eb0: 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 65  dentify <b>lesse
1ec0: 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74  r cost</b> solut
1ed0: 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69  ions on a <b>wei
1ee0: 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e  ghted graph</b>.
1ef0: 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 20  <br>..The exact 
1f00: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f  interpretation o
1f10: 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c  f the involved <
1f20: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e  b>costs</b> (<i>
1f30: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68  aka</i> <b>weigh
1f40: 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c 79  ts</b>) strictly
1f50: 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20   depends on the 
1f60: 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e 61  very specific na
1f70: 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 74  ture of each Net
1f80: 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44  work...<h3>The D
1f90: 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69  ijkstra's algori
1fa0: 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77  thm</h3>..This w
1fb0: 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65  ell known <a hre
1fc0: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
1fd0: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
1fe0: 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c  /Dijkstra%27s_al
1ff0: 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74  gorithm">algorit
2000: 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63  hm</a> isn't nec
2010: 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 73  essarily the fas
2020: 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 74  test one, but it
2030: 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 20   always ensures 
2040: 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e  <b>full correctn
2050: 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  ess</b>:..<ul>..
2060: 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d  <li>Any Node-to-
2070: 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  Node connection 
2080: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 69  identified by Di
2090: 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 74  jkstra's is cert
20a0: 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 6f  ainly ensured to
20b0: 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f   be <b>optimal</
20c0: 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65  b>.<br>..In othe
20d0: 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e  r words, no conn
20e0: 65 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69  etction presenti
20f0: 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20  ng a lower cost 
2100: 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79  can conceptually
2110: 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   exist.</li>..<l
2120: 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27  i>When Dijsjtra'
2130: 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74  s fails to ident
2140: 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74  ify a solution t
2150: 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73  his surely means
2160: 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f   that no solutio
2170: 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f  n is possible.</
2180: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e  li>..</ul>..<h3>
2190: 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d  The A* algorithm
21a0: 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65  </h3>..Many alte
21b0: 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20  rnative Routing 
21c0: 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20  algorithms have 
21d0: 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75  been invented du
21e0: 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c  ring the years.<
21f0: 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72  br>..All them ar
2200: 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69  e based on heuri
2210: 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73  stic assumptions
2220: 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65   and are intende
2230: 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74  d to be faster t
2240: 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20  han Dijkstra's, 
2250: 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d  but none of them
2260: 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66   can ensure <b>f
2270: 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c  ull correctness<
2280: 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27  /b> as Dijkstra'
2290: 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65  s does.<br>..The
22a0: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
22b0: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
22c0: 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63  rg/wiki/A*_searc
22d0: 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20  h_algorithm">A* 
22e0: 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70  algorithm</a> ap
22f0: 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75  plies a mild heu
2300: 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74  ristic optimizat
2310: 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20  ion, and can be 
2320: 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65  a realistic alte
2330: 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73  rnative to Dijks
2340: 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61  tra's in many ca
2350: 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  ses.<br><br>..<h
2360: 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d  r>..<h1><a name=
2370: 22 73 61 6d 70 6c 65 3e 32 20 2d 20 54 68 65 20  "sample>2 - The 
2380: 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f  sample/test DB</
2390: 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65  a></h1>..You are
23a0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c   expected to fol
23b0: 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74 20  low the current 
23c0: 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c  tutorial about <
23d0: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
23e0: 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79  </b> by directly
23f0: 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c   testing all SQL
2400: 20 71 75 65 72 69 65 73 20 64 69 73 63 75 73 73   queries discuss
2410: 65 64 20 62 65 6c 6f 77 20 6f 6e 20 62 65 68 61  ed below on beha
2420: 6c 66 20 6f 66 20 74 68 65 20 3c 61 20 68 72 65  lf of the <a hre
2430: 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  f="https://www.g
2440: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
2450: 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d  sins/routing-sam
2460: 70 6c 65 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61  ple-5.0.0.7z">sa
2470: 6d 70 6c 65 2f 74 65 73 74 20 44 42 20 74 68 61  mple/test DB tha
2480: 74 20 79 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f  t you can downlo
2490: 61 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e  ad from here</a>
24a0: 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61  <br><br>..The sa
24b0: 6d 70 6c 65 20 44 42 20 63 6f 6e 74 61 69 6e 73  mple DB contains
24c0: 20 74 68 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61   the full <b>roa
24d0: 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66  d network</b> of
24e0: 20 3c 62 3e 54 75 73 63 61 6e 79 20 52 65 67 69   <b>Tuscany Regi
24f0: 6f 6e 20 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28  on (Italy)</b> (
2500: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f  <a href="http://
2510: 77 77 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74  www502.regione.t
2520: 6f 73 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f  oscana.it/geosco
2530: 70 69 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61  pio/download/gra
2540: 66 6f 5f 73 74 72 61 64 61 6c 65 2f 69 74 65 72  fo_stradale/iter
2550: 6e 65 74 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65  net.zip">Iter.Ne
2560: 74 20 64 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b  t dataset</a>) k
2570: 69 6e 64 6c 79 20 72 65 6c 65 61 73 65 64 20 75  indly released u
2580: 6e 64 65 72 20 74 68 65 20 3c 62 3e 43 43 2d 42  nder the <b>CC-B
2590: 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63  Y-SA 4.0</b> lic
25a0: 65 6e 63 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d  ence terms.<br>.
25b0: 0a 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 73 74  .The contents st
25c0: 6f 72 65 64 20 69 6e 74 6f 20 74 68 65 20 73 61  ored into the sa
25d0: 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20 77 65  mple database we
25e0: 72 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 72  re opportunely r
25f0: 65 61 72 72 61 6e 67 65 64 2c 20 61 6e 64 20 61  earranged, and a
2600: 72 65 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74  re still subject
2610: 20 74 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 20   to the initial 
2620: 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 3c  <b>CC-BY-SA 4.0<
2630: 2f 62 3e 20 63 6c 61 75 73 65 73 20 28 3c 69 3e  /b> clauses (<i>
2640: 64 65 72 69 76 65 64 20 77 6f 72 6b 3c 2f 69 3e  derived work</i>
2650: 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75  )...<br><br>..<u
2660: 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64  l>..<li>all road
2670: 20 6e 61 6d 65 73 20 61 72 65 20 73 74 6f 72 65   names are store
2680: 64 20 77 69 74 68 69 6e 20 74 68 65 20 3c 62 3e  d within the <b>
2690: 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62  toponyms</b> Tab
26a0: 6c 65 2e 3c 62 72 3e 0d 0a 74 68 65 20 73 61 6d  le.<br>..the sam
26b0: 65 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 75 6c  e road name coul
26c0: 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 66  d be used in dif
26d0: 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c  ferent Municipal
26e0: 69 74 69 65 73 2c 20 73 6f 20 74 68 65 20 3c 62  ities, so the <b
26f0: 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61  >toponyms</b> Ta
2700: 62 6c 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79  ble relationally
2710: 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65 20   references the 
2720: 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65  <b>municipalitie
2730: 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61  s</b> Table (via
2740: 20 3c 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20   <b>PRIMARY</b> 
2750: 2f 20 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59  / <b>FOREIGN KEY
2760: 3c 2f 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69  </b> relationshi
2770: 70 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ps).</li>..<li>t
2780: 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20  he <b>roads</b> 
2790: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f  Spatial Table co
27a0: 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e  ntains about <b>
27b0: 33 38 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b  380,000</b> Link
27c0: 73 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66  s, and has the f
27d0: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73  ollowing columns
27e0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
27f0: 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69  id</b>: unique i
2800: 64 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63  dentifier of eac
2810: 68 20 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41  h Link (<b>PRIMA
2820: 52 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  RY KEY</b>).</li
2830: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66  >..<li><b>node_f
2840: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e  rom</b> and <b>n
2850: 6f 64 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65  ode_to</b>: Node
2860: 20 69 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54   identifiers...T
2870: 68 65 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72  he original Iter
2880: 2e 4e 65 74 20 64 61 74 61 73 65 74 20 61 64 6f  .Net dataset ado
2890: 70 74 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e  pts very long an
28a0: 20 63 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75   complex alphanu
28b0: 6d 65 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73  meric Node codes
28c0: 3b 20 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f  ; the integer No
28d0: 64 65 20 49 44 73 20 77 65 72 65 20 6f 62 74 61  de IDs were obta
28e0: 69 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20  ined by calling 
28f0: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
2900: 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20  tingNodes()</b> 
2910: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73  SQL function dis
2920: 63 75 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c  cussed in a foll
2930: 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f  owing section.</
2940: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74  li>..<li><b>id_t
2950: 6f 70 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61  oponym</b>: rela
2960: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
2970: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
2980: 6e 64 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20  nding road name 
2990: 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74  contained into t
29a0: 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f  he <b>toponyms</
29b0: 62 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52  b> Table (<b>FOR
29c0: 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f  EIGN KEY</b>).</
29d0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65  li>..<li><b>spee
29e0: 64 5f 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65  d_kmh</b>: the e
29f0: 73 74 69 6d 61 74 65 64 20 61 76 65 72 61 67 65  stimated average
2a00: 20 73 70 65 65 64 20 73 75 70 70 6f 72 74 65 64   speed supported
2a10: 20 62 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78   by the Link, ex
2a20: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d  pressed in <b>km
2a30: 2f 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  /h</b>.<br>..<u>
2a40: 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67  Note</u>: <b>neg
2a50: 61 74 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73  ative</b> speeds
2a60: 20 69 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64   intend a forbid
2a70: 64 65 6e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a  den Link.</li>..
2a80: 3c 6c 69 3e 3c 62 3e 6f 6e 65 77 61 79 5f 66 72  <li><b>oneway_fr
2a90: 6f 6d 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  omto</b> and <b>
2aa0: 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c 2f 62  oneway_tofrom</b
2ab0: 3e 3a 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73  >: boolean flags
2ac0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 61   intended to sta
2ad0: 74 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e  te if a Link can
2ae0: 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e   be traversed in
2af0: 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73   both directions
2b00: 20 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69   or just in a si
2b10: 6e 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28  ngle direction (
2b20: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e  <b>one-way</b>).
2b30: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
2b40: 3e 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63  >: all Links dec
2b50: 6c 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79  laring <b>oneway
2b60: 5f 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e  _fromto=0</b> an
2b70: 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72  d <b>oneway_tofr
2b80: 6f 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74  om=0</b> are int
2b90: 65 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61  ended to be alwa
2ba0: 79 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c  ys forbidden.</l
2bb0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c  i>..<li><b>cost<
2bc0: 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65  /b>: the <b>time
2bd0: 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69  </b> expressed i
2be0: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e  n <b>seconds</b>
2bf0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
2c00: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e  verse each Link.
2c10: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31  <br>..<u>Note #1
2c20: 3c 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77  </u> all costs w
2c30: 65 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61  ere calculated a
2c40: 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68  ccordingly to th
2c50: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d  e following form
2c60: 75 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28  ula: <b>cost = (
2c70: 28 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29  (ST_Length(geom)
2c80: 20 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65   / 1000.0) / spe
2c90: 65 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30  ed_kmh) * 3600.0
2ca0: 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  </b><br>..<u>Not
2cb0: 65 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e  e #2</u> all <b>
2cc0: 38 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73  86,400.0</b> cos
2cd0: 74 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61  t values (equiva
2ce0: 6c 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 61  lent to 1 day) a
2cf0: 70 70 72 6f 78 69 6d 61 74 65 20 61 6e 20 3c 62  pproximate an <b
2d00: 3e 69 6e 66 69 6e 69 74 69 76 65 20 63 6f 73 74  >infinitive cost
2d10: 3c 2f 62 3e 20 74 68 75 73 20 69 6e 74 65 6e 64  </b> thus intend
2d20: 69 6e 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64  ing a <b>forbidd
2d30: 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69  en</b> Link.</li
2d40: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f  >..<li><b>geom</
2d50: 62 3e 3a 20 61 20 3c 62 3e 33 44 20 4c 69 6e 65  b>: a <b>3D Line
2d60: 73 74 72 69 6e 67 3c 2f 62 3e 20 72 65 70 72 65  string</b> repre
2d70: 73 65 6e 74 69 6e 67 20 74 68 65 20 47 65 6f 6d  senting the Geom
2d80: 65 74 72 79 20 6f 66 20 65 61 63 68 20 4c 69 6e  etry of each Lin
2d90: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  k.<br>..<u>Note<
2da0: 2f 75 3e 3a 20 74 68 65 20 6f 72 69 67 69 6e 61  /u>: the origina
2db0: 6c 20 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62  l <b>Iter.Net</b
2dc0: 3e 20 64 61 74 61 73 65 74 20 69 73 20 6a 75 73  > dataset is jus
2dd0: 74 20 3c 62 3e 32 44 3c 2f 62 3e 3b 20 65 6c 65  t <b>2D</b>; ele
2de0: 76 61 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62  vations (<b>Z</b
2df0: 3e 20 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77  > coordinates) w
2e00: 65 72 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64  ere interpolated
2e10: 20 62 79 20 64 72 61 70 69 6e 67 20 74 68 65 20   by draping the 
2e20: 64 61 74 61 73 65 74 20 6f 76 65 72 20 61 6e 20  dataset over an 
2e30: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f  <a href="http://
2e40: 77 77 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74  www502.regione.t
2e50: 6f 73 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f  oscana.it/geosco
2e60: 70 69 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 61 6c 74  pio/download/alt
2e70: 69 6d 65 74 72 69 61 2f 64 61 5f 63 74 72 31 30  imetria/da_ctr10
2e80: 6b 2f 67 62 2f 44 54 4d 5f 4f 72 6f 67 72 61 66  k/gb/DTM_Orograf
2e90: 69 63 6f 2e 37 7a 22 3e 6f 72 6f 67 72 61 70 68  ico.7z">orograph
2ea0: 69 63 20 44 45 4d 20 28 31 30 6d 20 58 20 31 30  ic DEM (10m X 10
2eb0: 6d 20 63 65 6c 6c 73 29 3c 2f 61 3e 3c 2f 6c 69  m cells)</a></li
2ec0: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
2ed0: 6c 69 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73 5f  li>the <b>roads_
2ee0: 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 56  vw</b> Spatial V
2ef0: 69 65 77 20 69 73 20 6a 75 73 74 20 69 6e 74 65  iew is just inte
2f00: 6e 64 65 64 20 74 6f 20 66 75 6c 6c 79 20 72 65  nded to fully re
2f10: 73 6f 6c 76 65 20 61 6c 6c 20 72 65 6c 61 74 69  solve all relati
2f20: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20  onal references 
2f30: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73  between <b>roads
2f40: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d  </b>, <b>toponym
2f50: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e  s</b> and <b>mun
2f60: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c  icipalities</b>,
2f70: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66   thus allowing f
2f80: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75  or easier SQL qu
2f90: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eries.</li>..<li
2fa0: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
2fb0: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62  </b> Spatial Tab
2fc0: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75  le contains abou
2fd0: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f  t <b>1,480,000</
2fe0: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73  b> House Numbers
2ff0: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f  , and has the fo
3000: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a  llowing columns:
3010: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  ..<ul>..<li><b>i
3020: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64  d</b>: unique id
3030: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68  entifier of each
3040: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c   House Number (<
3050: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62  b>PRIMARY KEY</b
3060: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
3070: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65  >id_road</b>: re
3080: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e  lational referen
3090: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73  ce to the corres
30a0: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e  ponding Link con
30b0: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20  tained into the 
30c0: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62  <b>roads</b> Tab
30d0: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b  le (<b>FOREIGN K
30e0: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
30f0: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a  li><b>label</b>:
3100: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62   the textual lab
3110: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79  el fully qualify
3120: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e  ing each House N
3130: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  umber.</li>..<li
3140: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20  ><b>geom</b>: a 
3150: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20  <b>3D Point</b> 
3160: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3170: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63   Geometry of eac
3180: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c  h House Number.<
3190: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
31a0: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69  /u>: also in thi
31b0: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61  s case all eleva
31c0: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20  tions (<b>Z</b> 
31d0: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72  coordinates) wer
31e0: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62  e interpolated b
31f0: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61  y draping the da
3200: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73  taset over the s
3210: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65  ame DEM as above
3220: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
3230: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  2</u>: strictly 
3240: 73 70 65 63 6b 69 6e 67 20 74 68 65 20 48 6f 75  specking the Hou
3250: 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e  se Numbers are n
3260: 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 52  ot part of the R
3270: 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65  oad Network; the
3280: 79 20 61 72 65 20 69 6e 63 6c 75 64 65 20 69 6e  y are include in
3290: 74 6f 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65  to the sample/te
32a0: 73 74 20 64 61 74 61 62 61 73 65 20 6a 75 73 74  st database just
32b0: 20 62 65 63 61 75 73 65 20 74 68 65 79 27 6c 6c   because they'll
32c0: 20 62 65 20 75 73 65 66 75 6c 20 69 6e 20 73 6f   be useful in so
32d0: 6d 65 20 6f 66 20 74 68 65 20 65 78 61 6d 70 6c  me of the exampl
32e0: 65 73 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20  es explained in 
32f0: 62 65 6c 6f 77 20 70 61 72 61 67 72 61 70 68 73  below paragraphs
3300: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
3310: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68  i>..<li>the <b>h
3320: 6f 75 73 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53  ouse_nr_vw</b> S
3330: 70 61 74 69 61 6c 20 56 69 65 77 20 69 73 20 6a  patial View is j
3340: 75 73 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  ust intended to 
3350: 66 75 6c 6c 79 20 72 65 73 6f 6c 76 65 20 61 6c  fully resolve al
3360: 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66  l relational ref
3370: 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20  erences between 
3380: 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c  <b>house_nr</b>,
3390: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c   <b>roads</b>, <
33a0: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61  b>toponyms</b> a
33b0: 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69  nd <b>municipali
33c0: 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61  ties</b>, thus a
33d0: 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69  llowing for easi
33e0: 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c  er SQL queries.<
33f0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
3400: 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61  >.. <hr>..<h1><a
3410: 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33   name="create">3
3420: 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 72 74   - Creating Virt
3430: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
3440: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20  s</a></h1>..All 
3450: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71  VirtualRouting q
3460: 75 65 72 69 65 73 20 61 72 65 20 62 61 73 65 64  ueries are based
3470: 20 6f 6e 20 73 6f 6d 65 20 3c 62 3e 56 69 72 74   on some <b>Virt
3480: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
3490: 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 75 72  </b>, and in tur
34a0: 6e 20 61 6e 79 20 56 69 72 74 75 61 6c 52 6f 75  n any VirtualRou
34b0: 74 69 6e 67 20 54 61 62 6c 65 20 69 73 20 62 61  ting Table is ba
34c0: 73 65 64 20 6f 6e 20 73 6f 6d 65 20 61 70 70 72  sed on some appr
34d0: 6f 70 72 69 61 74 65 20 3c 62 3e 42 69 6e 61 72  opriate <b>Binar
34e0: 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f 62 3e  y Data Table</b>
34f0: 20 73 75 70 70 6f 72 74 69 6e 67 20 61 6e 20 65   supporting an e
3500: 66 66 69 63 69 65 6e 74 20 72 65 70 72 65 73 65  fficient represe
3510: 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 75  ntation of the u
3520: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72  nderlying Networ
3530: 6b 2e 3c 62 72 3e 0d 0a 53 6f 20 77 65 27 6c 6c  k.<br>..So we'll
3540: 20 73 74 61 72 74 20 66 69 72 73 74 20 62 79 20   start first by 
3550: 63 72 65 61 74 69 6e 67 20 73 75 63 68 20 74 61  creating such ta
3560: 62 6c 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54  bles.<br><br>..T
3570: 68 65 20 6f 6c 64 20 61 6e 64 20 6e 6f 77 20 73  he old and now s
3580: 75 70 65 72 73 65 64 65 64 20 3c 62 3e 56 69 72  uperseded <b>Vir
3590: 74 75 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20  tualNetwork</b> 
35a0: 72 65 71 75 69 72 65 64 20 75 73 69 6e 67 20 61  required using a
35b0: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f   separate CLI to
35c0: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74  ol (<b>spatialit
35d0: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69  e_network</b>) i
35e0: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65  n order to prope
35f0: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61  rly initialize a
3600: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20   VirtualNetwork 
3610: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f  Table and its co
3620: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44  mpanion Binary D
3630: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65  ata Table;..alte
3640: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61  rnatively <b>spa
3650: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
3660: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47  supported a <b>G
3670: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f  UI wizard</b> fo
3680: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e  r the same task.
3690: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c   Since version <
36a0: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 20 6e 6f 77 20  b>5.0.0</b> now 
36b0: 53 70 61 74 69 61 4c 69 74 65 20 64 69 72 65 63  SpatiaLite direc
36c0: 74 6c 79 20 73 75 70 70 6f 72 74 73 20 61 20 73  tly supports a s
36d0: 70 65 63 69 66 69 63 20 3c 62 3e 43 72 65 61 74  pecific <b>Creat
36e0: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53  eRouting()</b> S
36f0: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76  QL function...<v
3700: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
3710: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
3720: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62  byfoot_data', 'b
3730: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76  yfoot', 'roads_v
3740: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c  w', 'node_from',
3750: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d   'nodeto', 'geom
3760: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c  ', NULL);....SEL
3770: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
3780: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3790: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
37a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
37b0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20  -------..ToNode 
37c0: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20  Column "nodeto" 
37d0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69  is not defined i
37e0: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c  n the Input Tabl
37f0: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  e..</verbatim>..
3800: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69  <u>Note</u>: thi
3810: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62  s first query (b
3820: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 72  ased on the <i>r
3830: 65 64 75 63 65 64 20 66 6f 72 6d 3c 2f 69 3e 20  educed form</i> 
3840: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  of <b>CreateRout
3850: 69 6e 67 3c 2f 62 3e 29 20 63 6f 6e 74 61 69 6e  ing</b>) contain
3860: 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20 65 72  s an intended er
3870: 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20 66 61  ror causing a fa
3880: 69 6c 75 72 65 20 61 6e 64 20 74 68 75 73 20 72  ilure and thus r
3890: 61 69 73 69 6e 67 20 61 6e 20 65 78 63 65 70 74  aising an except
38a0: 69 6f 6e 2e 3c 62 72 3e 0d 0a 43 72 65 61 74 65  ion.<br>..Create
38b0: 52 6f 75 74 69 6e 67 28 29 20 63 61 6e 20 66 61  Routing() can fa
38c0: 69 6c 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20  il for multiple 
38d0: 72 65 61 73 6f 6e 73 2c 20 61 6e 64 20 62 79 20  reasons, and by 
38e0: 63 61 6c 6c 69 6e 67 20 3c 62 3e 43 72 65 61 74  calling <b>Creat
38f0: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74  eRouting_GetLast
3900: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 79 6f 75 20  Error()</b> you 
3910: 63 61 6e 20 65 61 73 69 6c 79 20 69 64 65 6e 74  can easily ident
3920: 69 66 79 20 74 68 65 20 65 78 61 63 74 20 72 65  ify the exact re
3930: 61 73 6f 6e 20 77 68 79 20 74 68 65 20 6d 6f 73  ason why the mos
3940: 74 20 72 65 63 65 6e 74 20 63 61 6c 6c 20 74 6f  t recent call to
3950: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3960: 20 66 61 69 6c 65 64 2e 3c 62 72 3e 0d 0a 3c 76   failed.<br>..<v
3970: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
3980: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
3990: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62  byfoot_data', 'b
39a0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76  yfoot', 'roads_v
39b0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c  w', 'node_from',
39c0: 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65 6f   'node_to', 'geo
39d0: 6d 27 2c 20 4e 55 4c 4c 2c 20 27 74 6f 70 6f 6e  m', NULL, 'topon
39e0: 79 6d 27 2c 20 31 2c 20 31 29 3b 0d 0a 2d 2d 2d  ym', 1, 1);..---
39f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d  ----------..1...
3a00: 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f  .SELECT CreateRo
3a10: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72  uting_GetLastErr
3a20: 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  or();..---------
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c  -----------..NUL
3a50: 4c 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  L..</verbatim>..
3a60: 54 68 69 73 20 73 65 63 6f 6e 64 20 61 74 74 65  This second atte
3a70: 6d 70 74 20 69 73 20 66 69 6e 61 6c 6c 79 20 73  mpt is finally s
3a80: 75 63 63 65 73 73 66 75 6c 2c 20 61 6e 64 20 6e  uccessful, and n
3a90: 6f 77 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  ow CreateRouting
3aa0: 28 29 20 72 65 74 75 72 6e 73 20 3c 62 3e 31 3c  () returns <b>1<
3ab0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  /b> (<i>aka</i> 
3ac0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 6e  <b>TRUE</b>), an
3ad0: 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73  d as you can eas
3ae0: 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 68  ily check now th
3af0: 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61  e Database conta
3b00: 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62 6c  ins two new Tabl
3b10: 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62  es: <b>byfoot</b
3b20: 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 5f  > and <b>byfoot_
3b30: 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c  data</b>.<br>..<
3b40: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 65  u>Note</u>: afte
3b50: 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 63  r a successful c
3b60: 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75  all to CreateRou
3b70: 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 65  ting() <b>Create
3b80: 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45  Routing_GetLastE
3b90: 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c 20  rror()</b> will 
3ba0: 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c 62  always return <b
3bb0: 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  >NULL</b>.<br><b
3bc0: 72 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74 20  r>..You've just 
3bd0: 75 73 65 64 20 6f 6e 65 20 6f 66 20 74 68 65 20  used one of the 
3be0: 3c 69 3e 70 61 72 74 69 61 6c 6c 79 20 72 65 64  <i>partially red
3bf0: 75 63 65 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66  uced form</i> of
3c00: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3c10: 3b 20 6c 65 74 27 73 20 73 65 65 20 69 6e 20 6d  ; let's see in m
3c20: 6f 72 65 20 64 65 70 74 68 20 61 6c 6c 20 74 68  ore depth all th
3c30: 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20  e arguments and 
3c40: 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a  their meaning:..
3c50: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66  <ol>..<li><i>byf
3c60: 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a 20 74 68  oot_data</i>: th
3c70: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 4e 65  e name of the Ne
3c80: 74 77 6f 72 6b 20 42 69 6e 61 72 79 20 44 61 74  twork Binary Dat
3c90: 61 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72  a Table to be cr
3ca0: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eated.</li>..<li
3cb0: 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69 3e 3a 20  ><i>byfoot</i>: 
3cc0: 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
3cd0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
3ce0: 61 62 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74  able to be creat
3cf0: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  ed.</li>..<li><i
3d00: 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 74  >roads_vw</i>: t
3d10: 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c  he name of the <
3d20: 62 3e 53 70 61 74 69 61 6c 20 54 61 62 6c 65 3c  b>Spatial Table<
3d30: 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61 74 69 61  /b> or <b>Spatia
3d40: 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65 70 72 65  l View</b> repre
3d50: 73 65 6e 74 69 6e 67 20 74 68 65 20 75 6e 64 65  senting the unde
3d60: 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c  rlying Network.<
3d70: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
3d80: 3a 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 77  : in this case w
3d90: 65 20 61 63 74 75 61 6c 6c 79 20 75 73 65 64 20  e actually used 
3da0: 61 20 53 70 61 74 69 61 6c 20 56 69 65 77 2e 3c  a Spatial View.<
3db0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
3dc0: 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65  e_from</i>: name
3dd0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28   of the column (
3de0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
3df0: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65  le or View) expe
3e00: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20  cted to contain 
3e10: 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c 2f 62 3e  <b>node-from</b>
3e20: 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c   values.</li>..<
3e30: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69  li><i>node_to</i
3e40: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
3e50: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62  olumn (in the ab
3e60: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65  ove Table or Vie
3e70: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63  w) expected to c
3e80: 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 74  ontain <b>node-t
3e90: 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c  o</b> values.</l
3ea0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c  i>..<li><i>geom<
3eb0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
3ec0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
3ed0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
3ee0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
3ef0: 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c 69 6e 65   contain <b>Line
3f00: 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 62 72 3e  strings</b>.<br>
3f10: 0d 0a 57 65 20 63 6f 75 6c 64 20 68 61 76 65 20  ..We could have 
3f20: 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 70 61 73  legitimately pas
3f30: 73 65 64 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  sed a <b>NULL</b
3f40: 3e 20 76 61 6c 75 65 20 66 6f 72 20 74 68 69 73  > value for this
3f50: 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 74 68 65   argument in the
3f60: 20 63 61 73 65 20 6f 66 20 61 20 3c 62 3e 4c 6f   case of a <b>Lo
3f70: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  gical Network</b
3f80: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  >.</li>..<li><i>
3f90: 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  NULL</i>: name o
3fa0: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e  f the column (in
3fb0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
3fc0: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74   or View) expect
3fd0: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62  ed to contain <b
3fe0: 3e 63 6f 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73  >cost</b> values
3ff0: 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63  .<br>..In this c
4000: 61 73 65 20 77 65 20 68 61 76 65 20 70 61 73 73  ase we have pass
4010: 65 64 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e  ed a <b>NULL</b>
4020: 20 76 61 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73   value, and cons
4030: 65 71 75 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e  equently the <b>
4040: 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68  cost</b> of each
4050: 20 4c 69 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73   Link will be as
4060: 73 75 6d 65 64 20 74 6f 20 62 65 20 72 65 70 72  sumed to be repr
4070: 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 20 3c  esented by the <
4080: 62 3e 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67  b>geometric leng
4090: 74 68 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f  th</b> of the co
40a0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65  rresponding Line
40b0: 73 74 72 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e  string.<br>..<u>
40c0: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20  Note #1</u>: in 
40d0: 74 68 65 20 63 61 73 65 20 6f 66 20 4e 65 74 77  the case of Netw
40e0: 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 3c 62  orks based on <b
40f0: 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20  >longitudes</b> 
4100: 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64 65 73  and <b>latitudes
4110: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
4120: 20 3c 62 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f   <b>geographic</
4130: 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53 79 73  b> Reference Sys
4140: 74 65 6d 73 29 20 74 68 65 20 67 65 6f 6d 65 74  tems) the geomet
4150: 72 79 20 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c  ry length of all
4160: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c   Linestrings wil
4170: 6c 20 62 65 20 70 72 65 63 69 73 65 6c 79 20 3c  l be precisely <
4180: 62 3e 6d 65 61 73 75 72 65 64 20 6f 6e 20 74 68  b>measured on th
4190: 65 20 65 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20  e ellipsoid</b> 
41a0: 62 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20  by applying the 
41b0: 6d 6f 73 74 20 61 63 63 75 72 61 74 65 20 3c 62  most accurate <b
41c0: 3e 67 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c  >geodesic formul
41d0: 61 65 3c 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20  ae</b> and will 
41e0: 62 65 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  be consequently 
41f0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
4200: 6d 65 74 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61  meters</b>. In a
4210: 6e 79 20 6f 74 68 65 72 20 63 61 73 65 20 28 3c  ny other case (<
4220: 62 3e 70 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20  b>projected</b> 
4230: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
4240: 73 29 20 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20  s) lengths will 
4250: 62 65 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  be expressed in 
4260: 74 68 65 20 3c 62 3e 6d 65 61 73 75 72 65 20 75  the <b>measure u
4270: 6e 69 74 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20  nit</b> defined 
4280: 62 79 20 74 68 65 20 52 65 66 65 72 65 6e 63 65  by the Reference
4290: 20 53 79 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62   System (e.g. <b
42a0: 3e 6d 65 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20  >meters</b> for 
42b0: 3c 62 3e 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65  <b>UTM</b> proje
42c0: 63 74 69 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65  ctions and <b>fe
42d0: 65 74 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41  et</b> for <b>NA
42e0: 44 2d 66 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74  D-ft</b> project
42f0: 69 6f 6e 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  ions).<br>..<u>N
4300: 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20  ote #2</u>: the 
4310: 3c 62 3e 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f  <b>geom-column</
4320: 62 3e 20 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63  b> and <b>cost-c
4330: 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65  olumn</b> argume
4340: 6e 74 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c  nts are never al
4350: 6c 6f 77 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e  lowed to be <b>N
4360: 55 4c 4c 3c 2f 62 3e 20 61 74 20 74 68 65 20 73  ULL</b> at the s
4370: 61 6d 65 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a  ame time.</li>..
4380: 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f  <li><i>toponym</
4390: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
43a0: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61  column (in the a
43b0: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69  bove Table or Vi
43c0: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20  ew) expected to 
43d0: 63 6f 6e 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d  contain <b>road-
43e0: 6e 61 6d 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e  name</b> values.
43f0: 3c 62 72 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62  <br>..It could b
4400: 65 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73  e legitimately s
4410: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  et to <b>NULL</b
4420: 3e 20 69 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61  > if all Links a
4430: 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c  re anonymous.</l
4440: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
4450: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67  : a boolean flag
4460: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65   intended to spe
4470: 63 69 66 79 20 69 66 20 74 68 65 20 4e 65 74 77  cify if the Netw
4480: 6f 72 6b 20 6d 75 73 74 20 73 75 70 70 6f 72 74  ork must support
4490: 20 74 68 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72   the <b>A* algor
44a0: 69 74 68 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20  ithm</b> or not 
44b0: 28 73 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c  (set to <b>TRUE<
44c0: 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e  /b> by default).
44d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c  </li>..<li><i>1<
44e0: 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66  /i>: a boolean f
44f0: 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  lag intended to 
4500: 73 70 65 63 69 66 79 20 69 66 20 61 6c 6c 20 4e  specify if all N
4510: 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61  etwork's Links a
4520: 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65  re assumed to be
4530: 20 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61   <b>bidirectiona
4540: 6c 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73  l</b> or not (as
4550: 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 54  sumed to be <b>T
4560: 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 75  RUE</b> by defau
4570: 6c 74 29 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c  lt).</li> ..</ol
4580: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
4590: 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c  r="#c0ffc0" cell
45a0: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
45b0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
45c0: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e  ><td>..<h3>Techn
45d0: 69 63 61 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a  ical note</h3>..
45e0: 54 68 65 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63  The internal enc
45f0: 6f 64 69 6e 67 20 61 64 6f 70 74 65 64 20 62 79  oding adopted by
4600: 20 74 68 65 20 3c 62 3e 42 69 6e 61 72 79 20 44   the <b>Binary D
4610: 61 74 61 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73  ata Table</b> is
4620: 20 75 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 69   unchanged and i
4630: 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 62  s the same for b
4640: 6f 74 68 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65  oth <b>VirtualNe
4650: 74 77 6f 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  twok</b> and <b>
4660: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
4670: 62 3e 2e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e  b>.<br>..You can
4680: 20 73 61 66 65 6c 79 20 62 61 73 65 20 61 20 3c   safely base a <
4690: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
46a0: 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e   Table</b> on an
46b0: 79 20 65 78 69 73 74 69 6e 67 20 42 69 6e 61 72  y existing Binar
46c0: 79 20 44 61 74 61 0d 0a 54 61 62 6c 65 20 63 72  y Data..Table cr
46d0: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  eated by the <b>
46e0: 73 70 61 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f  spatialite-netwo
46f0: 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c  rk</b> CLI tool,
4700: 20 65 78 61 63 74 6c 79 20 61 73 20 79 6f 75 20   exactly as you 
4710: 63 61 6e 20 62 61 73 65 20 61 20 3c 62 3e 56 69  can base a <b>Vi
4720: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62  rtualNetwork Tab
4730: 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69  le</b> on any Bi
4740: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20  nary Data Table 
4750: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c  created by the <
4760: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  b>CreateRouting(
4770: 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
4780: 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  on...<verbatim>.
4790: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
47a0: 54 41 42 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f  TABLE test_netwo
47b0: 72 6b 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c  rk USING Virtual
47c0: 4e 65 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61  Network('some_da
47d0: 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43  ta_table');....C
47e0: 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41  REATE VIRTUAL TA
47f0: 42 4c 45 20 74 65 73 74 5f 72 6f 75 74 69 6e 67  BLE test_routing
4800: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f   USING VirtualRo
4810: 75 74 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61  uting('some_data
4820: 5f 74 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72  _table');..</ver
4830: 62 61 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72  batim>..In order
4840: 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65   to manually cre
4850: 61 74 65 20 79 6f 75 72 20 56 69 72 74 75 61 6c  ate your Virtual
4860: 20 54 61 62 6c 65 73 20 79 6f 75 20 6a 75 73 74   Tables you just
4870: 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65   have to execute
4880: 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20   an appropriate 
4890: 3c 62 3e 43 52 45 41 54 45 20 56 49 52 54 55 41  <b>CREATE VIRTUA
48a0: 4c 20 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e  L TABLE ... USIN
48b0: 47 20 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e  G Virtual... (..
48c0: 2e 29 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74  .)</b> statement
48d0: 2e 0d 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f  ...<h4>Warning</
48e0: 68 34 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65  h4>..In the case
48f0: 20 6f 66 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e   of <b>Spatial N
4900: 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65  etworks</b> base
4910: 64 20 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67  d on any <b>geog
4920: 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72  raphic</b> Refer
4930: 65 6e 63 65 20 53 79 73 74 65 6d 20 28 75 73 69  ence System (usi
4940: 6e 67 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73  ng <b>longitudes
4950: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69  </b> and <b>lati
4960: 74 75 64 65 73 3c 2f 62 3e 29 20 74 68 65 72 65  tudes</b>) there
4970: 20 69 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74   is an important
4980: 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77   difference betw
4990: 65 65 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20  een Binary Data 
49a0: 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62  Tables created b
49b0: 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c  y the <b>spatial
49c0: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ite_network</b> 
49d0: 47 55 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69  GUI tool and  Bi
49e0: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 73  nary Data Tables
49f0: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20   created by the 
4a00: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
4a10: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74  ()</b> SQL funct
4a20: 69 6f 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74  ion when <b>cost
4a30: 73 3c 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63  s</b> are implic
4a40: 69 74 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68  itly based on th
4a50: 65 20 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67  e geometric leng
4a60: 74 68 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73  th of the Link's
4a70: 20 4c 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75   Linestring:..<u
4a80: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73  l>..<li>the <b>s
4a90: 70 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72  patialite_networ
4aa0: 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28  k</b> CLI tool (
4ab0: 61 6e 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77  and the <b>GUI w
4ac0: 69 7a 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d  izard</b> implem
4ad0: 65 6e 74 65 64 20 62 79 20 70 72 65 76 69 6f 75  ented by previou
4ae0: 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62  s versions of <b
4af0: 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c  >spatialite_gui<
4b00: 2f 62 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65  /b>) compute the
4b10: 20 4c 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65   Linestring's le
4b20: 6e 67 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e  ngth as an <b>an
4b30: 67 75 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f  gular distance</
4b40: 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  b> expressed in 
4b50: 3c 62 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c  <b>degrees</b>.<
4b60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
4b70: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29  >CreateRouting()
4b80: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
4b90: 6e 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c  n computes the L
4ba0: 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67  inestring's leng
4bb0: 74 68 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61  th as a <b>linea
4bc0: 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65  r distance</b> e
4bd0: 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d  xpressed in <b>m
4be0: 65 74 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70  etres</b> by app
4bf0: 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61  lying the most a
4c00: 63 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65  ccurate <b>geode
4c10: 73 69 63 20 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e  sic formulae</b>
4c20: 20 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69   on the ellipsoi
4c30: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  d.</li>..</ul>..
4c40: 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
4c50: 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72  e><br><br>..<ver
4c60: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43  batim>..SELECT C
4c70: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79  reateRouting('by
4c80: 63 61 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61  car_data', 'byca
4c90: 72 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20  r', 'roads_vw', 
4ca0: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f  'node_from', 'no
4cb0: 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20  de_to', 'geom', 
4cc0: 27 63 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d  'cost', 'toponym
4cd0: 27 2c 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79  ', 1, 1, 'oneway
4ce0: 5f 66 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61  _fromto', 'onewa
4cf0: 79 5f 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a  y_tofrom', 0);..
4d00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4d10: 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61  ----..1..</verba
4d20: 74 69 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c  tim>..After call
4d30: 69 6e 67 20 79 65 74 20 61 6e 6f 74 68 65 72 20  ing yet another 
4d40: 74 69 6d 65 20 3c 62 3e 43 72 65 61 74 65 52 6f  time <b>CreateRo
4d50: 75 74 69 6e 67 28 29 3c 2f 62 3e 20 6e 6f 77 20  uting()</b> now 
4d60: 74 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e  the Database con
4d70: 74 61 69 6e 73 20 74 77 6f 20 66 75 72 74 68 65  tains two furthe
4d80: 72 20 54 61 62 6c 65 73 3a 20 3c 62 3e 62 79 63  r Tables: <b>byc
4d90: 61 72 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79  ar</b> and <b>by
4da0: 63 61 72 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72  car_data</b>.<br
4db0: 3e 0d 0a 54 68 69 73 20 74 69 6d 65 20 79 6f 75  >..This time you
4dc0: 27 76 65 20 75 73 65 64 20 74 68 65 20 3c 69 3e  've used the <i>
4dd0: 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 3c 2f 69  complete form</i
4de0: 3e 20 6f 66 20 43 72 65 61 74 65 52 6f 75 74 69  > of CreateRouti
4df0: 6e 67 28 29 3b 20 6c 65 74 27 73 20 73 65 65 20  ng(); let's see 
4e00: 69 6e 20 6d 6f 72 65 20 64 65 70 74 68 20 61 6c  in more depth al
4e10: 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20  l the arguments 
4e20: 61 6e 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e  and their meanin
4e30: 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69  g:..<ol>..<li><i
4e40: 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 69 3e 3a  >bycar_data</i>:
4e50: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
4e60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63  /li>..<li><i>byc
4e70: 61 72 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  ar</i>: same as 
4e80: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
4e90: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e  ><i>roads_vw</i>
4ea0: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
4eb0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f  </li>..<li><i>no
4ec0: 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 73 61 6d  de_from</i>: sam
4ed0: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
4ee0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f  ..<li><i>node_to
4ef0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
4f00: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
4f10: 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65  i>geom</i>: same
4f20: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
4f30: 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74 3c 2f 69 3e  .<li><i>cost</i>
4f40: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
4f50: 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 77  ..In this case w
4f60: 65 20 68 61 76 65 20 72 65 66 65 72 65 6e 63 65  e have reference
4f70: 64 20 61 20 63 6f 6c 75 6d 6e 20 70 72 65 6c 6f  d a column prelo
4f80: 61 64 65 64 20 77 69 74 68 20 76 61 6c 75 65 73  aded with values
4f90: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74   corresponding t
4fa0: 6f 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62  o the <b>time</b
4fb0: 3e 20 6d 65 61 73 75 72 65 64 20 69 6e 20 3c 62  > measured in <b
4fc0: 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 71  >seconds</b> req
4fd0: 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72 73  uired to travers
4fe0: 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 2f 6c 69  e each Link.</li
4ff0: 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e  > ..<li><i>topon
5000: 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  ym</i>: same as 
5010: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
5020: 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20  ><i>1</i>: same 
5030: 61 73 20 61 62 6f 76 65 20 28 3c 69 3e 41 2a 20  as above (<i>A* 
5040: 65 6e 61 62 6c 65 64 3c 2f 69 3e 29 2e 3c 2f 6c  enabled</i>).</l
5050: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
5060: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20  : same as above 
5070: 28 3c 69 3e 62 69 64 69 72 65 63 74 69 6f 6e 61  (<i>bidirectiona
5080: 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29 2e 3c 2f 6c  l Links</i>).</l
5090: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61  i>..<li><i>onewa
50a0: 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e 3a 20 6e 61  y_fromto</i>: na
50b0: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e  me of the column
50c0: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54   (in the above T
50d0: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78  able or View) ex
50e0: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69  pected to contai
50f0: 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20  n boolean flags 
5100: 73 70 65 63 69 66 79 69 6e 67 20 69 66 20 65 61  specifying if ea
5110: 63 68 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74  ch Link can be t
5120: 72 61 76 65 72 73 65 64 20 69 6e 20 74 68 65 20  raversed in the 
5130: 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 64  <b>from-to</b> d
5140: 69 72 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e  irection or not.
5150: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e  </li>..<li><i>on
5160: 65 77 61 79 5f 74 6f 66 72 6f 6d 3c 2f 69 3e 3a  eway_tofrom</i>:
5170: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
5180: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
5190: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
51a0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
51b0: 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c 61  tain boolean fla
51c0: 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69 66  gs specifying if
51d0: 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20 62   each Link can b
51e0: 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 74  e traversed in t
51f0: 68 65 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62  he <b>to-from</b
5200: 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 6e  > direction or n
5210: 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  ot.<br>..<u>Note
5220: 20 23 31 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62   #1</u>: both <b
5230: 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e 64  >from-to</b> and
5240: 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20   <b>to-from</b> 
5250: 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 20 63 61 6e  column names can
5260: 20 62 65 20 6c 65 67 69 74 69 6d 61 74 65 6c 79   be legitimately
5270: 20 73 65 74 20 61 73 20 3c 62 3e 4e 55 4c 4c 3c   set as <b>NULL<
5280: 2f 62 3e 20 69 66 20 6e 6f 20 3c 62 3e 6f 6e 65  /b> if no <b>one
5290: 2d 77 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63  -way</b> restric
52a0: 74 69 6f 6e 73 20 61 70 70 6c 79 20 74 6f 20 74  tions apply to t
52b0: 68 65 20 63 75 72 72 65 6e 74 20 4e 65 74 77 6f  he current Netwo
52c0: 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  rk.<br>..<u>Note
52d0: 20 23 32 3c 2f 75 3e 3a 20 4e 65 74 77 6f 72 6b   #2</u>: Network
52e0: 73 20 6f 66 20 74 68 65 20 3c 62 3e 75 6e 69 64  s of the <b>unid
52f0: 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 74  irectional</b> t
5300: 79 70 65 20 61 72 65 20 6e 65 76 65 72 20 65 6e  ype are never en
5310: 61 62 6c 65 64 20 74 6f 20 72 65 66 65 72 65 6e  abled to referen
5320: 63 65 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  ce <b>one-way</b
5330: 3e 20 63 6f 6c 75 6d 6e 73 20 28 74 68 65 79 20  > columns (they 
5340: 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65  should always be
5350: 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c   set to <b>NULL<
5360: 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /b>).</li>..<li>
5370: 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c  <i>0</i>: a bool
5380: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 69  ean flag intendi
5390: 6e 67 20 61 6e 20 3c 62 3e 6f 76 65 72 77 72 69  ng an <b>overwri
53a0: 74 65 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e  te authorization
53b0: 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  </b>...<ul>..<li
53c0: 3e 49 66 20 73 65 74 20 74 6f 20 3c 62 3e 46 41  >If set to <b>FA
53d0: 4c 53 45 3c 2f 62 3e 20 61 6e 20 65 78 63 65 70  LSE</b> an excep
53e0: 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69  tion will be rai
53f0: 73 65 64 20 69 66 20 74 68 65 20 3c 62 3e 42 69  sed if the <b>Bi
5400: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c  nary Data Table<
5410: 2f 62 3e 20 61 6e 64 2f 6f 72 20 74 68 65 20 3c  /b> and/or the <
5420: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
5430: 20 54 61 62 6c 65 3c 2f 62 3e 20 64 6f 20 61 6c   Table</b> do al
5440: 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c 69  ready exist.</li
5450: 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f  >..<li>If set to
5460: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76 65   <b>TRUE</b> eve
5470: 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e 67  ntually existing
5480: 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65 20   Tables will be 
5490: 70 72 65 76 65 6e 74 69 76 65 6c 79 20 64 72 6f  preventively dro
54a0: 70 70 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79  pped immediately
54b0: 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67   before starting
54c0: 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f   the execution o
54d0: 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  f <b>CreateRouti
54e0: 6e 67 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  ng()</b>.</li>..
54f0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  </ul></li>..</ol
5500: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
5510: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30  bgcolor="#ffffc0
5520: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
5530: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
5540: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
5550: 3e 48 69 67 68 6c 69 67 68 74 3a 20 77 68 65 72  >Highlight: wher
5560: 65 20 79 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a  e you are</h3>..
5570: 59 6f 75 27 76 65 20 6a 75 73 74 20 63 72 65 61  You've just crea
5580: 74 65 64 20 74 77 6f 20 56 69 72 74 75 61 6c 52  ted two VirtualR
5590: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 62 61  outing Tables ba
55a0: 73 65 64 20 6f 6e 20 64 69 66 66 65 72 65 6e 74  sed on different
55b0: 20 73 65 74 74 69 6e 67 73 3b 20 62 6f 74 68 20   settings; both 
55c0: 74 68 65 6d 20 61 72 65 20 70 65 72 66 65 63 74  them are perfect
55d0: 6c 79 20 76 61 6c 69 64 20 61 6e 64 20 72 65 61  ly valid and rea
55e0: 73 6f 6e 61 62 6c 65 2c 20 62 75 74 20 74 68 65  sonable, but the
55f0: 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 66  y are intended f
5600: 6f 72 20 64 69 66 66 65 72 65 6e 74 20 70 75 72  or different pur
5610: 70 6f 73 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  poses:..<ul>..<l
5620: 69 3e 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20  i><b>byfoot</b> 
5630: 69 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20  is specifically 
5640: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e  intended for <b>
5650: 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a  pedestrians</b>:
5660: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20  ..<ul>..<li>all 
5670: 4c 69 6e 6b 73 20 61 72 65 20 61 6c 77 61 79 73  Links are always
5680: 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61   assumed to be a
5690: 63 63 65 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e  ccessible in <b>
56a0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 3c  both directions<
56b0: 2f 62 3e 3b 20 74 68 65 72 65 20 61 72 65 20 6e  /b>; there are n
56c0: 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62  o <b>one-ways</b
56d0: 3e 20 61 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62  > and no <b>forb
56e0: 69 64 64 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e  idden</b> Links.
56f0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
5700: 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61  b>cost</b> of ea
5710: 63 68 20 4c 69 6e 6b 20 69 73 20 64 69 72 65 63  ch Link is direc
5720: 74 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64 20  tly represented 
5730: 62 79 20 69 74 73 20 67 65 6f 6d 65 74 72 69 63  by its geometric
5740: 20 3c 62 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20   <b>length</b>, 
5750: 77 68 69 63 68 20 69 73 20 63 6f 6e 73 69 73 74  which is consist
5760: 65 6e 74 20 77 69 74 68 20 74 68 65 20 61 73 73  ent with the ass
5770: 75 6d 70 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c  umption of an al
5780: 6d 6f 73 74 20 63 6f 6e 73 74 61 6e 74 20 73 70  most constant sp
5790: 65 65 64 20 73 75 62 73 74 61 6e 74 69 61 6c 6c  eed substantiall
57a0: 79 20 69 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64  y immune from ad
57b0: 76 65 72 73 65 20 72 6f 61 64 20 63 6f 6e 64 69  verse road condi
57c0: 74 69 6f 6e 73 20 61 6e 64 20 74 72 61 66 66 69  tions and traffi
57d0: 63 20 63 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c  c congestion.</l
57e0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
57f0: 3c 6c 69 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e  <li><b>bycar</b>
5800: 20 69 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79   is specifically
5810: 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62   intended for <b
5820: 3e 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 3c  >motor vehicles<
5830: 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /b>:..<ul>..<li>
5840: 6d 61 6e 79 20 4c 69 6e 6b 73 20 61 72 65 20 65  many Links are e
5850: 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 63  xpected to be ac
5860: 63 65 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62  cessible in <b>b
5870: 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f  oth directions</
5880: 62 3e 20 62 75 74 20 6f 74 68 65 72 73 20 63 6f  b> but others co
5890: 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 73 75  uld easily be su
58a0: 62 6a 65 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d  bject to <b>one-
58b0: 77 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74  way</b> restrict
58c0: 69 6f 6e 73 20 6f 72 20 65 76 65 6e 20 62 65 20  ions or even be 
58d0: 63 6f 6d 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f  completely <b>fo
58e0: 72 62 69 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69  rbidden</b>.</li
58f0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20  >..<li>the cost 
5900: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20  of each Link is 
5910: 65 78 70 72 65 73 73 65 64 20 61 73 20 61 6e 20  expressed as an 
5920: 65 73 74 69 6d 61 74 65 64 20 3c 62 3e 74 72 61  estimated <b>tra
5930: 76 65 6c 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65  vel time</b>, be
5940: 63 61 75 73 65 20 74 68 65 20 65 78 70 65 63 74  cause the expect
5950: 65 64 20 73 70 65 65 64 73 20 63 61 6e 20 67 72  ed speeds can gr
5960: 65 61 74 6c 79 20 76 61 72 79 20 61 63 63 6f 72  eatly vary accor
5970: 64 69 6e 67 6c 79 20 74 6f 20 73 70 65 63 69 66  dingly to specif
5980: 69 63 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f  ic road conditio
5990: 6e 73 2c 20 74 72 61 66 66 69 63 20 63 6f 6e 67  ns, traffic cong
59a0: 65 73 74 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c  estion and legal
59b0: 20 72 65 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c   regulations.</l
59c0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
59d0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e  </ul>..<br>..<u>
59e0: 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20  Conclusion</u>: 
59f0: 61 20 73 69 6e 67 6c 65 20 56 69 72 74 75 61 6c  a single Virtual
5a00: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 63 61  Routing Table ca
5a10: 6e 27 74 20 62 65 20 61 62 6c 65 20 74 6f 20 61  n't be able to a
5a20: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72  dequately suppor
5a30: 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 70  t support the sp
5a40: 65 63 69 66 69 63 20 72 65 71 75 69 72 65 6d 65  ecific requireme
5a50: 6e 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74  nts and expectat
5a60: 69 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e  ions of differen
5a70: 74 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65  t users.<br>..De
5a80: 66 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74  fining more Rout
5a90: 69 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20  ing Tables with 
5aa0: 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e  different settin
5ab0: 67 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20  gs for the same 
5ac0: 4e 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20  Network usually 
5ad0: 69 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e  is a good design
5ae0: 20 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20   choice leading 
5af0: 74 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69  to more realisti
5b00: 63 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a  c results.<br>..
5b10: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  </td></tr>..</ta
5b20: 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ble>..<br><br>..
5b30: 3c 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63  <h3>Utility func
5b40: 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74  tion for automat
5b50: 69 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e  ically setting N
5b60: 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65  odeFrom and Node
5b70: 54 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 53 6f 6d  To IDs</h3>..Som
5b80: 65 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20  etimes it could 
5b90: 65 76 65 6e 74 75 61 6c 6c 79 20 68 61 70 70 65  eventually happe
5ba0: 6e 20 74 6f 20 65 6e 63 6f 75 6e 74 65 72 20 73  n to encounter s
5bb0: 6f 6d 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e  ome <b>Spatial N
5bc0: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65  etwork</b> repre
5bd0: 73 65 6e 74 61 74 69 6f 6e 20 62 65 69 6e 67 20  sentation being 
5be0: 66 75 6c 6c 79 20 74 6f 70 6f 6c 6f 67 69 63 61  fully topologica
5bf0: 6c 6c 79 20 63 6f 6e 73 69 73 74 65 6e 74 20 62  lly consistent b
5c00: 75 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6c 61  ut completely la
5c10: 63 6b 69 6e 67 20 61 6e 79 20 64 65 66 69 6e 69  cking any defini
5c20: 74 69 6f 6e 20 61 62 6f 75 74 20 3c 62 3e 4e 6f  tion about <b>No
5c30: 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
5c40: 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 64 65  b>NodeTo</b> ide
5c50: 6e 74 69 66 69 65 72 73 2e 3c 62 72 3e 0d 0a 49  ntifiers.<br>..I
5c60: 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20  n this specific 
5c70: 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73 75 63  case you can suc
5c80: 63 65 73 73 66 75 6c 6c 79 20 72 65 63 6f 76 65  cessfully recove
5c90: 72 20 61 20 70 65 72 66 65 63 74 6c 79 20 76 61  r a perfectly va
5ca0: 6c 69 64 20 4e 65 74 77 6f 72 6b 20 62 79 20 63  lid Network by c
5cb0: 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72  alling the <b>Cr
5cc0: 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73  eateRoutingNodes
5cd0: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74  ()</b> SQL funct
5ce0: 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ion...<verbatim>
5cf0: 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52  ..SELECT CreateR
5d00: 6f 75 74 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c  outingNodes(NULL
5d10: 2c 20 27 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20  , 'table_name', 
5d20: 27 67 65 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72  'geom', 'node_fr
5d30: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b  om', 'node_to');
5d40: 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ..______________
5d50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a  ___________..1..
5d60: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74  </verbatim>..Let
5d70: 27 73 20 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61  's examine all a
5d80: 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65  rguments and the
5d90: 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c  ir meaning:..<ol
5da0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f  >..<li><i>NULL</
5db0: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
5dc0: 3c 62 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f  <b>Attached-DB</
5dd0: 62 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68  b> containing th
5de0: 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e  e Spatial Table.
5df0: 3c 62 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20  <br>..It can be 
5e00: 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74  legitimately set
5e10: 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c   to <b>NULL</b>,
5e20: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73   and in this cas
5e30: 65 20 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62  e the <b>MAIN</b
5e40: 3e 20 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e  > DB is assumed.
5e50: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61  </li>..<li><i>ta
5e60: 62 6c 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61  ble_name</i>: na
5e70: 6d 65 20 6f 66 20 74 68 65 20 53 70 61 74 69 61  me of the Spatia
5e80: 6c 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  l Table.</li>..<
5e90: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a  li><i>geom</li>:
5ea0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
5eb0: 75 6d 6e 20 28 28 69 6e 20 74 68 65 20 61 62 6f  umn ((in the abo
5ec0: 76 65 20 54 61 62 6c 65 29 20 63 6f 6e 74 61 69  ve Table) contai
5ed0: 6e 69 6e 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69  ning <b>Linestri
5ee0: 6e 67 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  ngs</b>.</li>..<
5ef0: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c  li><i>node_from<
5f00: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
5f10: 20 63 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64   column to be ad
5f20: 64 65 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65  ded to the above
5f30: 20 54 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c   Table and popul
5f40: 61 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70  ated with approp
5f50: 72 69 61 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f  riate <b>NodeFro
5f60: 6d 3c 2f 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d  m</b> IDs.</li>.
5f70: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c  .<li><i>node_to<
5f80: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
5f90: 20 63 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64   column to be ad
5fa0: 64 65 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65  ded to the above
5fb0: 20 54 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c   Table and popul
5fc0: 61 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70  ated with approp
5fd0: 72 69 61 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c  riate <b>NodeTo<
5fe0: 2f 62 3e 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75  /b> IDs.<br>..<u
5ff0: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20  >Note</u>: both 
6000: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
6010: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
6020: 3e 20 63 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64  > columns should
6030: 20 6e 6f 74 20 62 65 20 61 6c 72 65 61 64 79 20   not be already 
6040: 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 61  defined in the a
6050: 62 6f 76 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e  bove Table.</li>
6060: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61  ..</ol>..<b>Crea
6070: 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29  teRoutingNodes()
6080: 3c 2f 62 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e  </b> will return
6090: 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b   <b>1</b> (<i>ak
60a0: 61 3c 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62  a</i> <b>TRUE</b
60b0: 3e 29 20 6f 6e 20 73 75 63 63 65 73 73 3b 20 61  >) on success; a
60c0: 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c  n exception will
60d0: 20 62 65 20 72 61 69 73 65 64 20 6f 6e 20 66 61   be raised on fa
60e0: 69 6c 75 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  ilure.<br>..<u>N
60f0: 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e  ote</u>: you can
6100: 20 63 61 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52   call <b>CreateR
6110: 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72  outing_GetLastEr
6120: 72 6f 72 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20  ror()</b> so to 
6130: 70 72 65 63 69 73 65 6c 79 20 69 64 65 6e 74 69  precisely identi
6140: 66 79 20 74 68 65 20 63 61 75 73 65 20 61 63 63  fy the cause acc
6150: 6f 75 6e 74 69 6e 67 20 66 6f 72 20 66 61 69 6c  ounting for fail
6160: 75 72 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  ure.<br><br><br>
6170: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
6180: 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
6190: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
61a0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
61b0: 3c 74 64 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69  <td>..<h3>Handli
61c0: 6e 67 20 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f  ng dynamic Netwo
61d0: 72 6b 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69  rks</h3>..Someti
61e0: 6d 65 73 20 69 74 20 68 61 70 70 65 6e 73 20 74  mes it happens t
61f0: 68 61 74 20 61 20 4e 65 74 77 6f 72 6b 20 63 6f  hat a Network co
6200: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74  uld be subject t
6210: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e  o rather frequen
6220: 74 20 63 68 61 6e 67 65 73 3a 20 73 6f 6d 65 20  t changes: some 
6230: 6e 65 77 20 4c 69 6e 6b 73 20 72 65 71 75 69 72  new Links requir
6240: 65 20 74 6f 20 62 65 20 61 64 64 65 64 2c 20 6f  e to be added, o
6250: 62 73 6f 6c 65 74 65 20 4c 69 6e 6b 73 20 72 65  bsolete Links re
6260: 71 75 69 72 65 20 74 6f 20 62 65 20 72 65 6d 6f  quire to be remo
6270: 76 65 64 2c 20 6f 74 68 65 72 20 4c 69 6e 6b 73  ved, other Links
6280: 20 6d 61 79 20 61 73 73 75 6d 65 20 61 20 64 69   may assume a di
6290: 66 66 65 72 65 6e 74 20 43 6f 73 74 2c 20 6f 6e  fferent Cost, on
62a0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20  e-ways could be 
62b0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69  reversed, the di
62c0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65  scipline of pede
62d0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75  strian areas cou
62e0: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61  ld be modified a
62f0: 6e 64 20 73 6f 20 6f 6e 2e 3c 62 72 3e 0d 0a 41  nd so on.<br>..A
6300: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
6310: 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73 20  Table is always 
6320: 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 61  based on a compa
6330: 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61  nion Binary Data
6340: 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73 20   Table, that is 
6350: 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c 62  intrinsically <b
6360: 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e 64  >static</b>, and
6370: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 6f   consequently yo
6380: 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74  u are required t
6390: 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68  o re-create both
63a0: 20 74 68 65 6d 20 66 72 6f 6d 20 74 69 6d 65 20   them from time 
63b0: 74 6f 20 74 69 6d 65 20 69 6e 20 6f 72 64 65 72  to time in order
63c0: 20 74 6f 20 73 75 70 70 6f 72 74 20 61 6c 6c 20   to support all 
63d0: 72 65 63 65 6e 74 20 63 68 61 6e 67 65 73 20 61  recent changes a
63e0: 66 66 65 63 74 69 6e 67 20 74 68 65 20 75 6e 64  ffecting the und
63f0: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b  erlaying Network
6400: 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f 70 74 69 6d  .<br>..The optim
6410: 61 6c 20 66 72 65 71 75 65 6e 63 79 20 66 6f 72  al frequency for
6420: 20 63 79 63 6c 69 63 61 6c 6c 79 20 72 65 66 72   cyclically refr
6430: 65 73 68 69 6e 67 20 74 68 65 20 52 6f 75 74 69  eshing the Routi
6440: 6e 67 20 54 61 62 6c 65 73 20 73 74 72 69 63 74  ng Tables strict
6450: 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 73 70  ly depends on sp
6460: 65 63 69 66 69 63 20 72 65 71 75 69 72 65 6d 65  ecific requireme
6470: 6e 74 73 2c 20 62 75 74 20 74 68 65 20 74 77 6f  nts, but the two
6480: 20 6f 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63   overall approac
6490: 68 65 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79  hes are commonly
64a0: 20 61 64 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d   adopted:..<ol>.
64b0: 0a 3c 6c 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71  .<li><b>low freq
64c0: 75 65 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62  uency refresh</b
64d0: 3e 3a 20 62 65 73 74 20 66 69 74 20 66 6f 72 20  >: best fit for 
64e0: 73 6c 6f 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20  slowly evolving 
64f0: 4e 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49  Networks.<br>..I
6500: 6e 20 74 68 69 73 20 63 61 73 65 20 72 65 2d 63  n this case re-c
6510: 72 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77  reating the Netw
6520: 6f 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20  ork Tables once 
6530: 61 20 6d 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f  a month / week /
6540: 20 64 61 79 20 63 6f 75 6c 64 20 62 65 20 72 65   day could be re
6550: 61 73 6f 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e  asonably enough.
6560: 0d 0a 52 65 63 72 65 61 74 69 6e 67 20 74 68 65  ..Recreating the
6570: 20 54 61 62 6c 65 73 20 66 72 6f 6d 20 73 63 72   Tables from scr
6580: 61 74 63 68 20 75 73 75 61 6c 6c 79 20 72 65 71  atch usually req
6590: 75 69 72 65 73 20 73 65 76 65 72 61 6c 20 73 65  uires several se
65a0: 63 6f 6e 64 73 20 28 6f 72 20 65 76 65 6e 20 6c  conds (or even l
65b0: 65 73 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f  ess, depending o
65c0: 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20  n the number of 
65d0: 4c 69 6e 6b 73 29 2e 3c 62 72 3e 0d 0a 54 68 65  Links).<br>..The
65e0: 20 72 65 66 72 65 73 68 20 61 63 74 69 76 69 74   refresh activit
65f0: 69 65 73 20 63 6f 75 6c 64 20 62 65 20 6f 70 70  ies could be opp
6600: 6f 72 74 75 6e 65 6c 79 20 70 6c 61 6e 6e 65 64  ortunely planned
6610: 20 61 74 20 6c 6f 77 20 74 72 61 66 66 69 63 20   at low traffic 
6620: 68 6f 75 72 73 20 28 65 2e 67 2e 20 64 75 72 69  hours (e.g. duri
6630: 6e 67 20 74 68 65 20 6e 69 67 68 74 29 2c 20 61  ng the night), a
6640: 6e 64 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  nd <b>CreateRout
6650: 69 6e 67 28 29 3c 2f 62 3e 20 63 6f 75 6c 64 20  ing()</b> could 
6660: 62 65 20 75 73 65 66 75 6c 6c 79 20 63 61 6c 6c  be usefully call
6670: 65 64 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74  ed by enabling t
6680: 68 65 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 3c  he <b>overwrite<
6690: 2f 62 3e 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e  /b> option.</li>
66a0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d  ..<li><b>medium-
66b0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72  high frequency r
66c0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74  efresh</b>: best
66d0: 20 66 69 74 20 66 6f 72 20 71 75 69 63 6b 6c 79   fit for quickly
66e0: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72   evolving Networ
66f0: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61  ks.<br>..Re-crea
6700: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6710: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72   Tables once per
6720: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d   hour (or even m
6730: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20  ore frequently) 
6740: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c  could be strictl
6750: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20  y required, and 
6760: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20  frequent <b>out 
6770: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70  of service</b> p
6780: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69  eriods while wai
6790: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66  ting for the ref
67a0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20  resh process to 
67b0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65  complete could e
67c0: 61 73 69 6c 79 20 62 65 20 75 6e 61 63 63 65 70  asily be unaccep
67d0: 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 6e 20 74  table.<br>..In t
67e0: 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 6f 75  his case you cou
67f0: 6c 64 20 75 73 65 66 75 6c 6c 79 20 61 64 6f 70  ld usefully adop
6800: 74 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72  t a <b>multi-thr
6810: 65 61 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f  eaded strategy</
6820: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  b>:..<ul>..<li><
6830: 62 3e 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20  b>thread #1</b> 
6840: 28 3c 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f  (<i>the reader</
6850: 69 3e 29 3a 20 74 68 69 73 20 66 69 72 73 74 20  i>): this first 
6860: 74 68 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64  thread is intend
6870: 65 64 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e  ed to service an
6880: 79 20 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69  y incoming Routi
6890: 6e 67 20 72 65 71 75 65 73 74 2e 20 49 74 20 77  ng request. It w
68a0: 69 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63  ill be always ac
68b0: 74 69 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74  tive, and will t
68c0: 61 72 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f  arget a well kno
68d0: 77 6e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  wn VirtualRoutin
68e0: 67 20 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62  g Table (e.g. <b
68f0: 3e 6d 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20  >my_routing</b> 
6900: 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72  based on <b>my_r
6910: 6f 75 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29  outing_data</b>)
6920: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74  .</li>..<li><b>t
6930: 68 72 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69  hread #2</b> (<i
6940: 3e 74 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29  >the writer</i>)
6950: 3a 20 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68  : this second th
6960: 72 65 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74  read is just int
6970: 65 6e 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61  ended to re-crea
6980: 74 65 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20  te both Network 
6990: 54 61 62 6c 65 73 20 61 74 20 70 72 65 64 65 66  Tables at predef
69a0: 69 6e 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20  ined intervals, 
69b0: 61 6e 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65  and it will slee
69c0: 70 20 62 65 74 77 65 65 6e 20 61 6e 20 69 6e 74  p between an int
69d0: 65 72 76 61 6c 20 61 6e 64 20 74 68 65 20 6f 74  erval and the ot
69e0: 68 65 72 2e 3c 62 72 3e 0d 0a 57 68 65 6e 20 74  her.<br>..When t
69f0: 68 69 73 20 74 68 72 65 61 64 20 61 77 61 6b 65  his thread awake
6a00: 6e 73 20 77 69 6c 6c 20 72 65 2d 63 72 65 61 74  ns will re-creat
6a10: 65 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54  e both Network T
6a20: 61 62 6c 65 73 20 62 79 20 75 73 69 6e 67 20 64  ables by using d
6a30: 69 66 66 65 72 65 6e 74 20 6e 61 6d 65 73 2c 20  ifferent names, 
6a40: 61 6e 64 20 77 69 6c 6c 20 6f 76 65 72 77 72 69  and will overwri
6a50: 74 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20  te the standard 
6a60: 6f 6e 65 73 20 6a 75 73 74 20 61 74 20 74 68 65  ones just at the
6a70: 20 76 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65   very end of the
6a80: 20 70 72 6f 63 65 73 73 20 28 61 63 74 69 76 61   process (activa
6a90: 74 69 6e 67 20 61 20 73 65 6d 61 70 68 6f 72 65  ting a semaphore
6aa0: 20 64 75 72 69 6e 67 20 74 68 69 73 20 73 68 6f   during this sho
6ab0: 72 74 2d 74 69 6d 65 64 20 6c 61 73 74 20 73 74  rt-timed last st
6ac0: 65 70 20 69 73 20 68 69 67 68 6c 79 20 72 65 63  ep is highly rec
6ad0: 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72 3e 0d 0a  ommended).<br>..
6ae0: 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74  Something like t
6af0: 68 69 73 20 70 73 65 75 64 6f 2d 63 6f 64 65 20  his pseudo-code 
6b00: 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d 0a 3c 76  exemplifies:..<v
6b10: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
6b20: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
6b30: 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64  new_my_routing_d
6b40: 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f  ata', 'new_my_ro
6b50: 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d  uting', ...);...
6b60: 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68 65 20 73  .--> start the s
6b70: 65 6d 61 70 68 6f 72 65 20 73 6f 20 74 6f 20 6c  emaphore so to l
6b80: 6f 63 6b 20 74 68 65 20 6f 74 68 65 72 20 74 68  ock the other th
6b90: 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e 3b 0d 0a  read....BEGIN;..
6ba0: 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f  DROP TABLE my_ro
6bb0: 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42  uting;..DROP TAB
6bc0: 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  LE my_routing_da
6bd0: 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43 6c 6f 6e  ta;..SELECT Clon
6be0: 65 54 61 62 6c 65 28 27 4d 41 49 4e 27 2c 20 27  eTable('MAIN', '
6bf0: 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64  new_my_routing_d
6c00: 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75 74 69 6e  ata', 'my_routin
6c10: 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d 0a 43 52  g_data', 0);..CR
6c20: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
6c30: 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 20 55 53  LE my_routing US
6c40: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ING VirtualRouti
6c50: 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64  ng('my_routing_d
6c60: 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20 54 41 42  ata');..DROP TAB
6c70: 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  LE new_my_routin
6c80: 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e  g;..DROP TABLE n
6c90: 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  ew_my_routing_da
6ca0: 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a  ta;..COMMIT;....
6cb0: 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68 65 20 73  --> remove the s
6cc0: 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76 65 72 62  emaphore..</verb
6cd0: 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  atim>..<u>Note</
6ce0: 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 72 65 73  u>: strictly res
6cf0: 70 65 63 74 69 6e 67 20 74 68 65 20 61 62 6f 76  pecting the abov
6d00: 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51  e sequence of SQ
6d10: 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20 69 73 20  L operations is 
6d20: 61 62 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69  absolutely requi
6d30: 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c  red.</li> ..</ul
6d40: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c  ></li>..</ol>..<
6d50: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
6d60: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c  le>..<br>..<tabl
6d70: 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30  e bgcolor="#ffb0
6d80: 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  60" cellspacing=
6d90: 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
6da0: 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c  ="6"><tr><td>..<
6db0: 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20  h3>Warning: how 
6dc0: 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 64 72 6f  to correctly dro
6dd0: 70 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73  p Network Tables
6de0: 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64 72 6f 70  </h3>..When drop
6df0: 70 69 6e 67 20 61 20 56 69 72 74 75 61 6c 52 6f  ping a VirtualRo
6e00: 75 74 69 6e 67 20 54 61 62 6c 65 20 61 6e 64 20  uting Table and 
6e10: 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69  its companion Bi
6e20: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20  nary Data Table 
6e30: 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 6f  following the co
6e40: 72 72 65 63 74 20 73 65 71 75 65 6e 63 65 20 6f  rrect sequence o
6e50: 66 20 53 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69  f SQL commands i
6e60: 73 20 70 61 72 61 6d 6f 75 6e 74 2e 3c 62 72 3e  s paramount.<br>
6e70: 0d 0a 46 61 69 6c 69 6e 67 20 74 6f 20 73 74 72  ..Failing to str
6e80: 69 63 74 6c 79 20 72 65 73 70 65 63 74 20 74 68  ictly respect th
6e90: 65 20 65 78 70 65 63 74 65 64 20 73 65 71 75 65  e expected seque
6ea0: 6e 63 65 20 77 69 6c 6c 20 73 75 72 65 6c 79 20  nce will surely 
6eb0: 63 61 75 73 65 20 79 6f 75 20 73 65 76 65 72 61  cause you severa
6ec0: 6c 20 74 72 6f 75 62 6c 65 73 20 61 6e 64 20 73  l troubles and s
6ed0: 65 76 65 72 65 20 68 65 61 64 61 63 68 65 73 2c  evere headaches,
6ee0: 20 61 6e 64 20 77 69 6c 6c 20 70 6f 73 73 69 62   and will possib
6ef0: 6c 79 20 6c 65 61 64 20 74 6f 20 61 6e 20 69 72  ly lead to an ir
6f00: 72 65 6d 65 64 69 61 62 6c 79 20 63 6f 72 72 75  remediably corru
6f10: 70 74 65 64 20 64 61 74 61 62 61 73 65 2e 0d 0a  pted database...
6f20: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 61 72  <ol>..<li>you ar
6f30: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65  e always expecte
6f40: 64 20 74 6f 20 44 52 4f 50 20 66 69 72 73 74 20  d to DROP first 
6f50: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  the VirtualRouti
6f60: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ng Table.</li>..
6f70: 3c 6c 69 3e 79 6f 75 20 63 61 6e 20 73 61 66 65  <li>you can safe
6f80: 6c 79 20 44 52 4f 50 20 74 68 65 20 63 6f 6d 70  ly DROP the comp
6f90: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74  anion Binary Dat
6fa0: 61 20 54 61 62 6c 65 20 6f 6e 6c 79 20 6f 6e 63  a Table only onc
6fb0: 65 20 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72  e it's no longer
6fc0: 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74   referenced by t
6fd0: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
6fe0: 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  g Table.</li>..<
6ff0: 6c 69 3e 62 79 20 66 6f 6c 6c 6f 77 69 6e 67 20  li>by following 
7000: 74 68 65 20 72 65 76 65 72 73 65 20 73 65 71 75  the reverse sequ
7010: 65 6e 63 65 20 79 6f 75 27 6c 6c 20 64 69 72 65  ence you'll dire
7020: 63 74 6c 79 20 63 72 65 61 74 65 20 61 6e 20 3c  ctly create an <
7030: 62 3e 6f 72 70 68 61 6e 3c 2f 62 3e 20 56 69 72  b>orphan</b> Vir
7040: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
7050: 65 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65  e that cannot be
7060: 20 61 63 63 65 73 73 65 64 20 61 6e 79 20 6c 6f   accessed any lo
7070: 6e 67 65 72 2c 20 61 6e 64 20 74 68 61 74 20 77  nger, and that w
7080: 69 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  ill consequently
7090: 20 72 65 66 75 73 65 20 74 6f 20 62 65 20 64 72   refuse to be dr
70a0: 6f 70 70 65 64 2e 3c 62 72 3e 0d 0a 42 65 20 77  opped.<br>..Be w
70b0: 61 72 6e 65 64 20 21 21 3c 2f 6c 69 3e 0d 0a 3c  arned !!</li>..<
70c0: 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  /ol>..</td></tr>
70d0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
70e0: 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a  <br>..<hr><br>..
70f0: 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 66 72 6f  <h1><a name="fro
7100: 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c 76 69 6e  m_to">4 - Solvin
7110: 67 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65  g classic Shorte
7120: 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73  st Path problems
7130: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68 65 20 6d  </a></h1>..The m
7140: 6f 73 74 20 63 6c 61 73 73 69 63 20 53 68 6f 72  ost classic Shor
7150: 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65  test Path proble
7160: 6d 20 72 65 71 75 69 72 65 73 20 74 6f 20 69 64  m requires to id
7170: 65 6e 74 69 66 79 20 74 68 65 20 6f 70 74 69 6d  entify the optim
7180: 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 65  al connection be
7190: 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f 72 69 67  tween an <b>Orig
71a0: 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20  in Node</b> and 
71b0: 61 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e  a <b>Destination
71c0: 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a   Node</b>.<br>..
71d0: 57 65 20 63 61 6e 20 65 61 73 69 6c 79 20 74 72  We can easily tr
71e0: 61 6e 73 6c 61 74 65 20 73 75 63 68 20 61 20 70  anslate such a p
71f0: 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61 20 73 69  roblem into a si
7200: 6d 70 6c 65 20 53 51 4c 20 71 75 65 72 79 20 74  mple SQL query t
7210: 61 72 67 65 74 69 6e 67 20 73 6f 6d 65 20 56 69  argeting some Vi
7220: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
7230: 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  le...<verbatim>.
7240: 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46 52 4f 4d  .SELECT * ..FROM
7250: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
7260: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
7270: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38   AND NodeTo = 18
7280: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  3286;..</verbati
7290: 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  m>..<table borde
72a0: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
72b0: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
72c0: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
72d0: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
72e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
72f0: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
7300: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7310: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
7320: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7330: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
7340: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
7350: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
7360: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
7370: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7380: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
7390: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
73a0: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
73b0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
73c0: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
73d0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
73e0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
73f0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7400: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
7410: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7420: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
7430: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
7440: 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e  r="#d0d0a0">Poin
7450: 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  tFrom</th><th bg
7460: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7470: 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20  PointTo</th><th 
7480: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
7490: 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e  ">Tolerance</th>
74a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
74b0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
74c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
74d0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
74e0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
74f0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
7500: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
7510: 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c  d>Dijkstra</td><
7520: 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  td>Shortest Path
7530: 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74  </td><td>Full</t
7540: 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63  d><td>, &#91;dec
7550: 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b  =44, hex=2c&#93;
7560: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7570: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
7580: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
7590: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
75a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
75b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
75c0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
75d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
75e0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  83286</td><td>NU
75f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7600: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7610: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7620: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
7630: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37  d><td>BLOB sz=27
7640: 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  2 GEOMETRY</td><
7650: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
7660: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
7670: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7680: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7690: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
76a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
76b0: 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
76c0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
76d0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
76e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
76f0: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
7700: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
7710: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
7720: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
7730: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7740: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7750: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
7760: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
7770: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
7780: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
7790: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
77a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
77b0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
77c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
77d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
77e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
77f0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
7800: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
7810: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
7820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7830: 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c  ht">224446</td><
7840: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7850: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
7860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
7870: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  8880</td><td>NUL
7880: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7890: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
78a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
78b0: 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e  ">69.727726</td>
78c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
78d0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
78e0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
78f0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
7900: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7910: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7920: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
7930: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
7940: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7950: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
7960: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7970: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
7980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7990: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
79a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
79b0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e  >183286</td><td>
79c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
79d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
79e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
79f0: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c  ght">136.372057<
7a00: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7a10: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
7a20: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
7a30: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
7a40: 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20  ..Let's quickly 
7a50: 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75  examine the resu
7a60: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
7a70: 79 20 74 68 65 20 61 62 6f 76 65 20 52 6f 75 74  y the above Rout
7a80: 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e  ing query:..<ul>
7a90: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72  ..<li>the <b>fir
7aa0: 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c 69 3e 61  st row</b> (<i>a
7ab0: 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72 20 72 6f  ka</i> header ro
7ac0: 77 29 20 68 61 73 20 61 20 73 70 65 63 69 61 6c  w) has a special
7ad0: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2c   interpretation,
7ae0: 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64   and is intended
7af0: 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65 20 74 68   to summarize th
7b00: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  e travel solutio
7b10: 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e 3c 2f 6c  n as a whole.</l
7b20: 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 20  i>..<li>all the 
7b30: 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77  <b>following row
7b40: 73 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 20  s</b> represent 
7b50: 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b 20 72 65  a single Link re
7b60: 71 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20  quired to build 
7b70: 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20 28 6f 70  the solution (op
7b80: 74 69 6d 61 20 70 61 74 68 29 3b 20 4c 69 6e 6b  tima path); Link
7b90: 73 20 61 72 65 20 6f 72 64 65 72 65 64 20 61 63  s are ordered ac
7ba0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
7bb0: 20 74 72 61 76 65 6c 20 64 69 72 65 63 74 69 6f   travel directio
7bc0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65  n connecting the
7bd0: 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20   Origin and the 
7be0: 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c 2f 6c 69  Destination.</li
7bf0: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c  >..<li>columns <
7c00: 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c  b>Algorithm</b>,
7c10: 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c   <b>Request</b>,
7c20: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c   <b>Options</b>,
7c30: 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62   <b>Delimiter</b
7c40: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c  >, <b>PointFrom<
7c50: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c  /b>, <b>PointTo<
7c60: 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72 61 6e 63  /b>, <b>Toleranc
7c70: 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 47 65 6f  e</b> and <b>Geo
7c80: 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65 20 61 6c  metry</b> are al
7c90: 77 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e  ways set to <b>N
7ca0: 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70 74 20 74  ULL</b> except t
7cb0: 68 61 74 20 69 6e 20 74 68 65 20 66 69 72 73 74  hat in the first
7cc0: 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75   row of the resu
7cd0: 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ltset:..<ul>..<l
7ce0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41 6c 67 6f  i>column <b>Algo
7cf0: 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63 6f 75 6e  rithm</b> accoun
7d00: 74 73 20 66 6f 72 20 74 68 65 20 52 6f 75 74 69  ts for the Routi
7d10: 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20 75 73 65  ng Algorithm use
7d20: 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74  d by the current
7d30: 20 71 75 65 72 79 20 28 3c 69 3e 44 69 6a 6b 73   query (<i>Dijks
7d40: 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20 3c 69 3e  tra's</i> or <i>
7d50: 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  A*</i>).</li>..<
7d60: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 65 71  li>column <b>Req
7d70: 75 65 73 74 3c 2f 62 3e 20 73 70 65 63 69 66 69  uest</b> specifi
7d80: 65 73 20 74 68 65 20 65 78 61 63 74 20 6e 61 74  es the exact nat
7d90: 75 72 65 20 6f 66 20 74 68 65 20 63 75 72 72 65  ure of the curre
7da0: 6e 74 20 71 75 65 72 79 20 28 69 6e 20 74 68 69  nt query (in thi
7db0: 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20  s specific case 
7dc0: 3c 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  <i>Shortest Path
7dd0: 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </i>).</li>..<li
7de0: 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f  >we'll ignore fo
7df0: 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 73 20 3c 62  r now columns <b
7e00: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62  >Options</b>, <b
7e10: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20  >Delimiter</b>, 
7e20: 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e  <b>PointFrom</b>
7e30: 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e  , <b>PointTo</b>
7e40: 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63   and <b>Toleranc
7e50: 65 3c 2f 62 3e 3a 20 74 68 65 69 72 20 72 65 73  e</b>: their res
7e60: 70 65 63 74 69 76 65 20 6d 65 61 6e 69 6e 67 73  pective meanings
7e70: 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e   will be explain
7e80: 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20  ed in following 
7e90: 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e  paragraphs.</li>
7ea0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
7eb0: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6e  Geometry</b> con
7ec0: 74 61 69 6e 73 20 61 20 3c 62 3e 4c 49 4e 45 53  tains a <b>LINES
7ed0: 54 52 49 4e 47 3c 2f 62 3e 20 72 65 70 72 65 73  TRING</b> repres
7ee0: 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20  entation of the 
7ef0: 77 68 6f 6c 65 20 74 72 61 76 65 6c 20 73 6f 6c  whole travel sol
7f00: 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  ution.<br>..<u>N
7f10: 6f 74 65 3c 2f 75 3e 3a 20 6f 6e 20 3c 62 3e 4c  ote</u>: on <b>L
7f20: 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3c  ogical Networks<
7f30: 2f 62 3e 20 28 6e 6f 74 20 73 75 70 70 6f 72 74  /b> (not support
7f40: 69 6e 67 20 47 65 6f 6d 65 74 72 69 65 73 29 20  ing Geometries) 
7f50: 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20  <b>Geometry</b> 
7f60: 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 3c  will always be <
7f70: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e  b>NULL</b>.</li>
7f80: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
7f90: 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66  i>we'll ignore f
7fa0: 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 20 3c 62  or now column <b
7fb0: 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 3b 20 69 74  >RouteId</b>; it
7fc0: 73 20 6d 65 61 6e 69 6e 67 20 77 69 6c 6c 20 62  s meaning will b
7fd0: 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66  e explained in f
7fe0: 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61  ollowing paragra
7ff0: 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63  phs.</li>..<li>c
8000: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 52 6f  olumn <b>RouteRo
8010: 77 3c 2f 62 3e 20 73 69 6d 70 6c 79 20 69 73 20  w</b> simply is 
8020: 74 68 65 20 70 72 6f 67 72 65 73 73 69 76 65 20  the progressive 
8030: 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 72 6f  number of the ro
8040: 77 20 69 6e 20 74 68 65 20 74 72 61 76 65 6c 20  w in the travel 
8050: 73 6f 6c 75 74 69 6f 6e 20 28 61 6c 77 61 79 73  solution (always
8060: 20 3c 62 3e 30 3c 2f 62 3e 20 69 6e 20 74 68 65   <b>0</b> in the
8070: 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c   header row).</l
8080: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  i>..<li>column <
8090: 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 61 6e 20 62  b>Role</b> can b
80a0: 65 20 3c 69 3e 52 6f 75 74 65 3c 2f 69 3e 20 28  e <i>Route</i> (
80b0: 68 65 61 64 65 72 20 72 6f 77 29 20 6f 72 20 3c  header row) or <
80c0: 69 3e 4c 69 6e 6b 3c 2f 69 3e 20 28 61 6c 6c 20  i>Link</i> (all 
80d0: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 29 2e  following rows).
80e0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
80f0: 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  n <b>LinkRowid</
8100: 62 3e 20 72 65 66 65 72 65 6e 63 65 73 20 74 68  b> references th
8110: 65 20 3c 62 3e 52 4f 57 49 44 3c 2f 62 3e 20 6f  e <b>ROWID</b> o
8120: 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  f the correspond
8130: 69 6e 67 20 4c 69 6e 6b 20 28 61 6c 77 61 79 73  ing Link (always
8140: 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c   set to <b>NULL<
8150: 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65  /b> in the heade
8160: 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  r row).</li>..<l
8170: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 6f 64 65  i>column <b>Node
8180: 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  From</b> and <b>
8190: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 68 61 76 65 20  NodeTo</b> have 
81a0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e  the following in
81b0: 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c  terpretation:..<
81c0: 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20  ul>..<li>in the 
81d0: 68 65 61 64 65 72 20 72 6f 77 20 74 68 65 79 20  header row they 
81e0: 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 68 65  correspond to he
81f0: 20 3c 62 3e 4f 72 69 67 69 6e 3c 2f 62 3e 20 61   <b>Origin</b> a
8200: 6e 64 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f  nd <b>Destinatio
8210: 6e 3c 2f 62 3e 20 4e 6f 64 65 73 2e 3c 2f 6c 69  n</b> Nodes.</li
8220: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 68  >..<li>in all th
8230: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73  e following rows
8240: 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e 64   they are intend
8250: 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68  ed to specify th
8260: 65 20 64 69 72 65 63 74 69 6f 6e 20 6f 66 20 74  e direction of t
8270: 68 65 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e  he current Link.
8280: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
8290: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
82a0: 3e 43 6f 73 74 3c 2f 62 3e 20 68 61 73 20 74 68  >Cost</b> has th
82b0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65  e following inte
82c0: 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c  rpretation:..<ul
82d0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65  >..<li>in the he
82e0: 61 64 65 72 20 74 6f 77 20 69 74 20 63 6f 72 72  ader tow it corr
82f0: 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c  esponds to the <
8300: 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e  b>total cost</b>
8310: 20 6f 66 20 74 68 65 20 74 72 61 76 65 6c 2e 3c   of the travel.<
8320: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c  /li>..<li>in all
8330: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72   the following r
8340: 6f 77 73 20 69 74 20 72 65 70 72 65 73 65 6e 74  ows it represent
8350: 73 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63  s the specific c
8360: 6f 73 74 20 6f 66 20 74 68 65 20 63 75 72 72 65  ost of the curre
8370: 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c  nt Link.</li>..<
8380: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63  /ul></li>..<li>c
8390: 6f 6c 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62  olumn <b>Name</b
83a0: 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64  > contains the d
83b0: 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68  escription of th
83c0: 65 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28  e current Link (
83d0: 75 73 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e  usually a road n
83e0: 61 6d 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77  ame), and is alw
83f0: 61 79 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20  ays <b>NULL</b> 
8400: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
8410: 77 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  w.<br>..<u>Note<
8420: 2f 75 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20  /u> it could be 
8430: 61 6c 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c  always be <b>NUL
8440: 4c 3c 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72  L</b> if the Vir
8450: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
8460: 65 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f  e does not suppo
8470: 72 74 73 20 6e 61 6d 65 73 2e 3c 2f 6c 69 3e 0d  rts names.</li>.
8480: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
8490: 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 65  l>..<br><br>..Te
84a0: 73 74 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e  sting the return
84b0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75 73 74   connection just
84c0: 20 72 65 71 75 69 72 65 73 20 73 77 61 70 70 69   requires swappi
84d0: 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e  ng the Origin an
84e0: 64 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f  d the Destinatio
84f0: 6e 3b 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70  n; in this examp
8500: 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73 74 20 72  le you'll just r
8510: 65 71 75 65 73 74 20 74 68 65 20 6d 65 61 6e 69  equest the meani
8520: 6e 67 66 75 6c 20 63 6f 6c 75 6d 6e 73 3a 0d 0a  ngful columns:..
8530: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
8540: 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  CT RouteRow, Rol
8550: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
8560: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
8570: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
8580: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
8590: 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20  t..WHERE NodeTo 
85a0: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
85b0: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d  eFrom = 183286;.
85c0: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74  .</verbatim>..<t
85d0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
85e0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
85f0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
8600: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
8610: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
8620: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
8630: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
8640: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8650: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
8660: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8670: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
8680: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8690: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
86a0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
86b0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
86c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
86d0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
86e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
86f0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
8700: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8710: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
8720: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
8730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
8750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
8760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8770: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
8780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8790: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
87a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
87b0: 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74  00.912208</td><t
87c0: 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45  d>BLOB sz=272 GE
87d0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
87e0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
87f0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
8800: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
8810: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
8820: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
8830: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
8840: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
8850: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
8860: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
8870: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8880: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c  ght">136.372057<
8890: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
88a0: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
88b0: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
88c0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
88d0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
88e0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
88f0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
8900: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8910: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
8920: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8930: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
8940: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8950: 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74  69.727726</td><t
8960: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
8970: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
8980: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
8990: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
89a0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
89b0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
89c0: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
89d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
89e0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
89f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8a00: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
8a10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8a20: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
8a30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
8a40: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
8a50: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
8a60: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 49  /table>..<br>..I
8a70: 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 72 2c 20  f you remember, 
8a80: 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62  the <b>byfoot</b
8a90: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
8aa0: 20 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62   Table has no <b
8ab0: 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61  >one-ways</b>, a
8ac0: 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  nd consequently 
8ad0: 74 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 20  the return path 
8ae0: 65 78 61 63 74 6c 79 20 63 6f 72 72 65 73 70 6f  exactly correspo
8af0: 6e 64 73 20 74 6f 20 74 68 65 20 66 69 72 73 74  nds to the first
8b00: 20 6f 6e 65 2c 20 65 78 63 65 70 74 20 69 6e 20   one, except in 
8b10: 74 68 61 74 20 61 6c 6c 20 64 69 72 65 63 74 69  that all directi
8b20: 6f 6e 73 20 61 72 65 20 6e 6f 77 20 72 65 76 65  ons are now reve
8b30: 72 73 65 64 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c  rsed...<br><br><
8b40: 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c 6c 20  br>..Now you'll 
8b50: 67 6f 20 74 6f 20 74 65 73 74 20 74 68 65 20 73  go to test the s
8b60: 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c  ame connections,
8b70: 20 62 75 74 20 74 68 69 73 20 74 69 6d 65 20 79   but this time y
8b80: 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 74 68 65  ou'll target the
8b90: 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69   <b>bycar</b> Vi
8ba0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
8bb0: 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 20 73 75  le that fully su
8bc0: 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77 61  pports <b>one-wa
8bd0: 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61 74  ys</b>:..<verbat
8be0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74  im>..SELECT Rout
8bf0: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
8c00: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
8c10: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
8c20: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
8c30: 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45  ROM bycar..WHERE
8c40: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
8c50: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
8c60: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
8c70: 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  tim>..<table bor
8c80: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
8c90: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
8ca0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
8cb0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
8cc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8cd0: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
8ce0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8cf0: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
8d00: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
8d10: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
8d20: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
8d30: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
8d40: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
8d50: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8d60: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
8d70: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8d80: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
8d90: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
8da0: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
8db0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8dc0: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
8dd0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
8de0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
8df0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
8e00: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
8e10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
8e20: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
8e30: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
8e40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8e50: 72 69 67 68 74 22 3e 31 30 31 2e 38 31 35 35 35  right">101.81555
8e60: 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  2</td><td>BLOB s
8e70: 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 52 59 3c  z=2032 GEOMETRY<
8e80: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
8e90: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
8ea0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8eb0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
8ec0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8ed0: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74  right">224014</t
8ee0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8ef0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
8f00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8f10: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
8f20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
8f30: 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64 3e  .127874</td><td>
8f40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8f50: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
8f60: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
8f70: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
8f80: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
8f90: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
8fa0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36  n="right">224446
8fb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8fc0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
8fd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8fe0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8ff0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9000: 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c 74  >9.654608</td><t
9010: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9020: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
9030: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9040: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9050: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
9060: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
9070: 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c  ="right">219171<
9080: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9090: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
90a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
90b0: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74  t">178732</td><t
90c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
90d0: 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64  7.809952</td><td
90e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
90f0: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
9100: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
9110: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9120: 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74  "right">4</td><t
9130: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
9150: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  058</td><td alig
9160: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
9170: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9180: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
9190: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
91a0: 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74  ht">12.445626</t
91b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
91c0: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
91d0: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
91e0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
91f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f  lign="right">5</
9200: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9210: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9220: 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74 64  ">225888</td><td
9230: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9240: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
9250: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
9260: 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  61</td><td align
9270: 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 39 38 36  ="right">1.59986
9280: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
9290: 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
92a0: 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
92b0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
92c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
92d0: 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >6</td><td>Link<
92e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
92f0: 69 67 68 74 22 3e 32 32 35 38 38 37 3c 2f 74 64  ight">225887</td
9300: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9310: 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74  t">183461</td><t
9320: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9330: 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182800</td><td a
9340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 33  lign="right">3.3
9350: 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55  00590</td><td>NU
9360: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
9370: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
9380: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9390: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
93a0: 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">7</td><td>L
93b0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
93c0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 39 33 35  n="right">223935
93d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
93e0: 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74  right">182800</t
93f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9400: 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c  ht">182799</td><
9410: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9420: 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c 74  >6.688786</td><t
9430: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9440: 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52  IALE LUCA SIGNOR
9450: 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ELLI</td>..</tr>
9460: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9470: 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e  n="right">8</td>
9480: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9490: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
94a0: 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  26038</td><td al
94b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37  ign="right">1827
94c0: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
94d0: 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c  ="right">183456<
94e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
94f0: 69 67 68 74 22 3e 31 2e 32 39 34 30 31 37 3c 2f  ight">1.294017</
9500: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9510: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
9520: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
9530: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9540: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
9550: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9560: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9570: 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e 3c  ht">225832</td><
9580: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9590: 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20  >183456</td><td 
95a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
95b0: 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3444</td><td ali
95c0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 38 35  gn="right">2.385
95d0: 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  486</td><td>NULL
95e0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c  </td><td>VIALE L
95f0: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f  UCA SIGNORELLI</
9600: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9610: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9620: 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c  ht">10</td><td>L
9630: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9640: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 31  n="right">225831
9650: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9660: 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74  right">183444</t
9670: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9680: 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c  ht">183554</td><
9690: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
96a0: 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c 74  >3.160662</td><t
96b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
96c0: 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52  IALE LUCA SIGNOR
96d0: 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ELLI</td>..</tr>
96e0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
96f0: 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64  n="right">11</td
9700: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9710: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9720: 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20 61  225765</td><td a
9730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9740: 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  554</td><td alig
9750: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35 34  n="right">183954
9760: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9770: 72 69 67 68 74 22 3e 37 2e 34 36 39 39 31 37 3c  right">7.469917<
9780: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9790: 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20  ><td>VIALE LUCA 
97a0: 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d  SIGNORELLI</td>.
97b0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
97c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
97d0: 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  12</td><td>Link<
97e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
97f0: 69 67 68 74 22 3e 32 32 35 37 36 36 3c 2f 74 64  ight">225766</td
9800: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9810: 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74  t">183954</td><t
9820: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9830: 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61  183905</td><td a
9840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 32  lign="right">3.2
9850: 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  36389</td><td>NU
9860: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45  LL</td><td>VIALE
9870: 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49   LUCA SIGNORELLI
9880: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9890: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
98a0: 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74 64  ight">13</td><td
98b0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
98c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 39  ign="right">2259
98d0: 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  79</td><td align
98e0: 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c  ="right">183905<
98f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9900: 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64  ight">183626</td
9910: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9920: 74 22 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74 64  t">13.983629</td
9930: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9940: 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e  d>STRADA SENZA N
9950: 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OME</td>..</tr>.
9960: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9970: 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f 74 64 3e  ="right">14</td>
9980: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9990: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
99a0: 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  24905</td><td al
99b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36  ign="right">1836
99c0: 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  26</td><td align
99d0: 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c  ="right">183128<
99e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
99f0: 69 67 68 74 22 3e 35 2e 36 32 37 33 35 38 3c 2f  ight">5.627358</
9a00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9a10: 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41  <td>STRADA SENZA
9a20: 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72   NOME</td>..</tr
9a30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9a40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f 74  gn="right">15</t
9a50: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9a60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9a70: 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20  >224897</td><td 
9a80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9a90: 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3128</td><td ali
9aa0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
9ab0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9ac0: 22 72 69 67 68 74 22 3e 31 30 2e 30 33 30 37 39  "right">10.03079
9ad0: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
9ae0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
9af0: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
9b00: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 76  r>..</table>..<v
9b10: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
9b20: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
9b30: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
9b40: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
9b50: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
9b60: 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a  me..FROM bycar..
9b70: 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31  WHERE NodeTo = 1
9b80: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72  78731 AND NodeFr
9b90: 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f  om = 183286;..</
9ba0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c  verbatim>..<tabl
9bb0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
9bc0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
9bd0: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
9be0: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
9bf0: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
9c00: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
9c10: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
9c20: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
9c30: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
9c40: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
9c50: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
9c60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
9c70: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
9c80: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9c90: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
9ca0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9cb0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
9cc0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9cd0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
9ce0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9cf0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
9d00: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9d10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
9d20: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
9d30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9d40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9d50: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
9d60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9d70: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
9d80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e  ign="right">103.
9d90: 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e 42  305259</td><td>B
9da0: 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d 45  LOB sz=944 GEOME
9db0: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
9dc0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9dd0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9de0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
9df0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9e00: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31  gn="right">22441
9e10: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9e20: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
9e30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9e40: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
9e50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9e60: 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f 74 64 3e  ">18.882285</td>
9e70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
9e80: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
9e90: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9ea0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9eb0: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
9ec0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9ed0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37  gn="right">21917
9ee0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
9ef0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
9f00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9f10: 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
9f20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f30: 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c  ">7.809952</td><
9f40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9f50: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
9f60: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
9f70: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9f80: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
9f90: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9fa0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9fb0: 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  19058</td><td al
9fc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
9fd0: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
9fe0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
9ff0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a000: 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c  ight">12.445626<
a010: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a020: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
a030: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
a040: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a050: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
a060: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a070: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a080: 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c  ht">224538</td><
a090: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a0a0: 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
a0b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a0c0: 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1972</td><td ali
a0d0: 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 30 34 37  gn="right">7.047
a0e0: 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  784</td><td>NULL
a0f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54  </td><td>VIA ANT
a100: 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c  ONIO GUADAGNOLI<
a110: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
a120: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a130: 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">5</td><td>L
a140: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a150: 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 35 37 35  n="right">222575
a160: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a170: 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74  right">181972</t
a180: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a190: 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c  ht">181971</td><
a1a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a1b0: 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c 74  >1.852283</td><t
a1c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a1d0: 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41  IA ANTONIO GUADA
a1e0: 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  GNOLI</td>..</tr
a1f0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a200: 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">6</td><td>L
a210: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a220: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 39 36 37  n="right">224967
a230: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a240: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74  right">181971</t
a250: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a260: 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c  ht">182891</td><
a270: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a280: 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e 3c  >14.273185</td><
a290: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a2a0: 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
a2b0: 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  AGNOLI</td>..</t
a2c0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
a2d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74  ign="right">7</t
a2e0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a2f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a300: 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64 20  >224168</td><td 
a310: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a320: 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2891</td><td ali
a330: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a340: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a350: 22 72 69 67 68 74 22 3e 36 2e 36 34 33 33 30 39  "right">6.643309
a360: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
a370: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c  d><td>VIA MACALL
a380: 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  E'</td>..</tr>..
a390: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a3a0: 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74  "right">8</td><t
a3b0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a3c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a3d0: 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  167</td><td alig
a3e0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 37  n="right">183057
a3f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a400: 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74  right">183056</t
a410: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a420: 68 74 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74 64  ht">3.151272</td
a430: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a440: 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f  d>VIA MACALLE'</
a450: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
a460: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a470: 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">9</td><td>Li
a480: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a490: 3d 22 72 69 67 68 74 22 3e 32 32 34 31 37 34 3c  ="right">224174<
a4a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a4b0: 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64  ight">183056</td
a4c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a4d0: 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74  t">182941</td><t
a4e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a4f0: 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74 64  7.966870</td><td
a500: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a510: 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  A RODI</td>..</t
a520: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
a530: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f  ign="right">10</
a540: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a560: 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74 64  ">224059</td><td
a570: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a580: 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82941</td><td al
a590: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
a5a0: 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  01</td><td align
a5b0: 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 33 37 34  ="right">6.39374
a5c0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
a5d0: 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c  td><td>VIA RODI<
a5e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
a5f0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a600: 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e  ght">11</td><td>
a610: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a620: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33  gn="right">22263
a630: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a640: 22 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c 2f  "right">182001</
a650: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a660: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
a670: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a680: 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e 3c  ">2.475538</td><
a690: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a6a0: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
a6b0: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
a6c0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a6d0: 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c  "right">12</td><
a6e0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a6f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a700: 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2636</td><td ali
a710: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
a720: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
a730: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
a740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a750: 67 68 74 22 3e 31 34 2e 33 36 33 34 30 38 3c 2f  ght">14.363408</
a760: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a770: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
a780: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
a790: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
a7a0: 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65  r>..As you can e
a7b0: 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68  asily notice, th
a7c0: 65 20 6f 70 74 69 6d 61 6c 20 70 61 74 68 73 20  e optimal paths 
a7d0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
a7e0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72  <b>bycar</b> Vir
a7f0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
a800: 65 20 74 68 65 20 70 61 74 68 73 20 69 6e 20 6f  e the paths in o
a810: 70 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f  pposite directio
a820: 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 69 66 66  ns strongly diff
a830: 65 72 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2c  er between them,
a840: 20 61 6e 64 20 62 6f 74 68 20 61 72 65 20 63 6f   and both are co
a850: 6d 70 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65  mpletely differe
a860: 6e 74 20 66 72 6f 6d 20 74 68 65 20 70 61 74 68  nt from the path
a870: 20 72 65 74 75 72 6e 65 64 20 62 79 20 71 75 65   returned by que
a880: 72 79 69 6e 67 20 3c 62 3e 62 79 66 6f 6f 74 3c  rying <b>byfoot<
a890: 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20 71 75 69 63  /b>.<br>..A quic
a8a0: 6b 20 67 6c 61 6e 63 65 20 61 74 20 74 68 65 20  k glance at the 
a8b0: 62 65 6c 6f 77 20 6d 61 70 20 77 69 6c 6c 20 73  below map will s
a8c0: 75 72 65 6c 79 20 68 65 6c 70 20 74 6f 20 75 6e  urely help to un
a8d0: 64 65 72 73 74 61 6e 64 20 62 65 74 74 65 72 20  derstand better 
a8e0: 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61  what's really ha
a8f0: 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68  ppening.<br>..Th
a900: 69 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20  is is a central 
a910: 61 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e  area of the town
a920: 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e   of Arezzo aroun
a930: 64 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67  d the archaeolog
a940: 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68  ical ruins of th
a950: 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65  e Roman Amphithe
a960: 61 74 65 72 3b 20 63 69 72 63 75 6c 61 74 69 6e  ater; circulatin
a970: 67 20 62 79 20 63 61 72 20 69 73 20 64 69 73 63  g by car is disc
a980: 6f 75 72 61 67 65 64 20 61 6e 64 20 69 73 20 73  ouraged and is s
a990: 75 62 6a 65 63 74 20 74 6f 20 6d 61 6e 79 20 6f  ubject to many o
a9a0: 6e 65 2d 77 61 79 20 72 65 73 74 72 69 63 74 69  ne-way restricti
a9b0: 6f 6e 73 2e 20 4e 6f 74 20 73 75 72 70 72 69 73  ons. Not surpris
a9c0: 69 6e 67 6c 79 2c 20 6d 6f 76 69 6e 67 20 62 79  ingly, moving by
a9d0: 20 66 6f 6f 74 20 69 73 20 74 68 65 20 66 61 73   foot is the fas
a9e0: 74 65 72 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72  ter option...<br
a9f0: 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  ><br>..<img src=
aa00: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
aa10: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
aa20: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
aa30: 72 6f 75 74 69 6e 67 31 2e 6a 70 67 22 20 61 6c  routing1.jpg" al
aa40: 74 3d 22 66 69 67 31 22 3e 0d 0a 3c 75 6c 3e 0d  t="fig1">..<ul>.
aa50: 0a 3c 6c 69 3e 79 65 6c 6c 6f 77 20 70 61 74 68  .<li>yellow path
aa60: 3a 20 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 6c  : pedestrians</l
aa70: 69 3e 0d 0a 3c 6c 69 3e 67 72 65 65 6e 20 70 61  i>..<li>green pa
aa80: 74 68 3a 20 63 61 72 2c 20 64 69 72 65 63 74 20  th: car, direct 
aa90: 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a  direction</li>..
aaa0: 3c 6c 69 3e 72 65 64 20 70 61 74 68 3a 20 63 61  <li>red path: ca
aab0: 72 2c 20 72 65 74 75 72 6e 20 64 69 72 65 63 74  r, return direct
aac0: 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ion</li>..</ul>.
aad0: 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
aae0: 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
aaf0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
ab00: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
ab10: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4c  ><tr><td>..<h3>L
ab20: 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72  inestrings retur
ab30: 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f  ned by VirtualRo
ab40: 75 74 69 6e 67 3c 2f 68 33 3e 0d 0a 41 6c 6c 20  uting</h3>..All 
ab50: 4c 49 4e 45 53 54 52 49 4e 47 20 47 65 6f 6d 65  LINESTRING Geome
ab60: 74 72 69 65 73 20 63 72 65 61 74 65 64 20 62 79  tries created by
ab70: 20 61 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74   any VirtualRout
ab80: 69 6e 67 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  ing will always 
ab90: 63 6f 6e 74 61 69 6e 20 3c 62 3e 4d 20 76 61 6c  contain <b>M val
aba0: 75 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  ues</b>:..<ul>..
abb0: 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72  <li>if the under
abc0: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73  laying Network's
abd0: 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20   Geometries are 
abe0: 3c 62 3e 58 59 3c 2f 62 3e 20 74 68 65 6e 20 3c  <b>XY</b> then <
abf0: 62 3e 58 59 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74  b>XYM</b> Linest
ac00: 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65  rings will be re
ac10: 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  turned.</li>..<l
ac20: 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61  i>if the underla
ac30: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47  ying Network's G
ac40: 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62  eometries are <b
ac50: 3e 58 59 5a 3c 2f 62 3e 20 74 68 65 6e 20 3c 62  >XYZ</b> then <b
ac60: 3e 58 59 5a 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74  >XYZM</b> Linest
ac70: 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65  rings will be re
ac80: 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  turned.</li>..<l
ac90: 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61  i>if the underla
aca0: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47  ying Network's G
acb0: 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62  eometries are <b
acc0: 3e 58 59 4d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 58  >XYM</b> or <b>X
acd0: 59 5a 4d 3c 2f 62 3e 20 74 68 65 6e 20 20 4c 69  YZM</b> then  Li
ace0: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e  nestrings return
acf0: 65 64 20 69 6e 74 6f 20 74 68 65 20 72 65 73 75  ed into the resu
ad00: 6c 74 73 65 74 20 77 69 6c 6c 20 6d 61 69 6e 74  ltset will maint
ad10: 61 69 6e 20 74 68 65 20 73 61 6d 65 20 64 69 6d  ain the same dim
ad20: 65 6e 73 69 6f 6e 73 20 61 73 20 69 6e 20 74 68  ensions as in th
ad30: 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65  e underlaying Ne
ad40: 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  twork.</li>..<li
ad50: 3e 69 6e 20 61 6e 79 20 63 61 73 65 20 74 68 65  >in any case the
ad60: 20 3c 62 3e 4d 3c 2f 62 3e 20 76 61 6c 75 65 73   <b>M</b> values
ad70: 20 77 69 6c 6c 20 62 65 20 61 70 70 72 6f 70 72   will be appropr
ad80: 69 61 74 65 6c 79 20 73 65 74 20 73 6f 20 74 6f  iately set so to
ad90: 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 3c   represent the <
ada0: 75 3e 70 61 72 74 69 61 6c 20 63 6f 73 74 3c 2f  u>partial cost</
adb0: 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  u> corresponding
adc0: 20 74 6f 20 65 61 63 68 20 76 65 72 74 65 78 2e   to each vertex.
add0: 0d 0a 28 69 66 20 74 68 65 20 69 6e 70 75 74 20  ..(if the input 
ade0: 4c 69 6e 65 73 74 72 69 6e 67 73 20 61 6c 72 65  Linestrings alre
adf0: 61 64 79 20 63 6f 6e 74 61 69 6e 73 20 4d 2d 76  ady contains M-v
ae00: 61 6c 75 65 73 20 74 68 65 79 27 6c 6c 20 62 65  alues they'll be
ae10: 20 6f 76 65 72 77 72 69 74 74 65 6e 29 2e 3c 2f   overwritten).</
ae20: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
ae30: 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73  ..In other words
ae40: 2c 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67  , all Linestring
ae50: 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 56 69  s returned by Vi
ae60: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e  rtualRouting can
ae70: 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70   effectively sup
ae80: 70 6f 72 74 20 3c 62 3e 4c 52 3c 2f 62 3e 20 28  port <b>LR</b> (
ae90: 3c 69 3e 4c 69 6e 65 61 72 20 52 65 66 65 72 65  <i>Linear Refere
aea0: 6e 63 69 6e 67 3c 2f 69 3e 29 20 53 51 4c 20 66  ncing</i>) SQL f
aeb0: 75 6e 63 74 69 6f 6e 73 2c 20 61 73 20 69 6e 20  unctions, as in 
aec0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78  the following ex
aed0: 61 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 61 74  amples:..<verbat
aee0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c  im>..SELECT ST_L
aef0: 6f 63 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65  ocate_Between_Me
af00: 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 79  asures(<geometry
af10: 3e 2c 20 33 30 2e 30 2c 20 34 35 2e 30 29 3b 0d  >, 30.0, 45.0);.
af20: 0a 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 38 30 2e 30 2c 20 39 35 2e 30 29 3b 0d 0a 3c   80.0, 95.0);..<
af60: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20  /verbatim>..The 
af70: 73 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63  side map graphic
af80: 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65  ally shows the e
af90: 73 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f  stimated positio
afa0: 6e 73 20 72 65 73 70 65 63 74 69 76 65 6c 79 20  ns respectively 
afb0: 3c 62 3e 33 30 3c 2f 62 3e 2d 3c 62 3e 34 35 3c  <b>30</b>-<b>45<
afc0: 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65  /b> seconds afte
afd0: 72 20 73 74 61 72 74 69 6e 67 20 28 79 65 6c 6c  r starting (yell
afe0: 6f 77 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 20  ow dotted line) 
aff0: 61 6e 64 20 3c 62 3e 38 30 3c 2f 62 3e 2d 3c 62  and <b>80</b>-<b
b000: 3e 39 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20  >95</b> seconds 
b010: 61 66 74 65 72 20 73 74 61 72 74 69 6e 67 20 28  after starting (
b020: 67 72 65 65 6e 20 64 6f 74 74 65 64 20 6c 69 6e  green dotted lin
b030: 65 29 2e 3c 62 72 3e 0d 0a 28 61 73 73 75 6d 69  e).<br>..(assumi
b040: 6e 67 20 74 68 65 20 73 61 6d 65 20 70 61 74 68  ng the same path
b050: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
b060: 20 6c 61 74 65 73 74 20 3c 62 3e 62 79 63 61 72   latest <b>bycar
b070: 3c 2f 62 3e 20 71 75 65 72 79 29 2e 0d 0a 3c 2f  </b> query)...</
b080: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
b090: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
b0a0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
b0b0: 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
b0c0: 73 2f 72 6f 75 74 69 6e 67 32 2e 6a 70 67 22 20  s/routing2.jpg" 
b0d0: 61 6c 74 3d 22 66 69 67 32 22 3e 3c 2f 74 64 3e  alt="fig2"></td>
b0e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
b0f0: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 32 3e 50 6c 61  >..<br>..<h2>Pla
b100: 79 69 6e 67 20 77 69 74 68 20 56 69 72 74 75 61  ying with Virtua
b110: 6c 52 6f 75 74 69 6e 67 20 63 6f 6e 66 69 67 75  lRouting configu
b120: 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 3c 2f 68  rable options</h
b130: 32 3e 0d 0a 53 65 76 65 72 61 6c 20 61 73 70 65  2>..Several aspe
b140: 63 74 73 20 6f 66 20 56 69 72 74 75 61 6c 52 6f  cts of VirtualRo
b150: 75 74 69 6e 67 20 63 61 6e 20 62 65 20 66 72 65  uting can be fre
b160: 65 6c 79 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0d  ely customized..
b170: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
b180: 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41  ATE byfoot SET A
b190: 6c 67 6f 72 69 74 68 6d 20 3d 20 27 41 2a 27 3b  lgorithm = 'A*';
b1a0: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
b1b0: 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52  ithm, Options, R
b1c0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
b1d0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
b1e0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
b1f0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
b200: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
b210: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
b220: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
b230: 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  o = 183286;..</v
b240: 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75  erbatim>..If you
b250: 20 72 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c   remember in all
b260: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78   the previous ex
b270: 61 6d 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69  amples the <b>Di
b280: 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67  jkstra's</b> alg
b290: 6f 72 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b  orithm was used;
b2a0: 20 6e 6f 77 20 28 61 66 74 65 72 20 65 78 65 63   now (after exec
b2b0: 75 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20  uting the above 
b2c0: 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61  <b>UPDATE</b>) a
b2d0: 6c 6c 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  ll Shortest Path
b2e0: 20 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65   queries will be
b2f0: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c   based on the al
b300: 74 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c  ternative <b>A*<
b310: 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62  /b> algorithm.<b
b320: 72 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20  r>..If you wish 
b330: 74 6f 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20  to select again 
b340: 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61  the Dijkstra's a
b350: 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73  lgorithm you jus
b360: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74  t have to execut
b370: 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20  e<br> <b>UPDATE 
b380: 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72  byfoot SET Algor
b390: 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41  ithm = 'DIJKSTRA
b3a0: 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d  ';</b>.<br><br>.
b3b0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
b3c0: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
b3d0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
b3e0: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
b3f0: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
b400: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
b410: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
b420: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  n the <b>Algorit
b430: 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  hm</b> column...
b440: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
b450: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
b460: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
b470: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
b480: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
b490: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
b4a0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
b4b0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
b4c0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
b4d0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
b4e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
b4f0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
b500: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b510: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
b520: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b530: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
b540: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b550: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
b560: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b570: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
b580: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b590: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
b5a0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b5b0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
b5c0: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
b5d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
b5e0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
b5f0: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46  <td>A*</td><td>F
b600: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ull</td><td alig
b610: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
b620: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
b630: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b640: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b650: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b660: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
b670: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b680: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
b690: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
b6a0: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
b6b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b6c0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
b6d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
b6e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
b6f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
b700: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
b710: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b720: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
b730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b740: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b750: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
b760: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b770: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
b780: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
b790: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
b7a0: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
b7b0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
b7c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
b7d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
b7e0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
b7f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
b800: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
b810: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
b820: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
b830: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b840: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
b850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
b860: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74  ht">69.727726</t
b870: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
b880: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
b890: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
b8a0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
b8b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b8c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b8d0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
b8e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b8f0: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
b900: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
b910: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
b920: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
b930: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
b940: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
b950: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64  6.372057</td><td
b960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
b970: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
b980: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
b990: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  le>..<br><br><br
b9a0: 3e 0d 0a 59 6f 75 20 63 61 6e 20 65 76 65 6e 74  >..You can event
b9b0: 75 61 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 20  ually configure 
b9c0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
b9d0: 74 75 72 6e 65 64 20 74 68 65 20 56 69 72 74 75  turned the Virtu
b9e0: 61 6c 52 6f 75 74 69 6e 67 20 71 75 65 72 69 65  alRouting querie
b9f0: 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  s...<verbatim>..
ba00: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
ba10: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20  T Options = 'NO 
ba20: 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43  LINKS';....SELEC
ba30: 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74  T Algorithm, Opt
ba40: 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20  ions, RouteRow, 
ba50: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
ba60: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
ba70: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
ba80: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
ba90: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
baa0: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
bab0: 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38  D NodeTo = 18328
bac0: 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  6;..</verbatim>.
bad0: 0a 41 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c  .After setting <
bae0: 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 4c 49  b>Options='NO LI
baf0: 4e 4b 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73  NKS'</b> the res
bb00: 75 6c 74 73 65 74 20 77 69 6c 6c 20 73 69 6d 70  ultset will simp
bb10: 6c 79 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 68  ly contain the h
bb20: 65 61 64 65 72 20 72 6f 77 2c 20 61 6e 64 20 61  eader row, and a
bb30: 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ll the following
bb40: 20 72 6f 77 73 20 77 69 6c 6c 20 62 65 20 73 75   rows will be su
bb50: 70 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c  ppressed.<br>..<
bb60: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64  u>Note</u>: prod
bb70: 75 63 69 6e 67 20 61 20 72 65 64 75 63 65 64 20  ucing a reduced 
bb80: 72 65 73 75 6c 74 73 65 74 20 69 73 20 65 78 70  resultset is exp
bb90: 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65  ected to be some
bba0: 77 61 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d  way faster.<br>.
bbb0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
bbc0: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
bbd0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
bbe0: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
bbf0: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
bc00: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
bc10: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
bc20: 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73  n the <b>Options
bc30: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62  </b> column...<b
bc40: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
bc50: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
bc60: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
bc70: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
bc80: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
bc90: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
bca0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
bcb0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
bcc0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
bcd0: 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
bce0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
bcf0: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
bd00: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
bd10: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
bd20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
bd30: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
bd40: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
bd50: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
bd60: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bd70: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
bd80: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
bd90: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
bda0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bdb0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
bdc0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bdd0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
bde0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
bdf0: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e  <td>A*</td><td>N
be00: 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20  o Links</td><td 
be10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
be20: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
be30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
be40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
be50: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
be60: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
be70: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
be80: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39  gn="right">300.9
be90: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c  12208</td><td>BL
bea0: 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54  OB sz=272 GEOMET
beb0: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
bec0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
bed0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c  able>..<br><br><
bee0: 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  br>..<verbatim>.
bef0: 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
bf00: 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f  ET Options = 'NO
bf10: 20 47 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d   GEOMETRIES';...
bf20: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
bf30: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  m, Options, Rout
bf40: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
bf50: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
bf60: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
bf70: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
bf80: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
bf90: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
bfa0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
bfb0: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
bfc0: 61 74 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69  atim>After setti
bfd0: 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e  ng <b>Options='N
bfe0: 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62  O GEOMETRIES'</b
bff0: 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  > the resultset 
c000: 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c  will contain all
c010: 20 72 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47   rows, but all G
c020: 65 6f 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62  eometries will b
c030: 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72  e suppressed.<br
c040: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
c050: 74 68 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65  this too is expe
c060: 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77  cted to be somew
c070: 61 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a  ay faster.<br>..
c080: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61  The following ta
c090: 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65  ble shows the re
c0a0: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
c0b0: 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73   by the previous
c0c0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
c0d0: 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74  uery; please not
c0e0: 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e  ice the value in
c0f0: 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c   the <b>Options<
c100: 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72  /b> column...<br
c110: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
c120: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
c130: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
c140: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
c150: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
c160: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c170: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
c180: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c190: 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f  ="#d0d0a0">Optio
c1a0: 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ns</th><th bgcol
c1b0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
c1c0: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
c1d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c1e0: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
c1f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
c200: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
c210: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c220: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
c230: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c240: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
c250: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c260: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
c270: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c280: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
c290: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c2a0: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
c2b0: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64  h></tr>..<tr><td
c2c0: 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47  >A*</td><td>No G
c2d0: 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74  eometries</td><t
c2e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c2f0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
c300: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c310: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c320: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
c330: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c340: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
c350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
c360: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
c370: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
c380: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
c390: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
c3a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c3b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c3c0: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
c3d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c3e0: 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64  ight">224014</td
c3f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c400: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
c410: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c420: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
c430: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e  lign="right">94.
c440: 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e  812424</td><td>N
c450: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
c460: 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f  PIETRO ARETINO</
c470: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
c480: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
c490: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
c4a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
c4b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
c4c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c4d0: 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74  t">224446</td><t
c4e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c4f0: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
c500: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
c510: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
c520: 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37  n="right">69.727
c530: 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  726</td><td>NULL
c540: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
c550: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
c560: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
c570: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
c580: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
c590: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
c5a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
c5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
c5c0: 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  414</td><td alig
c5d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
c5e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c5f0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
c600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c610: 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f  ht">136.372057</
c620: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c630: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
c640: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
c650: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  .</table>..<br><
c660: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  br><br>..<verbat
c670: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
c680: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d  ot SET Options =
c690: 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45   'SIMPLE';....SE
c6a0: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
c6b0: 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f  Options, RouteRo
c6c0: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
c6d0: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
c6e0: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
c6f0: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
c700: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
c710: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
c720: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38   AND NodeTo = 18
c730: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  3286;..</verbati
c740: 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74  m>Setting <b>Opt
c750: 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62  ions='SIMPLE'</b
c760: 3e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65  > has the same e
c770: 66 66 65 63 74 20 74 68 61 6e 20 73 65 74 74 69  ffect than setti
c780: 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49  ng both <b>NO LI
c790: 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e  NKS</b> and <b>N
c7a0: 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e  O GEOMETRIES</b>
c7b0: 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d   at the same tim
c7c0: 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  e.<br>..<u>Note<
c7d0: 2f 75 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70  /u>: this is exp
c7e0: 65 63 74 65 64 20 74 6f 20 62 65 20 74 68 65 20  ected to be the 
c7f0: 66 61 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e  fastest setting.
c800: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
c810: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
c820: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
c830: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
c840: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20  evious Shortest 
c850: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61  Path query; plea
c860: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61  se notice the va
c870: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70  lue in the <b>Op
c880: 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  tions</b> column
c890: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
c8a0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
c8b0: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
c8c0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
c8d0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
c8e0: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
c8f0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
c900: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
c910: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c920: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68  >Options</th><th
c930: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c940: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
c950: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c960: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
c970: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c980: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
c990: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c9a0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
c9b0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
c9c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
c9d0: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
c9e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
c9f0: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
ca00: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
ca10: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
ca20: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
ca30: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
ca40: 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e  tr>..<td>A*</td>
ca50: 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c  <td>Simple</td><
ca60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ca70: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
ca80: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ca90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
caa0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
cab0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
cac0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
cad0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
cae0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
caf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
cb00: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
cb10: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
cb20: 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20  Finally, if you 
cb30: 77 69 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61  wish to select a
cb40: 67 61 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c  gain the initial
cb50: 20 73 74 61 6e 64 61 72 64 20 73 65 74 74 69 6e   standard settin
cb60: 67 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20  g you just have 
cb70: 74 6f 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c  to execute<br> <
cb80: 62 3e 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  b>UPDATE byfoot 
cb90: 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 46  SET Options = 'F
cba0: 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  ULL';</b>.<br><b
cbb0: 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68  r>..<hr><br>..<h
cbc0: 31 3e 3c 61 20 6e 61 6d 65 3d 22 6d 75 6c 74 69  1><a name="multi
cbd0: 22 3e 35 20 2d 20 53 6f 6c 76 69 6e 67 20 6d 75  ">5 - Solving mu
cbe0: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
cbf0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72  Shortest Path pr
cc00: 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d  oblems</a></h1>.
cc10: 0a 41 20 76 65 72 79 20 69 6e 74 65 72 65 73 74  .A very interest
cc20: 69 6e 67 20 66 65 61 74 75 72 65 20 73 75 70 70  ing feature supp
cc30: 6f 72 74 65 64 20 62 79 20 74 68 65 20 44 69 6a  orted by the Dij
cc40: 6b 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68  kstra's Algorith
cc50: 6d 20 69 73 20 74 68 61 74 20 69 74 20 72 6f 62  m is that it rob
cc60: 75 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68  ustly ensures th
cc70: 61 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e  at when a destin
cc80: 61 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64  ation is reached
cc90: 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61   all the destina
cca0: 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67  tions presenting
ccb0: 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73   a <b>lesser cos
ccc0: 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 61  t</b> have alrea
ccd0: 64 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 20  dy been reached 
cce0: 69 6e 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 73  in some previous
ccf0: 20 73 74 65 70 20 6f 66 20 74 68 65 20 70 72 6f   step of the pro
cd00: 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  cess.<br>..This 
cd10: 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69  allows to effici
cd20: 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62  ently support <b
cd30: 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e  >multiple destin
cd40: 61 74 69 6f 6e 73 3c 2f 62 3e 20 53 68 6f 72 74  ations</b> Short
cd50: 65 73 74 20 50 61 74 68 20 71 75 65 72 69 65 73  est Path queries
cd60: 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61  ...You simply ha
cd70: 76 65 20 74 6f 20 73 70 65 63 69 66 79 20 61 20  ve to specify a 
cd80: 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e  <b>single origin
cd90: 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 6e   Node</b> and an
cda0: 20 3c 62 3e 61 72 62 69 74 72 61 72 79 20 6c 69   <b>arbitrary li
cdb0: 73 74 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f  st of destinatio
cdc0: 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61  n Nodes</b> in a
cdd0: 20 73 69 6e 67 6c 65 20 44 69 6a 6b 73 74 72 61   single Dijkstra
cde0: 27 73 20 65 78 65 63 75 74 69 6f 6e 2e 3c 62 72  's execution.<br
cdf0: 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  ><br>..<u>Note</
ce00: 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 61 20  u>: executing a 
ce10: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
ce20: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
ce30: 71 75 65 72 79 20 72 65 71 75 69 72 65 73 20 61  query requires a
ce40: 20 3c 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74   <b>processing t
ce50: 69 6d 65 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e  ime</b> that isn
ce60: 27 74 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66  't the <u>sum of
ce70: 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20   all individual 
ce80: 74 69 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68  timings for each
ce90: 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e   destination</u>
cea0: 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20  , but simply is 
ceb0: 74 68 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75  the <u>time requ
cec0: 69 72 65 64 20 74 6f 20 72 65 61 63 68 20 74 68  ired to reach th
ced0: 65 20 6d 6f 73 74 20 63 6f 73 74 6c 79 20 6f 66  e most costly of
cee0: 20 61 6c 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e   all destination
cef0: 73 20 69 6e 20 74 68 65 20 6c 69 73 74 3c 2f 75  s in the list</u
cf00: 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e  >.<br>..This isn
cf10: 27 74 20 72 69 67 6f 72 6f 75 73 6c 79 20 74 72  't rigorously tr
cf20: 75 65 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  ue in the case o
cf30: 66 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75  f the VirtualRou
cf40: 74 69 6e 67 20 73 70 65 63 69 66 69 63 20 69 6d  ting specific im
cf50: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 62 65  plementation, be
cf60: 63 61 75 73 65 20 61 72 72 61 6e 67 69 6e 67 20  cause arranging 
cf70: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f  the resultset to
cf80: 20 62 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64   be returned and
cf90: 20 63 72 65 61 74 69 6e 67 20 61 6c 6c 20 74 68   creating all th
cfa0: 65 20 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e  e individual Lin
cfb0: 65 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63  estrings for eac
cfc0: 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69  h destination wi
cfd0: 6c 6c 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65  ll surely impose
cfe0: 20 73 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76   some further ov
cff0: 65 72 68 65 61 64 2c 20 62 75 74 20 6e 6f 6e 65  erhead, but none
d000: 74 68 65 6c 65 73 73 20 69 74 20 72 65 6d 61 69  theless it remai
d010: 6e 73 20 63 6f 6e 66 69 72 6d 65 64 20 74 68 61  ns confirmed tha
d020: 74 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 69  t executing a si
d030: 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65 73 74 69  ngle multi-desti
d040: 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 77 69 6c  nation query wil
d050: 6c 20 73 75 72 65 6c 79 20 62 65 20 20 6e 6f 74  l surely be  not
d060: 69 63 65 61 62 6c 79 20 66 61 73 74 65 72 20 74  iceably faster t
d070: 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 6d 61  hen executing ma
d080: 6e 79 20 73 70 61 72 73 65 20 73 69 6e 67 6c 65  ny sparse single
d090: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65  -destination que
d0a0: 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  ries...<verbatim
d0b0: 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  >..SELECT Algori
d0c0: 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70  thm, Request, Op
d0d0: 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72  tions, Delimiter
d0e0: 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65  , RouteId, Route
d0f0: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
d100: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
d110: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
d120: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
d130: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
d140: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
d150: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
d160: 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c 31  '183286,290458,1
d170: 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32 34  81999,184030,124
d180: 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37 35  622,183882,17875
d190: 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  4';..</verbatim>
d1a0: 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73  ..As you can eas
d1b0: 69 6c 79 20 6e 6f 74 69 63 65 2c 20 61 20 3c 62  ily notice, a <b
d1c0: 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74 69 6e  >multiple-destin
d1d0: 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79  ations</b> query
d1e0: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 64   has the same id
d1f0: 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20  entical form of 
d200: 61 6e 79 20 75 73 75 61 6c 20 53 68 6f 72 74 65  any usual Shorte
d210: 73 74 20 50 61 74 68 20 71 75 65 72 79 2c 20 65  st Path query, e
d220: 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 3c 62  xcept in that <b
d230: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 6e 6f 77 20  >NodeTo</b> now 
d240: 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61  corresponds to a
d250: 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64   comma-separated
d260: 20 6c 69 73 74 2e 3c 62 72 3e 0d 0a 54 68 65 20   list.<br>..The 
d270: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
d280: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
d290: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
d2a0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 6d 75 6c  the previous mul
d2b0: 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53  ti-destination S
d2c0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
d2d0: 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  ry...<br><br>..<
d2e0: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22  table border="1"
d2f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63   bgcolor="#ffffc
d300: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  f" cellspacing="
d310: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  4" cellpadding="
d320: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  6">..<tr><th bgc
d330: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41  olor="#d0d0a0">A
d340: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68  lgorithm</th><th
d350: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d360: 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c  0">Request</th><
d370: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d380: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68  0a0">Options</th
d390: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d3a0: 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72  0d0a0">Delimiter
d3b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d3c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
d3d0: 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  Id</th><th bgcol
d3e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
d3f0: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
d400: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d410: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
d420: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
d430: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
d440: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d450: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
d460: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d470: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
d480: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d490: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
d4a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d4b0: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
d4c0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d4d0: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
d4e0: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
d4f0: 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e  td>Dijkstra</td>
d500: 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74  <td>Shortest Pat
d510: 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f  h</td><td>Full</
d520: 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65  td><td>, &#91;de
d530: 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33  c=44, hex=2c&#93
d540: 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  ;</td><td align=
d550: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
d560: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d570: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
d580: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d590: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d5a0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
d5b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d5c0: 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
d5d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34  lign="right">154
d5e0: 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e  .750839</td><td>
d5f0: 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d  BLOB sz=240 GEOM
d600: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
d610: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
d620: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
d630: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d640: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d650: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
d660: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d670: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d680: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
d690: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
d6a0: 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f  "right">222636</
d6b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d6c0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
d6d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d6e0: 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64  ">182000</td><td
d6f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d700: 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74  03.735722</td><t
d710: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
d720: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
d730: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
d740: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
d750: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d760: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d770: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
d780: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d790: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d7a0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
d7b0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
d7c0: 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f  "right">225527</
d7d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d7e0: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
d7f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d800: 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
d810: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
d820: 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64  1.015117</td><td
d830: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
d840: 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49  A LICIO NENCETTI
d850: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
d860: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
d870: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d880: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
d890: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
d8a0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
d8b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d8c0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
d8d0: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
d8e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d8f0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
d900: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d910: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
d920: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d930: 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74  76.364755</td><t
d940: 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45  d>BLOB sz=304 GE
d950: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
d960: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
d970: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
d980: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d990: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d9a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
d9b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
d9c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d9d0: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
d9e0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
d9f0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
da00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
da10: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
da20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
da30: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
da40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
da50: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
da60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
da70: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
da80: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
da90: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
daa0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dab0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dac0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
dad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
dae0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
daf0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
db00: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
db10: 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36 32 3c  ="right">224862<
db20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
db30: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
db40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
db50: 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74  t">182043</td><t
db60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
db70: 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74  37.095287</td><t
db80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
db90: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
dba0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
dbb0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
dbc0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dbd0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
dbe0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
dbf0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
dc00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dc10: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
dc20: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dc30: 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e  ght">226070</td>
dc40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dc50: 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64  ">182043</td><td
dc60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dc70: 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  84030</td><td al
dc80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e 34  ign="right">44.4
dc90: 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  57044</td><td>NU
dca0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a  LL</td><td>PIAZZ
dcb0: 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c  A SANT'AGOSTINO<
dcc0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
dcd0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
dce0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dcf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dd00: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
dd10: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
dd20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dd30: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
dd40: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dd50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dd60: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
dd70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dd80: 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
dd90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
dda0: 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64  4.677095</td><td
ddb0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f  >BLOB sz=240 GEO
ddc0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
ddd0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
dde0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
ddf0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
de00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
de10: 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22  >NULL<td align="
de20: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
de30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
de40: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
de50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
de60: 68 74 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e 3c  ht">219045</td><
de70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
de80: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
de90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
dea0: 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
deb0: 67 6e 3d 22 72 69 67 68 74 22 3e 37 36 2e 30 32  gn="right">76.02
dec0: 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1007</td><td>NUL
ded0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 53  L</td><td>VIA AS
dee0: 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SAB</td>..</tr>.
def0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
df00: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
df10: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
df20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
df30: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
df40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
df50: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
df60: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
df70: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38  n="right">219058
df80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
df90: 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74  right">178732</t
dfa0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dfb0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
dfc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dfd0: 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e  >148.656089</td>
dfe0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dff0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
e000: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
e010: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e020: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e030: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e040: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e050: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
e060: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e070: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
e080: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
e090: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e0a0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
e0b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e0c0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
e0d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e0e0: 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f  ht">260.132354</
e0f0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
e100: 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  40 GEOMETRY</td>
e110: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
e120: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e130: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e140: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e150: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e160: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e170: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e180: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
e190: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e1a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e1b0: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
e1c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e1d0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
e1e0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
e1f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e200: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
e210: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e220: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
e230: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
e240: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e250: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e260: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e270: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e280: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e290: 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
e2a0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
e2b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e2c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e2d0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
e2e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
e2f0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
e300: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
e310: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e320: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
e330: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e340: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
e350: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
e360: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e370: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e380: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e390: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e3a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
e3b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e3c0: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
e3d0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
e3e0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30 30  n="right">225800
e3f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e400: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
e410: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e420: 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
e430: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e440: 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c  >95.592204</td><
e450: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e460: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
e470: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
e480: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e490: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e4a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e4b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e4c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
e4d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e4e0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
e4f0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
e500: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e510: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
e520: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e530: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
e540: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e550: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
e560: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37  d><td>BLOB sz=27
e570: 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  2 GEOMETRY</td><
e580: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
e590: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e5a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e5b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e5c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e5e0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e5f0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
e600: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e610: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e620: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
e630: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e640: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e650: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
e660: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e670: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f  ght">94.812424</
e680: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e690: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
e6a0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
e6b0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e6c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e6d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e6e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e6f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e700: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
e710: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
e720: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
e740: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
e750: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
e760: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e770: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
e780: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e790: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74  ht">69.727726</t
e7a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e7b0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
e7c0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
e7d0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e7e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e7f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e800: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e810: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
e820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e830: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
e840: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e850: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c  ="right">224414<
e860: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e870: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
e880: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e890: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
e8a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e8b0: 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c  136.372057</td><
e8c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e8d0: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
e8e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
e8f0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
e900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e910: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e920: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e930: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e940: 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65  ><td>Unreachable
e950: 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e   NodeTo</td><td>
e960: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e970: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e980: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e990: 22 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f  "right">290458</
e9a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e9c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
e9d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e9e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e9f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ea00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ea10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
ea20: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61  LL</td><td>Unrea
ea30: 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74  chable NodeTo</t
ea40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ea50: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ea60: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
ea70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32  align="right">12
ea80: 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4622</td><td>NUL
ea90: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
eaa0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eab0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
eac0: 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71  >..<br>..Let's q
ead0: 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74  uickly examine t
eae0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
eaf0: 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f  urned by the abo
eb00: 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  ve <b>multi-dest
eb10: 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65  inations</b> que
eb20: 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  ry...<ul>..<li>t
eb30: 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f 75  he overall layou
eb40: 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63  t is almost exac
eb50: 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20  tly the same as 
eb60: 79 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73  you've already s
eb70: 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20  een in the case 
eb80: 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73  of <b>single-des
eb90: 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65  tination</b> que
eba0: 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69  ries, but in thi
ebb0: 73 20 63 61 73 65 20 6d 6f 72 65 20 69 6e 64 69  s case more indi
ebc0: 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20 73 6f  vidual travel so
ebd0: 6c 75 74 69 6f 6e 73 20 61 72 65 20 67 72 6f 75  lutions are grou
ebe0: 70 65 64 20 61 6c 74 6f 67 65 74 68 65 72 2e 3c  ped altogether.<
ebf0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
ec00: 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f  >first row</b> o
ec10: 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
ec20: 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70  is someway excep
ec30: 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74  tional, and is t
ec40: 68 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66  he unique row of
ec50: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70   the resultset p
ec60: 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54  resenting <b>NOT
ec70: 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73   NULL</b> values
ec80: 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72   in the <b>Algor
ec90: 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71  ithm</b>, <b>Req
eca0: 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74  uest</b>, <b>Opt
ecb0: 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ions</b> and <b>
ecc0: 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f  Delimiter</b> co
ecd0: 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  lumns.</li>..<li
ece0: 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c  >the <b>RouteId<
ecf0: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e  /b> column is in
ed00: 74 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20  tended to group 
ed10: 74 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77  together all row
ed20: 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73  s belonging to s
ed30: 61 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ame travel solut
ed40: 69 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  ion (<i>aka</i> 
ed50: 3c 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62  <b>Route</b>).<b
ed60: 72 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70  r>..Routes are p
ed70: 72 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d  rogressively num
ed80: 62 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72  bered and are or
ed90: 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c  dered accordingl
eda0: 79 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f  y to their <b>to
edb0: 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c  tal cost</b>.</l
edc0: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52  i>..<li>the <b>R
edd0: 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75  outeRow</b> colu
ede0: 6d 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20  mn has the same 
edf0: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61  interpretation a
ee00: 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74  s in single-dest
ee10: 69 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65  ination resultse
ee20: 74 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e  ts, and is inten
ee30: 64 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69  ded to progressi
ee40: 76 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68  vely order in th
ee50: 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e  e correct sequen
ee60: 63 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e  ce all Links con
ee70: 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67  necting the Orig
ee80: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
ee90: 6e 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52  nation of each R
eea0: 6f 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f  oute.<br>..<b>Ro
eeb0: 75 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77  uteRow=0</b> alw
eec0: 61 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74  ays identifies t
eed0: 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66  he header row of
eee0: 20 65 61 63 68 20 74 72 61 76 65 6c 20 73 6f 6c   each travel sol
eef0: 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  ution.</li>..</u
ef00: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  l>..<br>..<u>Not
ef10: 69 63 65 3c 2f 75 3e 3a 20 74 68 65 20 6c 61 73  ice</u>: the las
ef20: 74 20 74 77 6f 20 72 6f 77 73 20 69 6e 20 74 68  t two rows in th
ef30: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 70 6f  e resultset repo
ef40: 72 74 73 20 3c 62 3e 55 6e 72 65 61 63 68 61 62  rts <b>Unreachab
ef50: 6c 65 20 4e 6f 64 65 54 6f 09 3c 2f 62 3e 20 69  le NodeTo.</b> i
ef60: 6e 20 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62  n the <b>Role</b
ef70: 3e 20 63 6f 6c 75 6d 6e 2c 20 74 68 75 73 20 69  > column, thus i
ef80: 6d 70 6c 79 69 6e 67 20 61 20 3c 62 3e 66 6f 72  mplying a <b>for
ef90: 62 69 64 64 65 6e 20 63 6f 6e 6e 65 63 74 69 6f  bidden connectio
efa0: 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73  n</b>.<br>..This
efb0: 20 77 61 73 20 70 75 72 70 6f 73 65 6c 79 20 69   was purposely i
efc0: 6e 74 65 6e 64 65 64 3a 20 4e 6f 64 65 73 20 3c  ntended: Nodes <
efd0: 62 3e 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e 64  b>290458</b> and
efe0: 20 3c 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20 61   <b>124622</b> a
eff0: 72 65 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45 6c  re located on El
f000: 62 61 20 61 6e 64 20 47 69 67 6c 69 6f 20 69 73  ba and Giglio is
f010: 6c 61 6e 64 73 2e 20 54 68 65 20 75 6e 64 65 72  lands. The under
f020: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20 69  laying Network i
f030: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49 74  s based on <b>It
f040: 65 72 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74 20  er.Net</b> that 
f050: 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 73 20 66  don't supports f
f060: 65 72 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 73  erry connections
f070: 2c 20 73 6f 20 61 6e 79 20 74 72 61 76 65 6c 20  , so any travel 
f080: 73 6f 6c 75 74 69 6f 6e 20 62 65 74 77 65 65 6e  solution between
f090: 20 74 68 65 20 69 73 6c 61 6e 64 73 20 61 6e 64   the islands and
f0a0: 20 74 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77 69   the mainland wi
f0b0: 6c 6c 20 61 6c 77 61 79 73 20 66 61 69 6c 2e 0d  ll always fail..
f0c0: 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 41  .<br><br><br>..A
f0d0: 6c 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73  lso <b>multi-des
f0e0: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75  tinations</b> qu
f0f0: 65 72 69 65 73 20 63 61 6e 20 62 65 20 63 75 73  eries can be cus
f100: 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65  tomized, but the
f110: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72   configuration r
f120: 75 6c 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69  ules slightly di
f130: 66 66 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79  ffer from what y
f140: 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 20  ou have already 
f150: 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65  seen in the case
f160: 20 6f 66 20 73 69 6e 67 6c 65 2d 64 65 73 74 69   of single-desti
f170: 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c  nation...<ul>..<
f180: 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  li><b>Algorithm<
f190: 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a  /b>: only <b>Dij
f1a0: 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20 73 75 70  kstra</b> is sup
f1b0: 70 6f 72 74 65 64 20 62 79 20 6d 75 6c 74 69 2d  ported by multi-
f1c0: 64 65 73 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 79  destination; any
f1d0: 20 61 74 74 65 6d 70 74 20 74 6f 20 75 73 65 20   attempt to use 
f1e0: 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20  the alternative 
f1f0: 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69  <b>A*</b> algori
f200: 74 68 6d 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20  thm will simply 
f210: 72 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20  return an empty 
f220: 72 65 73 75 6c 74 73 65 74 2e 3c 2f 6c 69 3e 0d  resultset.</li>.
f230: 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c  .<li><b>Options<
f240: 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c  /b>: the usual <
f250: 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53  b>FULL</b>, <b>S
f260: 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f  IMPLE</b>, <b>NO
f270: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
f280: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
f290: 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65  /b> are supporte
f2a0: 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20  d and will have 
f2b0: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20  the same effect 
f2c0: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
f2d0: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
f2e0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
f2f0: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
f300: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
f310: 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b  ions = 'SIMPLE';
f320: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
f330: 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
f340: 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
f350: 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
f360: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
f370: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
f380: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
f390: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
f3a0: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
f3b0: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
f3c0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
f3d0: 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c   '183286,290458,
f3e0: 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32  181999,184030,12
f3f0: 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37  4622,183882,1787
f400: 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
f410: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
f420: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
f430: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
f440: 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20  ned by the same 
f450: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
f460: 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e 20  n query used in 
f470: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
f480: 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c  mple after enabl
f490: 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c  ing the <b>SIMPL
f4a0: 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c  E</b> option...<
f4b0: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
f4c0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
f4d0: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
f4e0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
f4f0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
f500: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
f510: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
f520: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
f530: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
f540: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
f550: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
f560: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
f570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f580: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
f590: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f5a0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
f5b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f5c0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
f5d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f5e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
f5f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f600: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
f610: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
f620: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
f630: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
f640: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f650: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
f660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f670: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
f680: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f690: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
f6a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f6b0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
f6c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
f6d0: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
f6e0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
f6f0: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
f700: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
f710: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
f720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f730: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
f740: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
f750: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
f760: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
f770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
f780: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
f790: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
f7a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
f7b0: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
f7c0: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
f7d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
f7e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
f7f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
f800: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
f810: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
f820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f830: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
f840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
f850: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
f860: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f870: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f880: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
f890: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
f8a0: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
f8b0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
f8c0: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4755</td><td>NUL
f8d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
f8e0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
f8f0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
f900: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
f910: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
f920: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
f930: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
f940: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f950: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
f960: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f970: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f980: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
f990: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f9a0: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
f9b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
f9c0: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e  .677095</td><td>
f9d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
f9e0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
f9f0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
fa00: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fa10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fa20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fa30: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
fa40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fa50: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
fa60: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
fa70: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fa80: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
fa90: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
faa0: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
fab0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fac0: 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c  260.132354</td><
fad0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fae0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
faf0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
fb00: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fb10: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fb20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fb30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
fb40: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fb50: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
fb60: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
fb70: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fb80: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fb90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fba0: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
fbb0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fbc0: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
fbd0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fbe0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
fbf0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
fc00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fc10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fc20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fc30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fc40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72  NULL</td><td>Unr
fc50: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c  eachable NodeTo<
fc60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fc70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fc80: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fc90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fca0: 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e  290458</td><td>N
fcb0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fcc0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fcd0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
fce0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
fcf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fd00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fd10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fd20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fd30: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e  td>Unreachable N
fd40: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55  odeTo</td><td>NU
fd50: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fd60: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fd70: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fd80: 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64  ight">124622</td
fd90: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fda0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fdb0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
fdc0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
fdd0: 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
fde0: 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
fdf0: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62   the previous <b
fe00: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
fe10: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e  ons</b> queries.
fe20: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
fe30: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
fe40: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
fe50: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
fe60: 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70  figs/routing3.jp
fe70: 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a  g" alt="fig3">..
fe80: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74  <ul>..<li>Red st
fe90: 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e  ar: the Origin N
fea0: 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47  ode.</li>..<li>G
feb0: 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44  reen dots: the D
fec0: 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73  estination Nodes
fed0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c  .</li>..<li>Yell
fee0: 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e  ow lines: all in
fef0: 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20  dividual travel 
ff00: 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  solutions.</li>.
ff10: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ul>..<br>..<t
ff20: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
ff30: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
ff40: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
ff50: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
ff60: 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20  ..<h3>Dangerous 
ff70: 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64  pitfalls related
ff80: 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73   to multiple des
ff90: 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f  tination lists</
ffa0: 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20  h3>..SQL syntax 
ffb0: 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20  directly allows 
ffc0: 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74 73  to specify lists
ffd0: 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61   of  multiple va
ffe0: 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20  lues, so may be 
fff0: 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64  you are now wond
10000 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74  ering about writ
10010 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69  ing the <b>multi
10020 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple destinations
10030 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74 65  </b> query teste
10040 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
10050 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20  s examples this 
10060 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  way:..<verbatim>
10070 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
10080 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
10090 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
100a0 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
100b0 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
100c0 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
100d0 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
100e0 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
100f0 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
10100 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
10110 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20  1 AND NodeTo IN 
10120 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10130 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
10140 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
10150 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72   178754);..</ver
10160 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73  batim>..There is
10170 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61   a very good rea
10180 73 6f 6e 20 64 69 73 63 6f 75 72 61 67 69 6e 67  son discouraging
10190 20 66 72 6f 6d 20 64 6f 69 6e 67 20 73 75 63 68   from doing such
101a0 20 61 20 74 68 69 6e 67 2c 20 6c 65 74 27 73 20   a thing, let's 
101b0 73 65 65 20 77 68 79 2e 3c 62 72 3e 0d 0a 3c 62  see why.<br>..<b
101c0 3e 53 51 4c 69 74 65 3c 2f 62 3e 20 77 69 6c 6c  >SQLite</b> will
101d0 20 70 72 6f 63 65 73 73 20 61 20 72 65 71 75 65   process a reque
101e0 73 74 20 77 72 69 74 74 65 6e 20 74 68 69 73 20  st written this 
101f0 77 61 79 20 62 79 20 72 65 70 65 61 74 65 64 6c  way by repeatedl
10200 79 20 63 61 6c 6c 69 6e 67 20 56 69 72 74 75 61  y calling Virtua
10210 6c 52 6f 75 74 69 6e 67 20 70 61 73 73 69 6e 67  lRouting passing
10220 20 65 61 63 68 20 74 69 6d 65 20 61 20 73 69 6e   each time a sin
10230 67 6c 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 3b  gle Destination;
10240 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
10250 79 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74  y <b>VirtualRout
10260 69 6e 67 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76  ing</b> will nev
10270 65 72 20 72 65 63 65 69 76 65 20 74 68 65 20 63  er receive the c
10280 72 69 74 69 63 61 6c 20 69 6e 66 6f 72 6d 61 74  ritical informat
10290 69 6f 6e 20 74 68 61 74 20 61 20 73 69 6e 67 6c  ion that a singl
102a0 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 72 65 71  e monolithic req
102b0 75 65 73 74 20 77 61 73 20 69 6e 74 65 6e 64 65  uest was intende
102c0 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64  d to be executed
102d0 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 73 68 6f   in a single sho
102e0 74 2e 20 53 6f 20 74 68 65 20 72 65 71 75 65 73  t. So the reques
102f0 74 20 63 6f 6e 74 65 78 74 20 77 69 6c 6c 20 62  t context will b
10300 65 20 65 61 73 69 6c 79 20 6d 69 73 69 6e 74 65  e easily misinte
10310 72 70 72 65 74 65 64 2c 20 61 6e 64 20 61 6e 79  rpreted, and any
10320 20 65 78 70 65 63 74 65 64 20 73 70 65 65 64 20   expected speed 
10330 62 65 6e 65 66 69 74 20 77 69 6c 6c 20 62 65 20  benefit will be 
10340 63 6f 6d 70 6c 65 74 65 6c 79 20 66 72 75 73 74  completely frust
10350 72 61 74 65 64 2e 0d 0a 3c 68 33 3e 42 65 77 61  rated...<h3>Bewa
10360 72 65 3c 2f 68 33 3e 0d 0a 3c 62 3e 4e 65 76 65  re</h3>..<b>Neve
10370 72 20 65 76 65 72 3c 2f 62 3e 20 61 74 74 65 6d  r ever</b> attem
10380 70 74 20 74 6f 20 64 65 66 69 6e 65 20 61 20 6c  pt to define a l
10390 69 73 74 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20  ist of multiple 
103a0 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 75 73 69  destinations usi
103b0 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 20  ng the standard 
103c0 53 51 4c 20 73 79 6e 74 61 78 20 3c 62 3e 3c 69  SQL syntax <b><i
103d0 3e 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 49 4e  >WHERE NodeTo IN
103e0 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f 69 3e 3c 2f 62   (......)</i></b
103f0 3e 2c 20 62 65 63 61 75 73 65 20 74 68 69 73 20  >, because this 
10400 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79 20 63  will certainly c
10410 61 75 73 65 20 6d 61 6e 79 20 75 6e 65 78 70 65  ause many unexpe
10420 63 74 65 64 20 74 72 6f 75 62 6c 65 73 2e 3c 62  cted troubles.<b
10430 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72 6d 61 74  r>..Badly format
10440 74 65 64 20 72 65 73 75 6c 74 73 65 74 73 20 77  ted resultsets w
10450 69 6c 6c 20 62 65 20 74 68 65 6e 20 72 65 74 75  ill be then retu
10460 72 6e 65 64 2c 20 6d 61 79 20 62 65 20 63 6f 6e  rned, may be con
10470 74 61 69 6e 69 6e 67 20 77 72 6f 6e 67 20 72 65  taining wrong re
10480 73 75 6c 74 73 2e 20 3c 62 3e 59 6f 75 20 61 72  sults. <b>You ar
10490 65 20 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72  e warned</b>.<br
104a0 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  ><br>..</td></tr
104b0 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  ></table>..<br>.
104c0 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
104d0 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
104e0 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
104f0 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
10500 74 64 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20  td>..<h3>How to 
10510 63 6f 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74  correctly format
10520 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e   multiple destin
10530 61 74 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33  ations lists</h3
10540 3e 0d 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  >..VirtualRoutin
10550 67 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 73  g always expects
10560 20 74 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62   to receive a <b
10570 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
10580 6f 6e 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20  ons</b> list as 
10590 61 20 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74  a <b>TEXT</b> st
105a0 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ring containing 
105b0 74 69 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76  tightly packed v
105c0 61 6c 75 65 73 20 73 65 70 61 72 61 74 65 64 20  alues separated 
105d0 62 79 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61  by a conventiona
105e0 6c 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f  l <b>delimiter</
105f0 62 3e 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72  b> (usually repr
10600 65 73 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e  esented by a <b>
10610 63 6f 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d  comma</b>).<br>.
10620 0a 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e  .Examples of <b>
10630 77 65 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f  well formatted</
10640 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  b> multi-destina
10650 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76  tions lists:..<v
10660 65 72 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33  erbatim>..'1,2,3
10670 2c 34 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30  ,4,5,10,100,1000
10680 2c 31 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e  ,100000'   -- in
10690 74 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a  teger Node IDs..
106a0 0d 0a 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42  ..'A100B,A100F,B
106b0 32 35 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41  250Z,C010M,Z999A
106c0 27 20 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72  '  -- alphanumer
106d0 69 63 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c  ic Node Codes..<
106e0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d  /verbatim>..Exam
106f0 70 6c 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79  ples of <b>badly
10700 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d   formatted</b> m
10710 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
10720 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61  s lists:..<verba
10730 74 69 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33  tim>..'  1, 2, 3
10740 2c 20 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30  , 4 , 5 , 10, 10
10750 30 2c 20 31 30 30 30 2c 20 31 30 30 30 30 30 20  0, 1000, 100000 
10760 20 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20   '   -- integer 
10770 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41  Node IDs....'  A
10780 31 30 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32  100B, A100F , B2
10790 35 30 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39  50Z , C010M, Z99
107a0 39 41 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c  9A  '      -- al
107b0 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20  phanumeric Node 
107c0 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69  Codes..</verbati
107d0 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  m>..<u>Note</u>:
107e0 20 61 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73   all whitespaces
107f0 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65   immediately pre
10800 63 65 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77  ceding or follow
10810 69 6e 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d  ing the <b>delim
10820 69 74 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  iter</b> will be
10830 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62   considered to b
10840 65 20 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20  e integral part 
10850 6f 66 20 74 68 65 20 76 61 6c 75 65 20 69 74 73  of the value its
10860 65 6c 66 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77  elf.<br>..This w
10870 69 6c 6c 20 68 61 76 65 20 6e 6f 20 61 64 76 65  ill have no adve
10880 72 73 65 20 63 6f 6e 73 65 71 75 65 6e 63 65 73  rse consequences
10890 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
108a0 69 6e 74 65 67 65 72 20 76 61 6c 75 65 73 2c 20  integer values, 
108b0 62 75 74 20 63 61 6e 20 65 61 73 69 6c 79 20 68  but can easily h
108c0 61 76 65 20 63 61 74 61 73 74 72 6f 70 68 69 63  ave catastrophic
108d0 20 65 66 66 65 63 74 73 20 6f 6e 20 61 6c 70 68   effects on alph
108e0 61 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 73 2e  anumeric values.
108f0 0d 0a 3c 68 33 3e 44 65 66 69 6e 69 6e 67 20 61  ..<h3>Defining a
10900 20 63 75 73 74 6f 6d 20 64 65 6c 69 6d 69 74 65   custom delimite
10910 72 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65  r</h3>..Sometime
10920 73 20 69 74 20 63 6f 75 6c 64 20 62 65 20 75 73  s it could be us
10930 65 66 75 6c 20 73 65 74 74 69 6e 67 20 75 70 20  eful setting up 
10940 61 20 64 65 6c 69 6d 69 74 65 72 20 64 69 66 66  a delimiter diff
10950 65 72 65 6e 74 20 66 72 6f 6d 20 3c 62 3e 63 6f  erent from <b>co
10960 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61  mma</b>...<verba
10970 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
10980 6f 6f 74 20 53 45 54 20 44 65 6c 69 6d 69 74 65  oot SET Delimite
10990 72 20 3d 20 27 2a 27 3b 0d 0a 0d 0a 53 45 4c 45  r = '*';....SELE
109a0 43 54 20 44 65 6c 69 6d 69 74 65 72 20 46 52 4f  CT Delimiter FRO
109b0 4d 20 62 79 66 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d  M byfoot;..-----
109c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a  -------------..*
109d0 20 5b 64 65 63 3d 34 32 2c 20 68 65 78 3d 32 61   [dec=42, hex=2a
109e0 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 20 0d  ]..</verbatim> .
109f0 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65  .You simply have
10a00 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e 20 3c   to execute an <
10a10 62 3e 55 50 44 41 54 45 3c 2f 62 3e 20 73 74 61  b>UPDATE</b> sta
10a20 74 65 6d 65 6e 74 20 62 79 20 73 70 65 63 69 66  tement by specif
10a30 79 69 6e 67 20 74 68 65 20 6e 65 77 20 64 65 6c  ying the new del
10a40 69 6d 69 74 65 72 20 76 61 6c 75 65 2e 3c 62 72  imiter value.<br
10a50 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  ><br>..</td></tr
10a60 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  ></table>..<br><
10a70 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  br>..<hr><br>..<
10a80 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22  h1><a name="tsp"
10a90 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50  >6 - Solving TSP
10aa0 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65   (traveling sale
10ab0 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f  sman) problems</
10ac0 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c  a></h1>..<b>TSP<
10ad0 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74  /b> (<a href="ht
10ae0 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  tps://en.wikiped
10af0 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76  ia.org/wiki/Trav
10b00 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f  elling_salesman_
10b10 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69  problem">Traveli
10b20 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62  ng Salesman Prob
10b30 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65  lem</a>) is a we
10b40 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69  ll known Operati
10b50 6f 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f  ons Research pro
10b60 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  blem...<br><br>.
10b70 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
10b80 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
10b90 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
10ba0 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
10bb0 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61  td>..<h3>The Tra
10bc0 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20  veling Salesman 
10bd0 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62  Problem</h3>..<b
10be0 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74  ><i>Given a list
10bf0 20 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74   of cities and t
10c00 68 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74  he distances bet
10c10 77 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f  ween each pair o
10c20 66 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69  f cities, what i
10c30 73 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70  s the shortest p
10c40 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68  ossible route th
10c50 61 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63  at visits each c
10c60 69 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20  ity and returns 
10c70 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69  to the origin ci
10c80 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62  ty ?</i></b>..<b
10c90 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  r><br>..</td></t
10ca0 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  r></table>..<br>
10cb0 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74  ..<u>Note:</u> t
10cc0 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73  he terms <i><u>s
10cd0 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20  alesman</u></i> 
10ce0 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f  and <i><u>city</
10cf0 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65  u></i> are unive
10d00 72 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20  rsally used for 
10d10 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f  historical reaso
10d20 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75  ns, but you shou
10d30 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65  ld avoid to lite
10d40 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74  rally intend bot
10d50 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65  h them.<br>..The
10d60 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65   term <u><i>sale
10d70 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20  sman</i></u> in 
10d80 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f  this specific co
10d90 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e  ntext intends an
10da0 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20  y possible kind 
10db0 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20  of <u><i>moving 
10dc0 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70  agent</i></u> (p
10dd0 65 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63  edestrian, vehic
10de0 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72  le, passenger or
10df0 20 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c   whatever else),
10e00 20 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c   exactly as <i><
10e10 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73  u>city</u></i> s
10e20 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72  imply stands for
10e30 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72   any <i><u>gener
10e40 69 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  ic destination</
10e50 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65  u></i> on a give
10e60 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e  n Network...<br>
10e70 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e  <br>..We can con
10e80 63 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54  ceptualy split T
10e90 50 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73  PS in two halves
10ea0 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d  :..<ol>..<li>com
10eb0 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61  puting all dista
10ec0 6e 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69  nces between pai
10ed0 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c  rs of <i>cities<
10ee0 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74  /i>. This is a t
10ef0 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65  ypical <b>Shorte
10f00 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c  stPath</b> probl
10f10 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64  em, and we can d
10f20 75 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b  uly use the Dijk
10f30 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d  stra's algorithm
10f40 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d   for this.</li>.
10f50 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76  .<li>then we hav
10f60 65 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70  e to check all p
10f70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75  ossible <b>permu
10f80 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62  tations</b> / <b
10f90 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62  >combinations</b
10fa0 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79  > so to identify
10fb0 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50   the optimal TSP
10fc0 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   solution.</li>.
10fd0 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c  .</ol>..Unhappil
10fe0 79 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61  y there is a pra
10ff0 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74  ctical difficult
11000 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61  y in such a stra
11010 69 67 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74  ight approach; t
11020 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d  he number of com
11030 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67  binations will g
11040 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61  row extremely fa
11050 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72  st as the number
11060 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73   of <b><i>cities
11070 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73  </i></b> increas
11080 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20  es.<br>..Simply 
11090 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f  computing the co
110a0 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74  mplete TSP solut
110b0 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65  ion for about te
110c0 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65  n cities will re
110d0 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20  quire a <b>very 
110e0 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76  long time</b> ev
110f0 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65 72  en using a super
11100 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41  computer.<br>..A
11110 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f  nd attempting to
11120 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73   compute a TSP s
11130 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75  olution for abou
11140 74 20 68 75 6e 64 72 65 64 20 63 69 74 69 65 73  t hundred cities
11150 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20   will require a 
11160 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69  <b>practically i
11170 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65  nfinite</b> time
11180 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77  ...<br><br>..How
11190 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50  ever solving TSP
111a0 20 69 73 20 68 69 67 68 6c 79 20 64 65 73 69 72   is highly desir
111b0 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70  able in many app
111c0 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a  lication fields:
111d0 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62   <b>logistics</b
111e0 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62  > (just think ab
111f0 6f 75 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70  out courier comp
11200 61 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65  anies as DHL, Fe
11210 64 45 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29  dEX, UPS or TNT)
11220 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74  , <b>field maint
11230 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e  enance</b> / <b>
11240 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20  assistance</b>, 
11250 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74  <b>waste collect
11260 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f  ion</b>, <b>scho
11270 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73  olbus</b> / <b>s
11280 68 61 72 65 64 20 74 61 78 69 20 73 65 72 76 69  hared taxi servi
11290 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e  ces</b> etc.<br>
112a0 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d  ..Many algorithm
112b0 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65  s have been inve
112c0 6e 74 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74  nted during last
112d0 20 64 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65   decades intende
112e0 64 20 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61  d to produce pra
112f0 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20  ctical although 
11300 61 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d  approximate / im
11310 70 65 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75  perfect TSP solu
11320 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f  tions in a reaso
11330 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65  nably short time
11340 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20  ...Many of them 
11350 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20  strongly depend 
11360 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  on <a href="http
11370 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
11380 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73  .org/wiki/Heuris
11390 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f  tic">heuristic</
113a0 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68  a> and / or <a h
113b0 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e  ref="https://en.
113c0 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69  wikipedia.org/wi
113d0 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72  ki/Randomness">r
113e0 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a  andomness</a>...
113f0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72  <br><br>..<b>Vir
11400 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
11410 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66  supports two dif
11420 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72  ferent TSP algor
11430 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ithms:..<ul>..<l
11440 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20  i><b>TSP NN</b> 
11450 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c  (<i>aka</i> <b><
11460 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62  i>Nearest Neighb
11470 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e  our</i></b>)<br>
11480 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22  ..This <a href="
11490 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
114a0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65  edia.org/wiki/Ne
114b0 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f  arest_neighbour_
114c0 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74  algorithm">first
114d0 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69   algorithm</a> i
114e0 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72  s straightforwar
114f0 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72  d simple and ver
11500 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65  y fast; it can e
11510 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65  ffectively solve
11520 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69   huge TSP soluti
11530 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69  ons (thousand <i
11540 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65  >cities</i> or e
11550 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76  ven more) in a v
11560 65 72 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c  ery short time.<
11570 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65  br>..<u>Short de
11580 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a  scription</u>:..
11590 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69  <ul>..<li>starti
115a0 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c  ng from the <u><
115b0 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c  i>base city</i><
115c0 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61  /u> the <u><i>sa
115d0 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67  lesman</i></u> g
115e0 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69  oes to the <u><i
115f0 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72  >city</i></u> pr
11600 65 73 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e  esenting the <i>
11610 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63  <u>lesser connec
11620 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69  tion cost</u></i
11630 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
11640 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64   already visited
11650 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c   <i><u>city</u><
11660 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64  /i> is cancelled
11670 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20   from the list, 
11680 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e  and then the <u>
11690 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c  <i>salesman</i><
116a0 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20  /u> goes to the 
116b0 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c  next <u><i>city<
116c0 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69  /i></u> presenti
116d0 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73  ng the <i><u>les
116e0 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63  ser connection c
116f0 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69  ost</u></i>.</li
11700 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65  >..<li>the cycle
11710 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c   continues until
11720 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69   all  <i><u>citi
11730 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68  es</u></i> in th
11740 65 20 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e  e list have been
11750 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a   visited.</li>..
11760 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65  <li>finally, the
11770 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c   <u><i>salesman<
11780 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20  /i></u> returns 
11790 74 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69  to his/her initi
117a0 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69  al <u><i>base ci
117b0 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d  ty</i></u></li>.
117c0 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  .</ul>..<u>Note<
117d0 2f 75 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e  /u> it's very un
117e0 6c 69 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e  like that TSP NN
117f0 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20   could find the 
11800 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73  <b>optimal</b> s
11810 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20  olution, but it 
11820 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64  can quickly find
11830 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65   some reasonable
11840 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c   <b>approximate<
11850 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69  /b> solution (<i
11860 3e 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62  >few is surely b
11870 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69  etter than nothi
11880 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e  ng</i>).<br>..In
11890 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b   the most unluck
118a0 79 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f  y case TSP NN co
118b0 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74  uld possibly ret
118c0 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74  urn the <b>worst
118d0 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62   solution</b>, b
118e0 75 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20  ut the specific 
118f0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61  implementation a
11900 64 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61  dopted by Virtua
11910 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20  lRouting checks 
11920 61 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73  against this pos
11930 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d  sibility:..<ul>.
11940 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e  .<li>each TSP NN
11950 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75   is always compu
11960 74 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e  ted twice by ran
11970 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61  domly choosing a
11980 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69   different <u><i
11990 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f  >base city</i></
119a0 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d  u> and then norm
119b0 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75  alizing the solu
119c0 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f  tion; the best o
119d0 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69  f the two soluti
119e0 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75  ons is then retu
119f0 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  rned.</li>..<li>
11a00 74 68 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20  this simple but 
11a10 65 66 66 65 63 74 69 76 65 20 70 72 65 63 61 75  effective precau
11a20 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e  tion robustly en
11a30 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 3c  sures that the <
11a40 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e  b>worst solution
11a50 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20  </b> will never 
11a60 62 65 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64  be returned, and
11a70 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20   just implies a 
11a80 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65  moderately incre
11a90 61 73 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74  ased execution t
11aa0 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ime.</li>..</ul>
11ab0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53  </li>..<li><b>TS
11ac0 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  P GA</b> (<i>aka
11ad0 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74  </i> <b><i>Genet
11ae0 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e  ic Algorithm</i>
11af0 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73  </b>).<br>..This
11b00 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
11b10 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
11b20 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f  rg/wiki/Genetic_
11b30 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72  algorithm">alter
11b40 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d  native algorithm
11b50 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72  </a> is much mor
11b60 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f  e complex and so
11b70 70 68 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64  phisticated, and
11b80 20 69 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73   is directly ins
11b90 70 69 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69  pired by biologi
11ba0 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63  cal concepts suc
11bb0 68 20 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72  h as <b>sexual r
11bc0 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c  eproduction</b>,
11bd0 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61   <b>genetic muta
11be0 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tions</b> and <b
11bf0 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69  >natural selecti
11c00 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  on</b>.<br>..<u>
11c10 53 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f  Short descriptio
11c20 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  n</u>:..<ul>..<l
11c30 69 3e 61 20 66 69 72 73 74 20 69 6e 69 74 69 61  i>a first initia
11c40 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f  l set of solutio
11c50 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f  ns (<i><u>the po
11c60 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  pulation</u></i>
11c70 29 20 69 73 20 63 72 65 61 74 65 64 20 62 79 20  ) is created by 
11c80 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74  using TSP NN aft
11c90 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f  er randomly choo
11ca0 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62  sing the <u><i>b
11cb0 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ase city</i></u>
11cc0 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c   and then normal
11cd0 69 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74  izing each solut
11ce0 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ion.</li>..<li>t
11cf0 68 65 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20  hen during each 
11d00 73 74 65 70 20 6f 66 20 74 68 65 20 65 78 65 63  step of the exec
11d10 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c  ution loop (<i><
11d20 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e  u>generation</u>
11d30 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73  </i>) pairs of s
11d40 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73  olutions <i><u>s
11d50 65 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63  exually reproduc
11d60 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e  es</i></u> givin
11d70 67 20 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69  g birth to <u><i
11d80 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69  >children soluti
11d90 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70  ons</i></u>; rep
11da0 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62  roduction is sub
11db0 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68  ject to <u><i>ch
11dc0 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76  romosome crossov
11dd0 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20  ers</i></u> and 
11de0 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74  <i><u>random mut
11df0 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f  ation</u></i>.</
11e00 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63  li>..<li>for eac
11e10 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69  h <i><u>generati
11e20 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c  on</u></i> the <
11e30 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c  i><u>natural sel
11e40 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65  ection</u></i> e
11e50 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f  liminates all po
11e60 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64  orly fit individ
11e70 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75  uals from the <u
11e80 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f  ><i>population</
11e90 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65  i></u> and conse
11ea0 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65  quently only the
11eb0 20 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69   best fit indivi
11ec0 64 75 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65  duals can furthe
11ed0 72 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 69  r propagate thei
11ee0 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f  r <u><i>genome</
11ef0 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65  i></u> to the ne
11f00 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74  xt <u><i>generat
11f10 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69  ion</i></u>.</li
11f20 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63  >..<li>after a c
11f30 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66  ertain number of
11f40 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f   <i><u>generatio
11f50 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27  ns</i></u> (let'
11f60 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65  s say about some
11f70 20 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61   hundredth itera
11f80 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70  tions) the <b>op
11f90 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f  timal solution</
11fa0 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20  b> (or at least 
11fb0 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64  a <b>fairly good
11fc0 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c   sub-optimal sol
11fd0 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c  ution</b>) shoul
11fe0 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65  d finally emerge
11ff0 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f  , and so the loo
12000 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e  p can exit.</li>
12010 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
12020 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54  i><u>Note</u>: T
12030 53 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79  SP GA is usually
12040 20 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65   expected to ide
12050 6e 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c  ntify better sol
12060 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20  utions than TSP 
12070 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69  NN can do, but i
12080 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65  t will surely re
12090 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20  quire much more 
120a0 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65  time to complete
120b0 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a  .</li> ..</ul>..
120c0 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  <br><br>..Let's 
120d0 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72  now examine a pr
120e0 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20  actical example 
120f0 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75  of TSP solving u
12100 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74  sing VirtualRout
12110 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d  ing. ..<verbatim
12120 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
12130 20 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27   SET Request = '
12140 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  TSP';....SELECT 
12150 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
12160 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
12170 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
12180 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
12190 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
121a0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
121b0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
121c0 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
121d0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
121e0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
121f0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
12200 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
12210 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
12220 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74  erbatim>..A Virt
12230 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53  ualRouting <b>TS
12240 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20  P</b> query has 
12250 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63  the same identic
12260 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e  al form of a <b>
12270 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
12280 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65  n</b> query; the
12290 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79   <i><u>base city
122a0 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79  <u></i> is alway
122b0 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  s expected to co
122c0 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e  rrespond to <b>N
122d0 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  odeFrom</b> and 
122e0 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e  all other <i><u>
122f0 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74  cities</u></i> t
12300 6f 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65  o be visited are
12310 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20   expected to be 
12320 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20  enumerated into 
12330 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  a <b>multi-desti
12340 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20  nation</b> list 
12350 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e  assigned to <b>N
12360 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e  odeTo</b>...<u>N
12370 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73  ote</u>: you mus
12380 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74  t explicitly set
12390 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e   the current <b>
123a0 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c  Request</b> as <
123b0 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53  b>TSP</b>, <b>TS
123c0 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54  P NN</b> or <b>T
123d0 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61  SP GA</b> (TSP a
123e0 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79  nd TSP NN are sy
123f0 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62  nonyms)...<br><b
12400 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
12410 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
12420 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
12430 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
12440 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
12450 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
12460 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
12470 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
12480 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
12490 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
124a0 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
124b0 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
124c0 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
124d0 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
124e0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
124f0 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
12500 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
12510 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
12520 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
12530 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
12540 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
12550 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
12560 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
12570 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
12580 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
12590 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
125a0 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
125b0 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
125c0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
125d0 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
125e0 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
125f0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
12600 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
12610 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
12620 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c  </td><td>TSP NN<
12630 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64  /td><td>Full</td
12640 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
12650 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
12660 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
12670 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
12680 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
12690 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75  /td><td>TSP Solu
126a0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
126b0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
126c0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
126d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
126e0 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
126f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12700 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74  ">1254.433933</t
12710 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30  d><td>BLOB sz=20
12720 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  00 GEOMETRY</td>
12730 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
12740 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
12750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12760 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
12770 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
12780 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
12790 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
127a0 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
127b0 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
127c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
127d0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
127e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
127f0 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
12800 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12810 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
12820 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
12830 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
12840 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
12850 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
12860 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
12870 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
12880 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
12890 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
128a0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
128b0 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
128c0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
128d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
128e0 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
128f0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
12900 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
12910 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
12920 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
12930 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
12940 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
12950 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
12960 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
12970 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  >..<tr>..<tr>..<
12980 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12990 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
129a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
129b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
129c0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
129d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
129e0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
129f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12a00 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64  ">224862</td><td
12a10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
12a20 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
12a30 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
12a40 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  43</td><td align
12a50 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32  ="right">37.0952
12a60 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  87</td><td>NULL<
12a70 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
12a80 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
12a90 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
12aa0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
12ab0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
12ac0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
12ad0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
12ae0 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
12af0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
12b00 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
12b10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
12b20 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  6070</td><td ali
12b30 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34  gn="right">18204
12b40 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
12b50 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
12b60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12b70 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f  ght">44.457044</
12b80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
12b90 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27  <td>PIAZZA SANT'
12ba0 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c  AGOSTINO</td>..<
12bb0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
12bc0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12bd0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
12be0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
12bf0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12c00 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
12c10 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
12c20 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
12c30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
12c40 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
12c50 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
12c60 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
12c70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
12c80 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33  right">139.11493
12c90 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
12ca0 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f  z=496 GEOMETRY</
12cb0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
12cc0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
12cd0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12ce0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12cf0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
12d00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12d10 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
12d20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
12d30 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
12d40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12d50 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64  ">226071</td><td
12d60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
12d70 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  84030</td><td al
12d80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36  ign="right">1826
12d90 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  29</td><td align
12da0 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30  ="right">55.6890
12db0 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  09</td><td>NULL<
12dc0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53  /td><td>VIA GIUS
12dd0 45 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f  EPPE GARIBALDI</
12de0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
12df0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
12e00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12e10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12e20 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
12e30 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
12e40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
12e50 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
12e60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12e70 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e  ght">225512</td>
12e80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12e90 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64  ">182629</td><td
12ea0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
12eb0 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82933</td><td al
12ec0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31  ign="right">34.1
12ed0 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  84194</td><td>NU
12ee0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
12ef0 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
12f00 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
12f10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
12f20 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
12f30 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
12f40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
12f50 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
12f60 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
12f70 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
12f80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
12f90 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5511</td><td ali
12fa0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33  gn="right">18293
12fb0 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
12fc0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
12fd0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12fe0 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f  ght">49.241735</
12ff0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13000 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
13010 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
13020 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
13030 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13040 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13050 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
13060 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
13070 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13080 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
13090 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
130a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
130b0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
130c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
130d0 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
130e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
130f0 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74  17.672885</td><t
13100 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45  d>BLOB sz=688 GE
13110 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
13120 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
13130 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
13140 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13150 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13160 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
13170 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
13180 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13190 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
131a0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
131b0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35  n="right">222635
131c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
131d0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
131e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
131f0 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c  ht">181998</td><
13200 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13210 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e  >101.629750</td>
13220 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
13230 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
13240 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
13250 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13260 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13270 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13280 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13290 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
132a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
132b0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
132c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
132d0 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c  ht">224780</td><
132e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
132f0 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20  >181998</td><td 
13300 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
13310 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3560</td><td ali
13320 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33  gn="right">73.73
13330 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3572</td><td>NUL
13340 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
13350 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74  LL'ANFITEATRO</t
13360 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
13370 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13380 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13390 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
133a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
133b0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
133c0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
133d0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
133e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
133f0 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  25827</td><td al
13400 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35  ign="right">1835
13410 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  60</td><td align
13420 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
13430 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13440 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c  ight">42.309564<
13450 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13460 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e  ><td>VIA DELL'AN
13470 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c  FITEATRO</td>..<
13480 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
13490 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
134a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
134b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
134c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
134d0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
134e0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
134f0 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
13500 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
13510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
13520 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
13530 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
13540 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13550 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38  right">378.31368
13560 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
13570 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
13580 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13590 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
135a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
135b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
135c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
135d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
135e0 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
135f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
13600 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
13610 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13620 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
13630 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13640 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
13650 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
13660 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
13670 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
13680 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
13690 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
136a0 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
136b0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
136c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
136d0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
136e0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
136f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13700 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">5</td><td alig
13710 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
13720 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
13730 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
13740 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  19171</td><td al
13750 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
13760 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
13770 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
13780 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13790 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c  ight">93.285538<
137a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
137b0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
137c0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
137d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
137e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
137f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13800 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13810 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13820 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">5</td><td ali
13830 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
13840 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
13850 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13860 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
13870 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13880 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
13890 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
138a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
138b0 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38  right">148.65608
138c0 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
138d0 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
138e0 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
138f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
13900 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13910 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13920 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13930 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13940 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
13950 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
13960 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
13970 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13980 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13990 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
139a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
139b0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
139c0 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31  n="right">188.21
139d0 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  6831</td><td>BLO
139e0 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52  B sz=400 GEOMETR
139f0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
13a00 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
13a10 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
13a20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13a30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13a40 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13a50 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
13a60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13a70 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
13a80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13a90 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e  ght">224538</td>
13aa0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13ab0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
13ac0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13ad0 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  81972</td><td al
13ae0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39  ign="right">50.9
13af0 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55  00663</td><td>NU
13b00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
13b10 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c  NTONIO GUADAGNOL
13b20 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
13b30 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
13b40 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13b50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13b60 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61  NULL</td>..<td a
13b70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
13b80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13b90 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
13ba0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
13bb0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37  n="right">224537
13bc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13bd0 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74  right">181972</t
13be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13bf0 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
13c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13c10 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c  >86.301051</td><
13c20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13c30 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f  VIA DEL NINFEO</
13c40 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
13c50 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
13c60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13c70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13c80 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13c90 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
13ca0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13cb0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
13cc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13cd0 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e  ght">225527</td>
13ce0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13cf0 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64  ">182000</td><td
13d00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13d10 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
13d20 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30  ign="right">51.0
13d30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  15117</td><td>NU
13d40 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c  LL</td><td>VIA L
13d50 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74  ICIO NENCETTI</t
13d60 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
13d70 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13d80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13d90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13da0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13db0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
13dc0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
13dd0 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
13de0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
13df0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
13e00 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
13e10 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
13e20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13e30 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
13e40 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  9</td><td>BLOB s
13e50 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
13e60 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13e70 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
13e80 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13e90 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13ea0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13eb0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13ec0 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61  ght">7</td><td a
13ed0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
13ee0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
13ef0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13f00 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64  ">225527</td><td
13f10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13f20 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
13f30 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
13f40 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
13f50 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31  ="right">51.0151
13f60 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
13f70 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49  /td><td>VIA LICI
13f80 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d  O NENCETTI</td>.
13f90 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
13fa0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13fb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13fc0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13fd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13fe0 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">7</td><td al
13ff0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
14000 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
14010 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14020 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20  >222636</td><td 
14030 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14040 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
14050 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
14060 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
14070 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37  "right">103.7357
14080 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  22</td><td>NULL<
14090 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
140a0 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
140b0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
140c0 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  ..<br>..Let's no
140d0 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  w quickly examin
140e0 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
140f0 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20  returned by any 
14100 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e  TSP query:..<ul>
14110 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61  ..<li>the genera
14120 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65  l layout is more
14130 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d   or less the sam
14140 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65  e as you've alre
14150 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20  ady seen in the 
14160 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74  case of <b>Short
14170 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72  estPath</b> quer
14180 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ies.</li>..<li>t
14190 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c  he <b>first row<
141a0 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c  /b> of the resul
141b0 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20  tset is someway 
141c0 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64  exceptional, and
141d0 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72   is the unique r
141e0 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  ow of the result
141f0 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c  set presenting <
14200 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
14210 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e  alues in the <b>
14220 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c  Algorithm</b>, <
14230 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c  b>Request</b>, <
14240 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e  b>Options</b> an
14250 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  d <b>Delimiter</
14260 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d  b> columns.<br>.
14270 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65  .It contains the
14280 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e   <b>TSP solution
14290 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a  </b> as a whole:
142a0 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c   column <b>Cost<
142b0 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f  /b> is the <u>to
142c0 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64  tal cost</u> and
142d0 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65   column <b>Geome
142e0 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c  try</b> is the <
142f0 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69  u>overall soluti
14300 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69  on path</u>.</li
14310 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c  >..<li>columns <
14320 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e  b>RouteId</b> an
14330 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62  d <b>RouteRow</b
14340 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  > have the same 
14350 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61  interpretation a
14360 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  s in <b>multi-de
14370 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
14380 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69  stPath</b> queri
14390 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20  es, but in this 
143a0 73 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61  specific case ea
143b0 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f  ch <u><i>route</
143c0 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e  i></u> correspon
143d0 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69  ds to a connecti
143e0 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c  on between two <
143f0 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c  i><u>cities</u><
14400 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69  /i>.<br>..All <i
14410 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f  ><u>routes</u></
14420 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63  i> are order acc
14430 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
14440 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65  running sequence
14450 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75   of the TSP solu
14460 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64  tion. <b>RouteId
14470 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  =0</b> identifie
14480 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53  s the overall TS
14490 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  P solution.</li>
144a0 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d  ..</ul><br><br>.
144b0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
144c0 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52  ATE byfoot SET R
144d0 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41  equest = 'TSP GA
144e0 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
144f0 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
14500 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69   Options, Delimi
14510 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ter, RouteId, Ro
14520 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
14530 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
14540 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
14550 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
14560 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
14570 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
14580 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
14590 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39   = '183286,18199
145a0 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c  9,184030,183882,
145b0 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
145c0 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69  atim>..If you wi
145d0 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54  sh to get a <b>T
145e0 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69  SP GA</b> soluti
145f0 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61  on you simple ha
14600 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71  ve to set <b>Req
14610 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54  uest</b> as <b>T
14620 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79  SP GA</b>; and y
14630 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e  ou can set again
14640 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20   <b>Request</b> 
14650 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72  as <b>TSP</b> or
14660 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74   <b>TSP NN</b> t
14670 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f  o revert back to
14680 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66   the simpler / f
14690 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e  aster algorithm.
146a0 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20  ..<br>..Also in 
146b0 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20  the case of TSP 
146c0 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c  you can eventual
146d0 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20  ly activate the 
146e0 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73  usual <b>Options
146f0 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70  </b> already exp
14700 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68  lained in the Sh
14710 6f 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70  ortestPath examp
14720 6c 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  les...<verbatim>
14730 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
14740 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54  SET Request = 'T
14750 53 50 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27  SP', Options = '
14760 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45  NO LINKS';....SE
14770 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
14780 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
14790 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
147a0 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
147b0 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
147c0 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
147d0 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
147e0 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
147f0 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
14800 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
14810 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
14820 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30  86,181999,184030
14830 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b  ,183882,178754';
14840 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54  ..</verbatim>..T
14850 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
14860 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
14870 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
14880 62 79 20 74 68 65 20 73 61 6d 65 20 54 53 50 20  by the same TSP 
14890 71 75 65 72 79 20 75 73 65 64 20 69 6e 20 74 68  query used in th
148a0 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  e previous examp
148b0 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c 69 6e  le after enablin
148c0 67 20 74 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b  g the <b>NO LINK
148d0 53 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62  S</b> option. <b
148e0 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
148f0 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
14900 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
14910 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
14920 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
14930 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
14940 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
14950 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
14960 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75  r="#d0d0a0">Requ
14970 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  est</th><th bgco
14980 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
14990 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
149a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
149b0 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74  Delimiter</th><t
149c0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
149d0 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e  a0">RouteId</th>
149e0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
149f0 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
14a00 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
14a10 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
14a20 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
14a30 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
14a40 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
14a50 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
14a60 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
14a70 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
14a80 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
14a90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
14aa0 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
14ab0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
14ac0 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
14ad0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
14ae0 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
14af0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b  ..<tr>..<td>Dijk
14b00 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50  stra</td><td>TSP
14b10 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c   NN</td><td>No L
14b20 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26  inks</td><td>, &
14b30 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d  #91;dec=44, hex=
14b40 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20  2c&#93;</td><td 
14b50 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14b60 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14b70 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
14b80 54 53 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  TSP Solution</td
14b90 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14ba0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14bb0 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
14bc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
14bd0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
14be0 6e 3d 22 72 69 67 68 74 22 3e 31 32 35 34 2e 34  n="right">1254.4
14bf0 33 33 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c  33933</td><td>BL
14c00 4f 42 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45  OB sz=2000 GEOME
14c10 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
14c20 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14c30 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14c40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14c50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14c60 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
14c70 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
14c80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
14c90 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
14ca0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14cb0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14cc0 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
14cd0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
14ce0 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
14cf0 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
14d00 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4755</td><td>BLO
14d10 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52  B sz=304 GEOMETR
14d20 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
14d30 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14d40 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14d50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14d60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14d70 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  L<td align="righ
14d80 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
14d90 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
14da0 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
14db0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14dc0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14dd0 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4030</td><td ali
14de0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
14df0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
14e00 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39  "right">139.1149
14e10 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  38</td><td>BLOB 
14e20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c  sz=496 GEOMETRY<
14e30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14e40 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14e50 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14e60 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14e70 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14e80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14e90 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
14ea0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14eb0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14ec0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14ed0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14ee0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
14ef0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14f00 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
14f10 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 37 2e 36  gn="right">217.6
14f20 37 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c  72885</td><td>BL
14f30 4f 42 20 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54  OB sz=688 GEOMET
14f40 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
14f50 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14f60 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14f70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14f80 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14f90 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14fa0 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
14fb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14fc0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
14fd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14fe0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14ff0 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
15000 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15010 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
15020 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37  align="right">37
15030 38 2e 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64  8.313684</td><td
15040 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
15050 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
15060 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
15070 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
15080 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15090 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
150a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
150b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74  ign="right">5</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 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
150e0 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
150f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15100 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
15110 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15120 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c  ht">183882</td><
15130 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15140 3e 31 38 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e  >188.216831</td>
15150 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20  <td>BLOB sz=400 
15160 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
15170 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
15180 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
15190 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
151a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
151b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
151c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
151d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
151e0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
151f0 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
15200 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
15210 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
15220 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15230 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
15240 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15250 68 74 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f  ht">154.750839</
15260 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
15270 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  40 GEOMETRY</td>
15280 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
15290 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
152a0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  <br><br><br>..Th
152b0 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70  e map below grap
152c0 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
152d0 65 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 54 53  e previous <b>TS
152e0 50 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a  P</b> queries...
152f0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  <br><br>..<img s
15300 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
15310 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
15320 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
15330 67 73 2f 74 73 70 31 2e 6a 70 67 22 20 61 6c 74  gs/tsp1.jpg" alt
15340 3d 22 66 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a  ="fig4">..<ul>..
15350 3c 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68  <li>Red star: th
15360 65 20 3c 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74  e <u><i>base-cit
15370 79 3c 2f 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20  y</i></u> (from 
15380 77 68 65 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e  where the <u><i>
15390 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e  salesman</i></u>
153a0 29 20 62 65 67 69 6e 73 20 68 69 73 2f 68 65 72  ) begins his/her
153b0 20 74 72 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   trip.</li>..<li
153c0 3e 47 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65  >Green dots: the
153d0 20 3c 75 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69   <u><i>cities</i
153e0 3e 3c 2f 75 3e 20 74 6f 20 62 65 20 76 69 73 69  ></u> to be visi
153f0 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59  ted.</li>..<li>Y
15400 65 6c 6c 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20  ellow line: the 
15410 54 53 50 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68  TSP solution (th
15420 61 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 63  at is always a c
15430 69 72 63 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f  ircular path).</
15440 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a  li>..</ul><br>..
15450 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
15460 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61  #ffb060" cellspa
15470 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
15480 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
15490 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a  d>..<h3>Warning:
154a0 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c   how to correctl
154b0 79 20 68 61 6e 64 6c 69 6e 67 20 54 53 50 20 72  y handling TSP r
154c0 65 73 75 6c 74 73 65 74 73 20 77 69 74 68 20 73  esultsets with s
154d0 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68  patialite_gui</h
154e0 33 3e 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e  3>..You should n
154f0 65 76 65 72 20 66 6f 72 67 65 74 20 6f 72 20 6f  ever forget or o
15500 76 65 72 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74  verlook that bot
15510 68 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20  h <b>TSP NN</b> 
15520 61 6e 64 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62  and <b>TSP GA</b
15530 3e 20 61 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72  > are <u><i>heur
15540 69 73 74 69 63 20 61 6c 67 6f 72 69 74 68 6d 73  istic algorithms
15550 3c 2f 69 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79  </i></u> heavily
15560 20 72 65 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c   relying on <u><
15570 69 3e 72 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20  i>random<i></u> 
15580 63 68 6f 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68  choices.<br>..Th
15590 69 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20  is could easily 
155a0 68 61 76 65 20 74 68 65 20 70 72 61 63 74 69 63  have the practic
155b0 61 6c 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 74  al consequence t
155c0 68 61 74 20 72 65 73 6f 6c 76 69 6e 67 20 74 77  hat resolving tw
155d0 69 63 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72  ice (or even mor
155e0 65 20 74 69 6d 65 73 29 20 74 68 65 20 73 61 6d  e times) the sam
155f0 65 20 69 64 65 6e 74 69 63 61 6c 20 54 53 50 20  e identical TSP 
15600 71 75 65 72 79 20 63 6f 75 6c 64 20 65 76 65 6e  query could even
15610 74 75 61 6c 6c 79 20 72 65 74 75 72 6e 20 64 69  tually return di
15620 66 66 65 72 65 6e 74 20 72 65 73 75 6c 74 73 65  fferent resultse
15630 74 73 2e 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69  ts.<br>..There i
15640 73 20 6e 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e  s nothing intrin
15650 73 69 63 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e  sically wrong in
15660 20 74 68 69 73 2c 20 69 74 20 73 69 6d 70 6c 79   this, it simply
15670 20 69 73 20 61 20 64 69 72 65 63 74 20 63 6f 6e   is a direct con
15680 73 65 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e  sequence of usin
15690 67 20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65  g <u><i>randomne
156a0 73 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61  ss</i></u>; we a
156b0 72 65 20 73 69 6d 70 6c 79 20 62 61 72 67 61 69  re simply bargai
156c0 6e 69 6e 67 20 3c 62 3e 65 78 61 63 74 6e 65 73  ning <b>exactnes
156d0 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70  s</b> and <b>rep
156e0 72 6f 64 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e  roducibility</b>
156f0 20 66 6f 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73   for <b>quicknes
15700 73 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  s</b>.<br><br>..
15710 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75  <b>spatialite_gu
15720 69 3c 2f 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e  i</b> on its own
15730 20 61 64 6f 70 74 73 20 61 20 3c 62 3e 70 61 67   adopts a <b>pag
15740 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 20  ed strategy</b> 
15750 77 68 65 6e 20 73 68 6f 77 69 6e 67 20 68 75 67  when showing hug
15760 65 20 72 65 73 75 6c 74 73 65 74 73 3b 20 74 68  e resultsets; th
15770 69 73 20 72 65 71 75 69 72 65 73 20 72 65 70 65  is requires repe
15780 61 74 69 6e 67 20 61 67 61 69 6e 20 74 68 65 20  ating again the 
15790 69 6e 69 74 69 61 6c 20 53 51 4c 20 71 75 65 72  initial SQL quer
157a0 79 20 65 61 63 68 20 74 69 6d 65 20 74 68 61 74  y each time that
157b0 20 61 20 3c 62 3e 6e 65 77 20 70 61 67 65 20 6f   a <b>new page o
157c0 66 20 35 30 30 20 72 6f 77 73 3c 2f 62 3e 20 68  f 500 rows</b> h
157d0 61 73 20 74 6f 20 62 65 20 73 68 6f 77 6e 20 6f  as to be shown o
157e0 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69  n the current wi
157f0 6e 64 6f 77 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d  ndow panel.<br>.
15800 0a 54 68 65 20 74 77 6f 20 74 68 69 6e 67 73 20  .The two things 
15810 64 6f 6e 27 74 20 67 6f 20 74 6f 67 65 74 68 65  don't go togethe
15820 72 20 77 65 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74  r well; so don't
15830 20 62 65 20 73 75 72 70 72 69 73 65 64 20 77 68   be surprised wh
15840 65 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 69  en eventually di
15850 73 63 6f 76 65 72 69 6e 67 20 74 68 61 74 20 3c  scovering that <
15860 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69  b>spatialite_gui
15870 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 68 61 76 65  </b> will behave
15880 20 62 69 7a 61 72 72 65 6c 79 20 77 68 69 6c 65   bizarrely while
15890 20 70 72 65 73 65 6e 74 69 6e 67 20 73 6f 6d 65   presenting some
158a0 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
158b0 6e 65 64 20 62 79 20 61 20 54 53 50 20 71 75 65  ned by a TSP que
158c0 72 79 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ry. ..<verbatim>
158d0 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
158e0 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54  SET Request = 'T
158f0 53 50 27 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 54  SP';....CREATE T
15900 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75  ABLE my_tsp_solu
15910 74 69 6f 6e 20 41 53 0d 0a 53 45 4c 45 43 54 20  tion AS..SELECT 
15920 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
15930 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
15940 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
15950 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
15960 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
15970 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
15980 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
15990 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
159a0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
159b0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
159c0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
159d0 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
159e0 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e  82,178754';.....
159f0 2e 2e 20 20 3c 6e 6f 77 20 71 75 65 72 79 20 22  ..  <now query "
15a00 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 22  my_tsp_solution"
15a10 20 75 73 69 6e 67 20 73 70 61 74 69 61 6c 69 74   using spatialit
15a20 65 5f 67 75 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44  e_gui>  .......D
15a30 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 74 73 70  ROP TABLE my_tsp
15a40 5f 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65  _solution;..</ve
15a50 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74  rbatim>..<u>Hint
15a60 3c 2f 75 3e 3a 20 72 65 73 6f 6c 76 69 6e 67 20  </u>: resolving 
15a70 74 68 69 73 20 70 75 7a 7a 6c 69 6e 67 20 69 73  this puzzling is
15a80 73 75 65 20 69 73 20 68 6f 77 65 76 65 72 20 62  sue is however b
15a90 61 73 69 63 61 6c 6c 79 20 73 69 6d 70 6c 65 3a  asically simple:
15aa0 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20  ..<ol>..<li>you 
15ab0 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74  simply have to t
15ac0 61 6b 65 20 61 20 3c 62 3e 73 74 61 74 69 63 20  ake a <b>static 
15ad0 73 6e 61 70 73 68 6f 74 3c 2f 62 3e 20 6f 66 20  snapshot</b> of 
15ae0 79 6f 75 72 20 54 53 50 20 72 65 73 75 6c 74 73  your TSP results
15af0 65 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20  et by using the 
15b00 3c 62 3e 43 52 45 41 54 45 20 54 41 42 4c 45 20  <b>CREATE TABLE 
15b10 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 20 41 53 20 3c  <i>name</i> AS <
15b20 69 3e 54 53 50 20 71 75 65 72 79 3c 69 3e 3c 2f  i>TSP query<i></
15b30 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  b>.</li>..<li>th
15b40 65 6e 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c  en you can freel
15b50 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 61 62  y examine the ab
15b60 6f 76 65 20 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c  ove snapshot.</l
15b70 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61  i>..<li>and fina
15b80 6c 6c 79 20 79 6f 75 20 63 61 6e 20 64 75 6c 79  lly you can duly
15b90 20 3c 62 3e 44 52 4f 50 3c 2f 62 3e 20 74 68 65   <b>DROP</b> the
15ba0 20 73 6e 61 70 73 68 6f 74 20 6f 6e 63 65 20 69   snapshot once i
15bb0 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73  t's no longer us
15bc0 65 66 75 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  eful.</li>..</ol
15bd0 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c  >..</td></tr>..<
15be0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c  /table>..<br>..<
15bf0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
15c00 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
15c10 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
15c20 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
15c30 3e 0d 0a 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75  >..<h3>More abou
15c40 74 20 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e  t Linear Referen
15c50 63 69 6e 67 20 61 6e 64 20 56 69 72 74 75 61 6c  cing and Virtual
15c60 52 6f 75 74 69 6e 67 20 4c 69 6e 65 73 74 72 69  Routing Linestri
15c70 6e 67 73 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68  ngs</h3> ..You h
15c80 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e  ave already seen
15c90 20 69 6e 20 61 20 70 72 65 76 69 6f 75 73 20 65   in a previous e
15ca0 78 61 6d 70 6c 65 20 74 68 61 74 20 61 6c 6c 20  xample that all 
15cb0 4c 49 4e 45 53 54 52 49 4e 47 73 20 63 72 65 61  LINESTRINGs crea
15cc0 74 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f  ted by VirtualRo
15cd0 75 74 69 6e 67 20 73 75 70 70 6f 72 74 20 74 68  uting support th
15ce0 65 20 3c 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c  e <b>M</b> (<b><
15cf0 69 3e 6d 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62  i>measure</i></b
15d00 3e 29 20 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e  >) coordinate in
15d10 74 65 6e 64 65 64 20 61 73 20 61 20 3c 62 3e 70  tended as a <b>p
15d20 72 6f 67 72 65 73 73 69 76 65 20 63 6f 73 74 3c  rogressive cost<
15d30 2f 62 3e 20 66 6f 72 20 65 61 63 68 20 76 65 72  /b> for each ver
15d40 74 65 78 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72  tex. And you alr
15d50 65 61 64 79 20 6b 6e 6f 77 20 74 68 65 20 74 68  eady know the th
15d60 65 79 20 63 61 6e 20 73 75 70 70 6f 72 74 20 3c  ey can support <
15d70 62 3e 3c 69 3e 6c 69 6e 65 61 72 20 72 65 66 65  b><i>linear refe
15d80 72 65 6e 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20  rencing</i></b> 
15d90 28 3c 62 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20  (<b>LR</b>) SQL 
15da0 66 75 6e 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a  functions.<br>..
15db0 4c 65 74 27 73 20 6e 6f 77 20 67 6f 20 69 6e 20  Let's now go in 
15dc0 66 75 72 74 68 65 72 20 64 65 70 74 68 2e 0d 0a  further depth...
15dd0 3c 68 33 3e 54 72 61 6a 65 63 74 6f 72 79 20 6f  <h3>Trajectory o
15de0 62 6a 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c  bjects</h3>..A <
15df0 62 3e 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e  b>Trajectory</b>
15e00 20 69 73 20 61 6e 79 20 4c 69 6e 65 73 74 72 69   is any Linestri
15e10 6e 67 20 73 75 70 70 6f 72 74 69 6e 67 20 3c 62  ng supporting <b
15e20 3e 4d 20 63 6f 6f 72 64 69 6e 61 74 65 73 3c 2f  >M coordinates</
15e30 62 3e 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e  b> with a contin
15e40 75 6f 75 73 6c 79 20 69 6e 63 72 65 61 73 69 6e  uously increasin
15e50 67 20 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e  g trend.<br>..In
15e60 20 73 69 6d 70 6c 65 72 20 77 6f 72 64 73 2c 20   simpler words, 
15e70 74 68 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f  the <b>M-value</
15e80 62 3e 20 6f 66 20 65 61 63 68 20 76 65 72 74 65  b> of each verte
15e90 78 20 28 65 78 63 65 70 74 20 74 68 65 20 6c 61  x (except the la
15ea0 73 74 20 6f 6e 65 29 20 6d 75 73 74 20 62 65 20  st one) must be 
15eb0 3c 62 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 74 68  <b>lesser</b> th
15ec0 61 6e 20 74 68 65 20 4d 2d 56 61 6c 75 65 20 6f  an the M-Value o
15ed0 66 20 74 68 65 20 6e 65 78 74 20 76 65 72 74 65  f the next verte
15ee0 78 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  x...<verbatim>..
15ef0 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 6d 79  SELECT * FROM my
15f00 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 57 48  _tsp_solution WH
15f10 45 52 45 20 53 54 5f 49 73 56 61 6c 69 64 54 72  ERE ST_IsValidTr
15f20 61 6a 65 63 74 6f 72 79 28 67 65 6f 6d 65 74 72  ajectory(geometr
15f30 79 29 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d  y) = 1;..-------
15f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d  ------------..1.
15f50 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73  .</verbatim>..As
15f60 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20   you can easily 
15f70 63 68 65 63 6b 20 62 79 20 63 61 6c 6c 69 6e 67  check by calling
15f80 20 3c 62 3e 53 54 5f 49 73 56 61 6c 69 64 54 72   <b>ST_IsValidTr
15f90 61 6a 65 63 74 6f 72 79 28 29 3c 2f 62 3e 20 65  ajectory()</b> e
15fa0 76 65 72 79 20 4c 69 6e 65 73 74 72 69 6e 67 20  very Linestring 
15fb0 63 72 65 61 74 65 64 20 62 79 20 56 69 72 74 75  created by Virtu
15fc0 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 61 20 3c  alRouting is a <
15fd0 62 3e 76 61 6c 69 64 20 54 72 61 6a 65 63 74 6f  b>valid Trajecto
15fe0 72 79 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74  ry</b>...<verbat
15ff0 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 54  im>..SELECT ST_T
16000 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f  rajectoryInterpo
16010 6c 61 74 65 50 6f 69 6e 74 28 47 65 6f 6d 65 74  latePoint(Geomet
16020 72 79 2c 20 31 30 30 2e 30 29 0d 0a 46 52 4f 4d  ry, 100.0)..FROM
16030 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e   my_tsp_solution
16040 0d 0a 57 48 45 52 45 20 52 6f 75 74 65 49 64 20  ..WHERE RouteId 
16050 3d 20 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  = 0;..</verbatim
16060 3e 0d 0a 53 6f 20 79 6f 75 20 6a 75 73 74 20 68  >..So you just h
16070 61 76 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53  ave to call <b>S
16080 54 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65  T_TrajectoryInte
16090 72 70 6f 6c 61 74 65 50 6f 69 6e 74 28 29 3c 2f  rpolatePoint()</
160a0 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63  b> in order to c
160b0 72 65 61 74 65 20 61 20 50 4f 49 4e 54 20 70 72  reate a POINT pr
160c0 65 63 69 73 65 6c 79 20 6c 6f 63 61 74 65 64 20  ecisely located 
160d0 6f 6e 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e  on the Linestrin
160e0 67 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 3c  g at the given <
160f0 62 3e 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72  b>cost</b>...<br
16100 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72  ><br><hr><br><br
16110 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20  >..The side map 
16120 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77  graphically show
16130 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20  s the estimated 
16140 70 6f 73 69 74 69 6f 6e 73 20 65 76 65 72 79 20  positions every 
16150 31 30 30 6d 20 61 73 73 75 6d 69 6e 67 20 74 68  100m assuming th
16160 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75  e same path retu
16170 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65  rned by the late
16180 73 74 20 54 53 50 20 71 75 65 72 79 2e 0d 0a 3c  st TSP query...<
16190 2f 74 64 3e 3c 74 64 3e 20 20 20 20 20 20 20 20  /td><td>        
161a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
161b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
161c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
161d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
161e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
161f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
162f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
163f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
164f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
165f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
166f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
167f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
168f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
169f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
16ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
170f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
171f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
172f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
173f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 0d                 .
1e8e0 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
1e8f0 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
1e900 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
1e910 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a  ting-figs/tsp2.j
1e920 70 67 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d  pg" alt="fig5">.
1e930 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62  .</td></tr></tab
1e940 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  le>..<hr><br>..<
1e950 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
1e960 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
1e970 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61  fossil/libspatia
1e980 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34  lite/wiki?name=4
1e990 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f  .3.0-doc">back</
1e9a0 61 3e 0a 5a 20 36 34 33 35 33 38 32 31 33 63 38  a>.Z 643538213c8
1e9b0 31 66 35 30 36 62 62 39 38 36 38 62 64 66 33 64  1f506bb9868bdf3d
1e9c0 64 31 32 33 61 0a                                d123a.