Hex Artifact Content
Not logged in

Artifact 9c1307bef141f79958b97d1e0e439bbfe5fb5538:

Wiki page [PROJ.6] by sandro 2019-07-08 07:29:52.
0000: 44 20 32 30 31 39 2d 30 37 2d 30 38 54 30 37 3a  D 2019-07-08T07:
0010: 32 39 3a 35 32 2e 36 33 37 0a 4c 20 50 52 4f 4a  29:52.637.L PROJ
0020: 2e 36 0a 50 20 62 35 31 39 65 32 62 33 66 61 38  .6.P b519e2b3fa8
0030: 66 63 39 39 61 64 65 61 62 30 65 38 38 30 33 62  fc99adeab0e8803b
0040: 64 62 66 63 63 62 65 38 33 65 62 66 36 0a 55 20  dbfccbe83ebf6.U 
0050: 73 61 6e 64 72 6f 0a 57 20 34 38 35 37 35 0a 3c  sandro.W 48575.<
0060: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
0070: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
0080: 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61  fossil/libspatia
0090: 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34  lite/wiki?name=4
00a0: 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f  .3.0-doc">back</
00b0: 61 3e 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e  a><hr><br>..<h1>
00c0: 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 68 31  Introduction</h1
00d0: 3e 0d 0a 3c 62 3e 50 52 4f 4a 3c 2f 62 3e 20 69  >..<b>PROJ</b> i
00e0: 73 20 61 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 6c  s a well-known l
00f0: 69 62 72 61 72 79 20 66 6f 72 20 70 65 72 66 6f  ibrary for perfo
0100: 72 6d 69 6e 67 20 63 6f 6e 76 65 72 73 69 6f 6e  rming conversion
0110: 73 20 62 65 74 77 65 65 6e 20 63 61 72 74 6f 67  s between cartog
0120: 72 61 70 68 69 63 20 70 72 6f 6a 65 63 74 69 6f  raphic projectio
0130: 6e 73 2e 3c 62 72 3e 0d 0a 49 74 27 73 20 75 6e  ns.<br>..It's un
0140: 69 76 65 72 73 61 6c 6c 79 20 73 75 70 70 6f 72  iversally suppor
0150: 74 65 64 20 62 79 20 61 6c 6d 6f 73 74 20 61 6c  ted by almost al
0160: 6c 20 6f 70 65 6e 20 73 6f 75 72 63 65 20 47 49  l open source GI
0170: 53 2d 6f 72 69 65 6e 74 65 64 20 61 70 70 6c 69  S-oriented appli
0180: 63 61 74 69 6f 6e 73 20 61 6e 64 20 70 61 63 6b  cations and pack
0190: 61 67 65 73 2c 20 73 6f 20 6d 75 63 68 20 73 6f  ages, so much so
01a0: 20 74 68 61 74 20 6d 6f 73 74 20 64 6f 6e 27 74   that most don't
01b0: 20 65 76 65 6e 20 72 65 61 6c 69 7a 65 20 74 68   even realize th
01c0: 61 74 20 50 52 4f 4a 20 69 73 20 62 65 69 6e 67  at PROJ is being
01d0: 20 75 73 65 64 20 69 6e 20 74 68 65 20 62 61 63   used in the bac
01e0: 6b 67 72 6f 75 6e 64 2e 3c 62 72 3e 0d 0a 53 6f  kground.<br>..So
01f0: 20 61 20 73 68 6f 72 74 20 68 69 73 74 6f 72 79   a short history
0200: 20 77 6f 75 6c 64 20 62 65 20 61 70 70 72 6f 70   would be approp
0210: 72 69 61 74 65 20 74 6f 20 66 75 6c 6c 79 20 75  riate to fully u
0220: 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 63 75  nderstand the cu
0230: 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66 20 74  rrent state of t
0240: 68 65 20 61 72 74 20 6f 66 20 74 68 69 73 20 6c  he art of this l
0250: 69 62 72 61 72 79 3a 3c 62 72 3e 0d 0a 3c 68 33  ibrary:<br>..<h3
0260: 3e 50 61 73 74 20 48 69 73 74 6f 72 79 3c 2f 68  >Past History</h
0270: 33 3e 0d 0a 3c 62 3e 3c 75 3e 54 69 6d 65 6c 69  3>..<b><u>Timeli
0280: 6e 65 3c 2f 75 3e 3c 2f 62 3e 3c 62 72 3e 0d 0a  ne</u></b><br>..
0290: 56 65 72 79 20 66 65 77 20 75 73 65 72 73 20 61  Very few users a
02a0: 6e 64 20 64 65 76 65 6c 6f 70 65 72 73 20 72 65  nd developers re
02b0: 61 6c 69 7a 65 20 68 6f 77 20 61 6e 63 69 65 6e  alize how ancien
02c0: 74 20 20 50 52 4f 4a 20 69 73 2c 20 61 6e 64 20  t  PROJ is, and 
02d0: 68 6f 77 20 66 61 72 20 69 74 20 68 61 73 20 70  how far it has p
02e0: 72 6f 67 72 65 73 73 65 64 20 73 69 6e 63 65 20  rogressed since 
02f0: 69 74 73 20 66 69 72 73 74 20 73 74 65 70 73 3a  its first steps:
0300: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c  ..<ul>..<li>in <
0310: 62 3e 31 39 38 30 3c 2f 62 3e 20 28 61 62 6f 75  b>1980</b> (abou
0320: 74 20 34 30 20 79 65 61 72 73 20 61 67 6f 29 20  t 40 years ago) 
0330: 47 65 72 61 6c 64 20 45 76 65 6e 64 65 6e 20 73  Gerald Evenden s
0340: 74 61 72 74 65 64 20 77 6f 72 6b 69 6e 67 20 6f  tarted working o
0350: 6e 20 74 68 65 20 76 65 72 79 20 66 69 72 73 74  n the very first
0360: 20 50 52 4f 4a 20 76 65 72 73 69 6f 6e 2c 20 77   PROJ version, w
0370: 68 69 63 68 20 61 74 20 74 68 65 20 74 69 6d 65  hich at the time
0380: 20 69 74 20 77 61 73 20 61 20 52 61 74 66 6f 72   it was a Ratfor
0390: 20 28 52 61 74 69 6f 6e 61 6c 20 46 6f 72 74 72   (Rational Fortr
03a0: 61 6e 29 20 70 72 6f 67 72 61 6d 2e 3c 2f 6c 69  an) program.</li
03b0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e 31 39 38  >..<li>in <b>198
03c0: 35 3c 2f 62 3e 20 74 68 65 20 63 6f 64 65 20 77  5</b> the code w
03d0: 61 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65  as completely re
03e0: 77 72 69 74 74 65 6e 20 69 6e 20 43 20 74 6f 20  written in C to 
03f0: 72 75 6e 20 6f 6e 20 55 4e 49 58 20 73 79 73 74  run on UNIX syst
0400: 65 6d 73 2c 20 61 6e 64 20 69 74 20 77 61 73 20  ems, and it was 
0410: 6e 61 6d 65 64 20 3c 62 3e 50 52 4f 4a 2e 32 3c  named <b>PROJ.2<
0420: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69  /b>.</li>..<li>i
0430: 6e 20 3c 62 3e 31 39 39 30 3c 2f 62 3e 20 77 61  n <b>1990</b> wa
0440: 73 20 72 65 6c 65 61 73 65 64 20 61 6e 20 75 70  s released an up
0450: 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6e 61  dated version na
0460: 6d 65 64 20 3c 62 3e 50 52 4f 4a 2e 33 3c 2f 6c  med <b>PROJ.3</l
0470: 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e 31 39  i>..<li>in <b>19
0480: 39 34 3c 2f 62 3e 20 61 20 6d 6f 72 65 20 61 64  94</b> a more ad
0490: 76 61 6e 63 65 64 20 76 65 72 73 69 6f 6e 20 77  vanced version w
04a0: 61 73 20 72 65 6c 65 61 73 65 64 2c 20 61 6e 64  as released, and
04b0: 20 69 74 20 77 61 73 20 6f 62 76 69 6f 75 73 6c   it was obviousl
04c0: 79 20 6e 61 6d 65 64 20 3c 62 3e 50 52 4f 4a 2e  y named <b>PROJ.
04d0: 34 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  4</b></li>..<li>
04e0: 69 6e 20 3c 62 3e 31 39 39 35 3c 2f 62 3e 20 45  in <b>1995</b> E
04f0: 76 65 6e 64 65 6e 20 73 74 6f 70 70 65 64 20 61  venden stopped a
0500: 6e 79 20 66 75 72 74 68 65 72 20 64 65 76 65 6c  ny further devel
0510: 6f 70 6d 65 6e 74 20 61 63 74 69 76 69 74 79 20  opment activity 
0520: 61 6e 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20  and the project 
0530: 62 65 63 6f 6d 65 20 69 6e 61 63 74 69 76 65 20  become inactive 
0540: 66 6f 72 20 73 65 76 65 72 61 6c 20 79 65 61 72  for several year
0550: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20  s.</li>..<li>in 
0560: 3c 62 3e 32 30 30 30 3c 2f 62 3e 20 46 72 61 6e  <b>2000</b> Fran
0570: 6b 20 57 61 72 6d 65 72 64 61 6d 20 62 65 63 61  k Warmerdam beca
0580: 6d 65 20 74 68 65 20 6e 65 77 20 6d 61 69 6e 74  me the new maint
0590: 61 69 6e 65 72 20 61 6e 64 20 72 65 6c 65 61 73  ainer and releas
05a0: 65 64 20 76 65 72 73 69 6f 6e 20 3c 62 3e 34 2e  ed version <b>4.
05b0: 34 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  4</b></li>..<li>
05c0: 41 66 74 65 72 20 74 68 69 73 20 72 65 62 69 72  After this rebir
05d0: 74 68 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63  th of the projec
05e0: 74 2c 20 69 74 20 63 6f 6e 74 69 6e 75 65 64 20  t, it continued 
05f0: 74 6f 20 62 65 20 72 65 67 75 6c 61 72 6c 79 20  to be regularly 
0600: 6d 61 69 6e 74 61 69 6e 65 64 2c 20 62 75 74 20  maintained, but 
0610: 6e 6f 20 66 75 72 74 68 65 72 20 72 65 6c 65 76  no further relev
0620: 61 6e 74 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73  ant improvements
0630: 20 77 65 72 65 20 69 6e 74 72 6f 64 75 63 65 64   were introduced
0640: 2e 3c 62 72 3e 0d 0a 50 52 4f 4a 2e 34 20 6a 75  .<br>..PROJ.4 ju
0650: 73 74 20 63 6f 6e 74 69 6e 75 65 64 20 77 69 74  st continued wit
0660: 68 6f 75 74 20 69 6e 76 6f 6c 76 69 6e 67 20 74  hout involving t
0670: 6f 67 65 74 68 65 72 20 77 69 74 68 20 6e 65 77  ogether with new
0680: 20 66 6f 75 6e 64 20 6b 6e 6f 77 6c 65 64 67 65   found knowledge
0690: 2f 65 78 70 65 72 69 65 6e 63 65 20 6f 66 20 74  /experience of t
06a0: 68 65 20 6c 61 73 74 20 74 77 6f 20 64 65 63 61  he last two deca
06b0: 64 65 73 20 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  des .</li>..</ul
06c0: 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 53 68 6f  ><br>..<b><u>Sho
06d0: 72 74 20 63 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 75  rt conclusion</u
06e0: 3e 3c 2f 62 3e 3a 20 74 68 65 20 66 6f 75 72 74  ></b>: the fourt
06f0: 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 52 4f  h version of PRO
0700: 4a 20 28 61 6b 61 20 3c 62 3e 50 52 4f 4a 2e 34  J (aka <b>PROJ.4
0710: 3c 2f 62 3e 29 20 6c 61 73 74 65 64 20 66 6f 72  </b>) lasted for
0720: 20 61 62 6f 75 74 20 74 77 6f 20 64 65 63 61 64   about two decad
0730: 65 73 2c 20 61 20 76 65 72 79 20 75 6e 63 6f 6d  es, a very uncom
0740: 6d 6f 6e 20 73 69 74 75 61 74 69 6f 6e 2e 3c 62  mon situation.<b
0750: 72 3e 0d 0a 41 6e 64 20 63 6f 6e 73 65 71 75 65  r>..And conseque
0760: 6e 74 6c 79 20 61 20 66 75 6c 6c 20 67 65 6e 65  ntly a full gene
0770: 72 61 74 69 6f 6e 20 6f 66 20 64 65 76 65 6c 6f  ration of develo
0780: 70 65 72 73 20 61 6e 64 20 75 73 65 72 73 20 62  pers and users b
0790: 65 63 61 6d 65 20 73 69 6e 63 65 72 65 6c 79 20  ecame sincerely 
07a0: 63 6f 6e 76 69 6e 63 65 64 20 74 68 61 74 20 50  convinced that P
07b0: 52 4f 4a 2e 34 20 77 61 73 20 74 68 65 20 72 65  ROJ.4 was the re
07c0: 61 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6c  al name of the l
07d0: 69 62 72 61 72 79 2e 0d 0a 3c 68 33 3e 54 68 65  ibrary...<h3>The
07e0: 20 72 65 76 6f 6c 75 74 69 6f 6e 20 63 6f 6d 65   revolution come
07f0: 73 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c 75 3e 54 69  s</h3>..<b><u>Ti
0800: 6d 65 6c 69 6e 65 3c 2f 75 3e 3c 2f 62 3e 3a 0d  meline</u></b>:.
0810: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62  .<ul>..<li>in <b
0820: 3e 32 30 31 38 3c 2f 62 3e 20 4b 72 69 73 74 69  >2018</b> Kristi
0830: 61 6e 20 45 76 65 72 73 2c 20 45 76 65 6e 20 52  an Evers, Even R
0840: 6f 75 61 75 6c 74 2c 20 61 6e 64 20 6f 74 68 65  ouault, and othe
0850: 72 73 20 73 74 61 72 74 65 64 20 64 65 76 65 6c  rs started devel
0860: 6f 70 69 6e 67 0d 0a 61 20 72 65 76 6f 6c 75 74  oping..a revolut
0870: 69 6f 6e 69 7a 65 64 20 50 52 4f 4a 20 73 75 70  ionized PROJ sup
0880: 70 6f 72 74 69 6e 67 20 6d 61 6e 79 20 72 65 6c  porting many rel
0890: 65 76 61 6e 74 20 69 6e 6e 6f 76 61 74 69 6f 6e  evant innovation
08a0: 73 2e 3c 62 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 2e  s.<br>..<b>PROJ.
08b0: 35 3c 2f 62 3e 20 77 61 73 20 69 6e 74 65 6e 64  5</b> was intend
08c0: 65 64 20 74 6f 20 62 65 20 74 68 65 20 66 69 72  ed to be the fir
08d0: 73 74 20 70 72 65 6c 69 6d 69 6e 61 72 79 20 73  st preliminary s
08e0: 74 65 70 20 6f 66 20 61 20 6d 6f 72 65 20 63 6f  tep of a more co
08f0: 6d 70 6c 65 78 20 65 76 6f 6c 75 74 69 6f 6e 20  mplex evolution 
0900: 73 63 68 65 6d 61 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  schema.</li>..<l
0910: 69 3e 6f 6e 20 3c 62 3e 4d 61 72 63 68 20 32 30  i>on <b>March 20
0920: 31 39 3c 2f 62 3e 20 61 20 6d 6f 72 65 20 6d 61  19</b> a more ma
0930: 74 75 72 65 20 76 65 72 73 69 6f 6e 20 77 61 73  ture version was
0940: 20 72 65 6c 65 61 73 65 64 2c 20 61 6e 64 20 69   released, and i
0950: 74 27 73 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62  t's <b>PROJ.6</b
0960: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 65 78 74  ></li>..<li>Next
0970: 20 79 65 61 72 20 28 32 30 32 30 29 20 3c 62 3e   year (2020) <b>
0980: 50 52 4f 4a 2e 37 3c 2f 62 3e 20 69 73 20 65 78  PROJ.7</b> is ex
0990: 70 65 63 74 65 64 20 74 6f 20 62 65 20 72 65 6c  pected to be rel
09a0: 65 61 73 65 64 2c 20 61 6e 64 20 74 68 75 73 20  eased, and thus 
09b0: 63 6f 6d 70 6c 65 74 65 20 74 68 65 20 74 72 61  complete the tra
09c0: 6e 73 69 74 69 6f 6e 20 62 65 74 77 65 65 6e 20  nsition between 
09d0: 74 68 65 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20  the old and new 
09e0: 61 72 63 68 69 74 65 63 74 75 72 65 73 2e 3c 2f  architectures.</
09f0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
0a00: 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  ..<b><u>Note</u>
0a10: 3c 2f 62 3e 3a 20 74 68 65 20 77 68 6f 6c 65 20  </b>: the whole 
0a20: 74 72 61 6e 73 69 74 69 6f 6e 20 72 65 71 75 69  transition requi
0a30: 72 65 73 20 6d 61 6e 79 20 72 65 6c 65 76 61 6e  res many relevan
0a40: 74 20 63 68 61 6e 67 65 73 2c 20 73 6f 20 74 68  t changes, so th
0a50: 61 74 20 61 20 64 65 65 70 6c 79 20 72 65 76 69  at a deeply revi
0a60: 73 65 64 20 41 50 49 20 77 69 6c 6c 20 62 65 20  sed API will be 
0a70: 72 65 71 75 69 72 65 64 2e 0d 0a 49 6e 20 6f 74  required...In ot
0a80: 68 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 6f  her words, the o
0a90: 6c 64 20 3c 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e  ld <b>PROJ.4</b>
0aa0: 20 61 6e 64 20 74 68 65 20 6e 65 77 20 3c 62 3e   and the new <b>
0ab0: 50 52 4f 4a 2e 37 3c 2f 62 3e 20 77 69 6c 6c 20  PROJ.7</b> will 
0ac0: 73 75 70 70 6f 72 74 20 74 77 6f 20 64 69 66 66  support two diff
0ad0: 65 72 65 6e 74 20 41 50 49 73 2c 20 74 68 75 73  erent APIs, thus
0ae0: 20 61 62 72 75 70 74 6c 79 20 62 72 65 61 6b 69   abruptly breaki
0af0: 6e 67 20 63 72 6f 73 73 2d 76 65 72 73 69 6f 6e  ng cross-version
0b00: 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 3c   compatibility.<
0b10: 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 75 6e 70  br>..This is unp
0b20: 6c 65 61 73 61 6e 74 20 6e 65 77 73 2c 20 62 65  leasant news, be
0b30: 63 61 75 73 65 20 69 74 20 70 72 61 63 74 69 63  cause it practic
0b40: 61 6c 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20  ally means that 
0b50: 61 6c 6c 20 73 6f 66 74 77 61 72 65 20 6d 6f 64  all software mod
0b60: 75 6c 65 73 20 64 65 70 65 6e 64 69 6e 67 20 6f  ules depending o
0b70: 6e 20 50 52 4f 4a 20 28 69 6e 63 6c 75 64 69 6e  n PROJ (includin
0b80: 67 20 53 70 61 74 69 61 4c 69 74 65 29 20 77 69  g SpatiaLite) wi
0b90: 6c 6c 20 72 65 71 75 69 72 65 20 61 20 6e 6f 74  ll require a not
0ba0: 20 61 74 20 61 6c 6c 20 74 72 69 76 69 61 6c 20   at all trivial 
0bb0: 72 65 77 72 69 74 65 20 69 6e 20 6f 72 64 65 72  rewrite in order
0bc0: 20 74 6f 20 66 75 6c 66 69 6c 6c 20 74 68 65 20   to fulfill the 
0bd0: 6e 65 77 20 41 50 49 20 72 65 71 75 69 72 65 6d  new API requirem
0be0: 65 6e 74 73 2e 3c 62 72 3e 0d 0a 42 75 74 20 63  ents.<br>..But c
0bf0: 6f 6e 73 69 64 65 72 69 6e 67 20 74 68 61 74 20  onsidering that 
0c00: 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73  this is the firs
0c10: 74 20 6d 61 6a 6f 72 20 41 50 49 20 62 72 65 61  t major API brea
0c20: 6b 20 69 6e 20 34 30 20 79 65 61 72 73 20 61 6e  k in 40 years an
0c30: 64 20 77 69 74 68 20 73 6f 20 6d 61 6e 79 20 75  d with so many u
0c40: 73 65 66 75 6c 20 69 6e 6e 6f 76 61 74 69 6f 6e  seful innovation
0c50: 73 2c 20 73 75 63 68 20 61 20 62 72 65 61 6b 61  s, such a breaka
0c60: 67 65 20 69 73 20 66 75 6c 6c 79 20 6a 75 73 74  ge is fully just
0c70: 69 66 69 65 64 20 61 6e 64 20 72 65 61 73 6f 6e  ified and reason
0c80: 61 62 6c 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  able.<br><br>..<
0c90: 62 3e 3c 75 3e 4d 6f 72 65 20 64 65 74 61 69 6c  b><u>More detail
0ca0: 73 20 61 62 6f 75 74 20 74 68 65 20 41 50 49 20  s about the API 
0cb0: 62 72 65 61 6b 61 67 65 3c 2f 75 3e 3c 2f 62 3e  breakage</u></b>
0cc0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
0cd0: 50 52 4f 4a 2e 35 3c 2f 62 3e 20 69 6e 74 72 6f  PROJ.5</b> intro
0ce0: 64 75 63 65 64 20 74 68 65 20 6e 65 77 20 41 50  duced the new AP
0cf0: 49 2c 20 62 75 74 20 73 74 69 6c 6c 20 73 75 70  I, but still sup
0d00: 70 6f 72 74 65 64 20 74 68 65 20 74 72 61 64 69  ported the tradi
0d10: 74 69 6f 6e 61 6c 20 41 50 49 2e 3c 2f 6c 69 3e  tional API.</li>
0d20: 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e 50 52 4f 4a  ..<li>in <b>PROJ
0d30: 2e 36 3c 2f 62 3e 20 74 68 65 20 6f 6c 64 20 74  .6</b> the old t
0d40: 72 61 64 69 74 69 6f 6e 61 6c 20 41 50 49 20 77  raditional API w
0d50: 61 73 20 64 65 70 72 65 63 61 74 65 64 2e 3c 62  as deprecated.<b
0d60: 72 3e 0d 0a 54 68 65 20 74 72 61 64 69 74 69 6f  r>..The traditio
0d70: 6e 61 6c 20 41 50 49 20 63 6f 75 6c 64 20 6f 6e  nal API could on
0d80: 6c 79 20 62 65 20 75 73 65 64 20 77 68 65 6e 20  ly be used when 
0d90: 63 6f 6d 70 69 6c 65 64 20 62 79 20 65 78 70 6c  compiled by expl
0da0: 69 63 69 74 6c 79 20 64 65 66 69 6e 69 6e 67 20  icitly defining 
0db0: 61 20 3c 62 3e 2d 44 41 43 43 45 50 54 5f 55 53  a <b>-DACCEPT_US
0dc0: 45 5f 4f 46 5f 44 45 50 52 45 43 41 54 45 44 5f  E_OF_DEPRECATED_
0dd0: 50 52 4f 4a 5f 41 50 49 5f 48 3d 31 3c 2f 62 3e  PROJ_API_H=1</b>
0de0: 20 64 69 72 65 63 74 69 76 65 20 74 6f 20 65 6e   directive to en
0df0: 61 62 6c 65 20 69 74 73 20 75 73 65 2e 3c 2f 6c  able its use.</l
0e00: 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61  i>..<li>and fina
0e10: 6c 6c 79 20 69 6e 20 74 68 65 20 6e 65 78 74 2d  lly in the next-
0e20: 74 6f 2d 63 6f 6d 65 20 3c 62 3e 50 52 4f 4a 2e  to-come <b>PROJ.
0e30: 37 3c 2f 62 3e 20 74 68 65 20 74 72 61 64 69 74  7</b> the tradit
0e40: 69 6f 6e 61 6c 20 41 50 49 20 77 69 6c 6c 20 62  ional API will b
0e50: 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 6d  e completely rem
0e60: 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  oved.</li>..</ul
0e70: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c  >..<br>..<hr>..<
0e80: 68 31 3e 57 68 61 74 27 73 20 6e 65 77 20 69 6e  h1>What's new in
0e90: 20 50 52 4f 4a 2e 36 3c 2f 68 31 3e 0d 0a 3c 68   PROJ.6</h1>..<h
0ea0: 33 3e 46 75 6c 6c 79 20 73 75 70 70 6f 72 74 69  3>Fully supporti
0eb0: 6e 67 20 49 53 4f 20 31 39 31 36 32 3a 32 30 31  ng ISO 19162:201
0ec0: 38 20 57 4b 54 3c 2f 68 33 3e 0d 0a 4f 6c 64 20  8 WKT</h3>..Old 
0ed0: 76 65 72 73 69 6f 6e 73 20 6f 66 20 50 52 4f 4a  versions of PROJ
0ee0: 20 28 69 6e 63 6c 75 64 69 6e 67 20 3c 62 3e 50   (including <b>P
0ef0: 52 4f 4a 2e 34 3c 2f 62 3e 29 20 72 65 71 75 69  ROJ.4</b>) requi
0f00: 72 65 64 20 74 6f 20 64 65 66 69 6e 65 20 65 61  red to define ea
0f10: 63 68 20 3c 62 3e 43 52 53 3c 2f 62 3e 20 28 3c  ch <b>CRS</b> (<
0f20: 69 3e 43 6f 6f 72 64 69 6e 61 74 65 20 52 65 66  i>Coordinate Ref
0f30: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 3c 2f 69  erence System</i
0f40: 3e 29 20 62 79 20 61 20 63 6f 72 72 65 73 70 6f  >) by a correspo
0f50: 6e 64 69 6e 67 20 3c 62 3e 70 72 6f 6a 2d 73 74  nding <b>proj-st
0f60: 72 69 6e 67 3c 2f 62 3e 2e 0d 0a 54 68 65 20 66  ring</b>...The f
0f70: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 65  ollowing table e
0f80: 78 65 6d 70 6c 69 66 69 65 73 20 74 68 65 20 63  xemplifies the c
0f90: 61 73 65 20 6f 66 20 66 65 77 20 43 52 53 65 73  ase of few CRSes
0fa0: 3a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  :<br><br>..<tabl
0fb0: 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38  e cellspacing="8
0fc0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38  " cellpadding="8
0fd0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 65 38 66 66  " bgcolor="#e8ff
0fe0: 65 38 22 20 62 6f 72 64 65 72 3d 22 31 22 3e 0d  e8" border="1">.
0ff0: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
1000: 3d 22 23 66 66 62 30 33 65 22 3e 53 52 49 44 3c  ="#ffb03e">SRID<
1010: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
1020: 22 23 66 66 62 30 33 65 22 3e 43 52 53 20 4e 61  "#ffb03e">CRS Na
1030: 6d 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  me</th><th bgcol
1040: 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 70 72 6f  or="#ffb03e">pro
1050: 6a 2d 73 74 72 69 6e 67 20 28 50 52 4f 4a 2e 34  j-string (PROJ.4
1060: 20 73 74 79 6c 65 29 3c 2f 74 68 3e 3c 74 68 20   style)</th><th 
1070: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65  bgcolor="#ffb03e
1080: 22 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 20 28 50  ">proj-string (P
1090: 52 4f 4a 2e 36 20 73 74 79 6c 65 29 3c 2f 74 68  ROJ.6 style)</th
10a0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20  ></tr>..<tr><td 
10b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
10c0: 30 33 3c 2f 74 64 3e 3c 74 64 3e 4d 6f 6e 74 65  03</td><td>Monte
10d0: 20 4d 61 72 69 6f 20 2f 20 49 74 61 6c 79 20 7a   Mario / Italy z
10e0: 6f 6e 65 20 31 3c 2f 74 64 3e 0d 0a 3c 74 64 3e  one 1</td>..<td>
10f0: 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74  +proj=tmerc +lat
1100: 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b  _0=0 +lon_0=9 +k
1110: 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30  =0.9996 +x_0=150
1120: 30 30 30 30 20 2b 79 5f 30 3d 30 20 5c 3c 62 72  0000 +y_0=0 \<br
1130: 3e 0d 0a 2b 65 6c 6c 70 73 3d 69 6e 74 6c 20 2b  >..+ellps=intl +
1140: 74 6f 77 67 73 38 34 3d 2d 31 30 34 2e 31 2c 2d  towgs84=-104.1,-
1150: 34 39 2e 31 2c 2d 39 2e 39 2c 30 2e 39 37 31 2c  49.1,-9.9,0.971,
1160: 2d 32 2e 39 31 37 2c 30 2e 37 31 34 2c 2d 31 31  -2.917,0.714,-11
1170: 2e 36 38 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e 6f  .68 +units=m +no
1180: 5f 64 65 66 73 3c 2f 74 64 3e 3c 74 64 3e 2b 70  _defs</td><td>+p
1190: 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74 5f 30  roj=tmerc +lat_0
11a0: 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b 3d 30  =0 +lon_0=9 +k=0
11b0: 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30 30 30  .9996 +x_0=15000
11c0: 30 30 20 2b 79 5f 30 3d 30 20 5c 3c 62 72 3e 0d  00 +y_0=0 \<br>.
11d0: 0a 2b 65 6c 6c 70 73 3d 69 6e 74 6c 20 2b 75 6e  .+ellps=intl +un
11e0: 69 74 73 3d 6d 20 2b 6e 6f 5f 64 65 66 73 20 2b  its=m +no_defs +
11f0: 74 79 70 65 3d 63 72 73 3c 2f 74 64 3e 3c 2f 74  type=crs</td></t
1200: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 61 6c 69 67  r>..<tr><td alig
1210: 6e 3d 22 72 69 67 68 74 22 3e 34 33 32 36 3c 2f  n="right">4326</
1220: 74 64 3e 3c 74 64 3e 57 47 53 20 38 34 3c 2f 74  td><td>WGS 84</t
1230: 64 3e 0d 0a 3c 74 64 3e 2b 70 72 6f 6a 3d 6c 6f  d>..<td>+proj=lo
1240: 6e 67 6c 61 74 20 2b 64 61 74 75 6d 3d 57 47 53  nglat +datum=WGS
1250: 38 34 20 2b 6e 6f 5f 64 65 66 73 3c 2f 74 64 3e  84 +no_defs</td>
1260: 3c 74 64 3e 2b 70 72 6f 6a 3d 6c 6f 6e 67 6c 61  <td>+proj=longla
1270: 74 20 2b 64 61 74 75 6d 3d 57 47 53 38 34 20 2b  t +datum=WGS84 +
1280: 6e 6f 5f 64 65 66 73 20 2b 74 79 70 65 3d 63 72  no_defs +type=cr
1290: 73 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  s</td></tr>..<tr
12a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
12b0: 74 22 3e 33 32 36 33 32 3c 2f 74 64 3e 3c 74 64  t">32632</td><td
12c0: 3e 57 47 53 20 38 34 20 2f 20 55 54 4d 20 7a 6f  >WGS 84 / UTM zo
12d0: 6e 65 20 33 32 4e 3c 2f 74 64 3e 0d 0a 3c 74 64  ne 32N</td>..<td
12e0: 3e 2b 70 72 6f 6a 3d 75 74 6d 20 2b 7a 6f 6e 65  >+proj=utm +zone
12f0: 3d 33 32 20 2b 64 61 74 75 6d 3d 57 47 53 38 34  =32 +datum=WGS84
1300: 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e 6f 5f 64 65   +units=m +no_de
1310: 66 73 3c 2f 74 64 3e 3c 74 64 3e 2b 70 72 6f 6a  fs</td><td>+proj
1320: 3d 75 74 6d 20 2b 7a 6f 6e 65 3d 33 32 20 2b 64  =utm +zone=32 +d
1330: 61 74 75 6d 3d 57 47 53 38 34 20 2b 75 6e 69 74  atum=WGS84 +unit
1340: 73 3d 6d 20 2b 6e 6f 5f 64 65 66 73 20 2b 74 79  s=m +no_defs +ty
1350: 70 65 3d 63 72 73 3c 2f 74 64 3e 0d 0a 3c 2f 74  pe=crs</td>..</t
1360: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 50 52 4f  able>..<br>..PRO
1370: 4a 2e 36 20 73 74 69 6c 6c 20 63 6f 6e 74 69 6e  J.6 still contin
1380: 75 65 73 20 74 6f 20 73 75 70 70 6f 72 74 20 74  ues to support t
1390: 68 65 20 6f 6c 64 20 70 72 6f 6a 2d 73 74 72 69  he old proj-stri
13a0: 6e 67 73 2c 20 62 75 74 20 69 74 20 6e 6f 77 20  ngs, but it now 
13b0: 61 64 6f 70 74 73 20 61 20 73 6c 69 67 68 74 6c  adopts a slightl
13c0: 79 20 63 68 61 6e 67 65 64 20 6e 6f 74 61 74 69  y changed notati
13d0: 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  on:..<ul>..<li>t
13e0: 68 65 72 65 20 69 73 20 61 20 6e 65 77 20 3c 62  here is a new <b
13f0: 3e 2b 74 79 70 65 3d 63 72 73 3c 2f 62 3e 20 6d  >+type=crs</b> m
1400: 65 6d 62 65 72 20 65 78 70 6c 69 63 69 74 6c 79  ember explicitly
1410: 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68   stating that th
1420: 65 20 73 74 72 69 6e 67 20 69 73 20 69 6e 74 65  e string is inte
1430: 6e 64 65 64 20 74 6f 20 62 65 20 61 20 43 52 53  nded to be a CRS
1440: 20 64 65 66 69 6e 69 74 69 6f 6e 2e 3c 2f 6c 69   definition.</li
1450: 3e 0d 0a 3c 6c 69 3e 61 73 20 61 20 67 65 6e 65  >..<li>as a gene
1460: 72 61 6c 20 72 75 6c 65 20 74 68 65 20 3c 62 3e  ral rule the <b>
1470: 2b 74 6f 77 67 73 38 34 3d 3c 2f 62 3e 20 6d 65  +towgs84=</b> me
1480: 6d 62 65 72 20 69 73 20 6e 6f 20 6c 6f 6e 67 65  mber is no longe
1490: 72 20 73 75 70 70 6f 72 74 65 64 2e 3c 62 72 3e  r supported.<br>
14a0: 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 74  ..<b>Note</b>: t
14b0: 68 69 73 20 69 73 20 61 20 76 65 72 79 20 63 72  his is a very cr
14c0: 69 74 69 63 61 6c 20 63 68 61 6e 67 65 2c 20 74  itical change, t
14d0: 68 61 74 20 63 61 6e 20 65 61 73 69 6c 79 20 6c  hat can easily l
14e0: 65 61 64 20 74 6f 20 75 6e 65 78 70 65 63 74 65  ead to unexpecte
14f0: 64 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a  d results.<br>..
1500: 41 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 69  As an example, i
1510: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62  n the case of <b
1520: 3e 45 50 53 47 3a 33 30 30 33 20 3c 69 3e 28 49  >EPSG:3003 <i>(I
1530: 74 61 6c 79 20 6d 61 69 6e 6c 61 6e 64 29 3c 2f  taly mainland)</
1540: 69 3e 3c 2f 62 3e 20 2c 20 73 75 70 70 72 65 73  i></b> , suppres
1550: 73 69 6e 67 20 74 68 65 20 2b 74 6f 77 67 73 38  sing the +towgs8
1560: 34 20 6d 65 6d 62 65 72 20 63 61 75 73 65 73 20  4 member causes 
1570: 61 20 73 68 69 66 74 20 6f 66 20 61 62 6f 75 74  a shift of about
1580: 20 31 30 30 6d 20 69 6e 20 63 6f 6f 72 64 69 6e   100m in coordin
1590: 61 74 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69  ate transformati
15a0: 6f 6e 73 2e 20 53 6f 20 62 65 20 77 61 72 6e 65  ons. So be warne
15b0: 64 2e 3c 62 72 3e 0d 0a 41 6e 6f 74 68 65 72 20  d.<br>..Another 
15c0: 65 78 61 6d 70 6c 65 2c 20 73 75 63 68 20 61 73  example, such as
15d0: 20 61 6c 6c 20 3c 62 3e 44 48 44 4e 3c 2f 62 3e   all <b>DHDN</b>
15e0: 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 77 68 69   projections whi
15f0: 63 68 20 75 73 65 73 20 74 68 65 20 67 72 69 64  ch uses the grid
1600: 20 66 69 6c 65 20 3c 62 3e 3c 69 3e 27 42 45 54   file <b><i>'BET
1610: 41 32 30 30 37 2e 67 73 62 27 3c 2f 69 3e 3c 2f  A2007.gsb'</i></
1620: 62 3e 2c 20 73 75 70 70 72 65 73 73 69 6e 67 20  b>, suppressing 
1630: 74 68 65 20 3c 62 3e 2b 74 6f 77 67 73 38 34 3c  the <b>+towgs84<
1640: 2f 62 3e 20 6d 65 6d 62 65 72 20 77 69 6c 6c 20  /b> member will 
1650: 61 6c 73 6f 20 6c 65 61 64 20 74 6f 20 69 6e 63  also lead to inc
1660: 6f 72 72 65 63 74 20 72 65 73 75 6c 74 73 2e 3c  orrect results.<
1670: 62 72 3e 0d 0a 54 68 65 20 75 73 65 20 6f 66 20  br>..The use of 
1680: 73 75 70 70 6f 72 74 65 64 20 67 72 69 64 20 66  supported grid f
1690: 69 6c 65 73 2c 20 77 68 65 72 65 20 74 68 65 79  iles, where they
16a0: 20 65 78 69 73 74 2c 20 69 73 20 6e 6f 77 20 6d   exist, is now m
16b0: 61 64 61 74 6f 72 79 2e 0d 0a 3c 2f 6c 69 3e 0d  adatory...</li>.
16c0: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c  .</ul>..<br>..Al
16d0: 74 68 6f 75 67 68 20 74 68 65 20 6e 65 77 65 72  though the newer
16e0: 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 50 52 4f   versions of PRO
16f0: 4a 20 28 73 74 61 72 74 69 6e 67 20 77 69 74 68  J (starting with
1700: 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 29 20   <b>PROJ.6</b>) 
1710: 77 69 6c 6c 20 73 74 69 6c 6c 20 63 6f 6e 74 69  will still conti
1720: 6e 75 65 20 74 6f 20 73 75 70 70 6f 72 74 20 74  nue to support t
1730: 68 65 20 6f 6c 64 20 3c 62 3e 70 72 6f 6a 2d 73  he old <b>proj-s
1740: 74 72 69 6e 67 73 3c 2f 62 3e 2c 20 74 68 69 73  trings</b>, this
1750: 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 74 68   is no longer th
1760: 65 20 70 72 65 66 65 72 72 65 64 20 6e 6f 74 61  e preferred nota
1770: 74 69 6f 6e 20 66 6f 72 20 64 65 66 69 6e 69 6e  tion for definin
1780: 67 20 61 20 43 52 53 2e 3c 62 72 3e 0d 0a 54 68  g a CRS.<br>..Th
1790: 65 20 6e 65 77 65 72 2c 20 70 72 65 66 65 72 72  e newer, preferr
17a0: 65 64 2c 20 6e 6f 74 61 74 69 6f 6e 20 69 73 20  ed, notation is 
17b0: 66 75 6c 6c 79 20 63 6f 6e 66 6f 72 6d 73 20 74  fully conforms t
17c0: 6f 20 74 68 65 20 3c 62 3e 49 53 4f 20 31 39 31  o the <b>ISO 191
17d0: 36 32 3a 32 30 31 38 3c 2f 62 3e 20 69 6e 74 65  62:2018</b> inte
17e0: 72 6e 61 74 69 6f 6e 61 6c 20 73 74 61 6e 64 61  rnational standa
17f0: 72 64 0d 0a 28 3c 69 3e 4f 47 43 20 41 62 73 74  rd..(<i>OGC Abst
1800: 72 61 63 74 20 53 70 65 63 69 66 69 63 61 74 69  ract Specificati
1810: 6f 6e 20 54 6f 70 69 63 20 32 3a 20 e2 80 9c 52  on Topic 2: ...R
1820: 65 66 65 72 65 6e 63 69 6e 67 20 42 79 20 43 6f  eferencing By Co
1830: 6f 72 64 69 6e 61 74 65 73 e2 80 9d 3c 2f 69 3e  ordinates...</i>
1840: 29 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c  ).<br>..The foll
1850: 6f 77 69 6e 67 20 74 61 62 6c 65 20 65 78 65 6d  owing table exem
1860: 70 6c 69 66 69 65 73 20 74 68 65 20 73 61 6d 65  plifies the same
1870: 20 43 52 53 65 73 20 61 73 20 61 62 6f 76 65 20   CRSes as above 
1880: 69 6e 20 74 68 65 20 6d 6f 72 65 20 72 65 63 65  in the more rece
1890: 6e 74 20 49 53 4f 20 57 4b 54 20 6e 6f 74 61 74  nt ISO WKT notat
18a0: 69 6f 6e 3a 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ion:..<br><br>..
18b0: 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69  <table cellspaci
18c0: 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69  ng="8" cellpaddi
18d0: 6e 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22  ng="8" bgcolor="
18e0: 23 65 38 66 66 65 38 22 20 62 6f 72 64 65 72 3d  #e8ffe8" border=
18f0: 22 31 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "1">..<tr><th bg
1900: 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e  color="#ffb03e">
1910: 53 52 49 44 3c 2f 74 68 3e 3c 74 64 3e 33 30 30  SRID</th><td>300
1920: 33 3c 2f 74 64 3e 3c 74 64 3e 34 33 32 36 3c 2f  3</td><td>4326</
1930: 74 64 3e 3c 74 64 3e 33 32 36 33 32 3c 2f 74 64  td><td>32632</td
1940: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 68 20  ></tr>..<tr><th 
1950: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65  bgcolor="#ffb03e
1960: 22 3e 43 52 53 20 4e 61 6d 65 3c 2f 74 68 3e 3c  ">CRS Name</th><
1970: 74 64 3e 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 2f  td>Monte Mario /
1980: 20 49 74 61 6c 79 20 7a 6f 6e 65 20 31 3c 2f 74   Italy zone 1</t
1990: 64 3e 3c 2f 74 64 3e 3c 74 64 3e 57 47 53 20 38  d></td><td>WGS 8
19a0: 34 3c 2f 74 64 3e 3c 74 64 3e 57 47 53 20 38 34  4</td><td>WGS 84
19b0: 20 2f 20 55 54 4d 20 7a 6f 6e 65 20 33 32 4e 3c   / UTM zone 32N<
19c0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c  /td></tr>..<tr><
19d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62  th bgcolor="#ffb
19e0: 30 33 65 22 3e 49 53 4f 2d 32 30 31 38 20 57 4b  03e">ISO-2018 WK
19f0: 54 3c 2f 74 68 3e 0d 0a 3c 74 64 20 76 61 6c 69  T</th>..<td vali
1a00: 67 6e 3d 22 74 6f 70 22 3e 0d 0a 3c 76 65 72 62  gn="top">..<verb
1a10: 61 74 69 6d 3e 0d 0a 50 52 4f 4a 43 52 53 5b 22  atim>..PROJCRS["
1a20: 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 2f 20 49 74  Monte Mario / It
1a30: 61 6c 79 20 7a 6f 6e 65 20 31 22 2c 0d 0a 20 20  aly zone 1",..  
1a40: 20 20 42 41 53 45 47 45 4f 44 43 52 53 5b 22 4d    BASEGEODCRS["M
1a50: 6f 6e 74 65 20 4d 61 72 69 6f 22 2c 0d 0a 20 20  onte Mario",..  
1a60: 20 20 20 20 20 20 44 41 54 55 4d 5b 22 4d 6f 6e        DATUM["Mon
1a70: 74 65 20 4d 61 72 69 6f 22 2c 0d 0a 20 20 20 20  te Mario",..    
1a80: 20 20 20 20 20 20 20 20 45 4c 4c 49 50 53 4f 49          ELLIPSOI
1a90: 44 5b 22 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c  D["International
1aa0: 20 31 39 32 34 22 2c 36 33 37 38 33 38 38 2c 32   1924",6378388,2
1ab0: 39 37 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  97,..           
1ac0: 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b       LENGTHUNIT[
1ad0: 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c 0d 0a 20  "metre",1]]],.. 
1ae0: 20 20 20 20 20 20 20 50 52 49 4d 45 4d 5b 22 47         PRIMEM["G
1af0: 72 65 65 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 20  reenwich",0,..  
1b00: 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55            ANGLEU
1b10: 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30  NIT["degree",0.0
1b20: 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d  174532925199433]
1b30: 5d 5d 2c 0d 0a 20 20 20 20 43 4f 4e 56 45 52 53  ]],..    CONVERS
1b40: 49 4f 4e 5b 22 49 74 61 6c 79 20 7a 6f 6e 65 20  ION["Italy zone 
1b50: 31 22 2c 0d 0a 20 20 20 20 20 20 20 20 4d 45 54  1",..        MET
1b60: 48 4f 44 5b 22 54 72 61 6e 73 76 65 72 73 65 20  HOD["Transverse 
1b70: 4d 65 72 63 61 74 6f 72 22 2c 0d 0a 20 20 20 20  Mercator",..    
1b80: 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 53 47          ID["EPSG
1b90: 22 2c 39 38 30 37 5d 5d 2c 0d 0a 20 20 20 20 20  ",9807]],..     
1ba0: 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 4c 61     PARAMETER["La
1bb0: 74 69 74 75 64 65 20 6f 66 20 6e 61 74 75 72 61  titude of natura
1bc0: 6c 20 6f 72 69 67 69 6e 22 2c 30 2c 0d 0a 20 20  l origin",0,..  
1bd0: 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55            ANGLEU
1be0: 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30  NIT["degree",0.0
1bf0: 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d  174532925199433]
1c00: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49  ,..            I
1c10: 44 5b 22 45 50 53 47 22 2c 38 38 30 31 5d 5d 2c  D["EPSG",8801]],
1c20: 0d 0a 20 20 20 20 20 20 20 20 50 41 52 41 4d 45  ..        PARAME
1c30: 54 45 52 5b 22 4c 6f 6e 67 69 74 75 64 65 20 6f  TER["Longitude o
1c40: 66 20 6e 61 74 75 72 61 6c 20 6f 72 69 67 69 6e  f natural origin
1c50: 22 2c 39 2c 0d 0a 20 20 20 20 20 20 20 20 20 20  ",9,..          
1c60: 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67    ANGLEUNIT["deg
1c70: 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32  ree",0.017453292
1c80: 35 31 39 39 34 33 33 5d 2c 0d 0a 20 20 20 20 20  5199433],..     
1c90: 20 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 22         ID["EPSG"
1ca0: 2c 38 38 30 32 5d 5d 2c 0d 0a 20 20 20 20 20 20  ,8802]],..      
1cb0: 20 20 50 41 52 41 4d 45 54 45 52 5b 22 53 63 61    PARAMETER["Sca
1cc0: 6c 65 20 66 61 63 74 6f 72 20 61 74 20 6e 61 74  le factor at nat
1cd0: 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c 30 2e 39  ural origin",0.9
1ce0: 39 39 36 2c 0d 0a 20 20 20 20 20 20 20 20 20 20  996,..          
1cf0: 20 20 53 43 41 4c 45 55 4e 49 54 5b 22 75 6e 69    SCALEUNIT["uni
1d00: 74 79 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20  ty",1],..       
1d10: 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38       ID["EPSG",8
1d20: 38 30 35 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20  805]],..        
1d30: 50 41 52 41 4d 45 54 45 52 5b 22 46 61 6c 73 65  PARAMETER["False
1d40: 20 65 61 73 74 69 6e 67 22 2c 31 35 30 30 30 30   easting",150000
1d50: 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0,..            
1d60: 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72  LENGTHUNIT["metr
1d70: 65 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20  e",1],..        
1d80: 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38      ID["EPSG",88
1d90: 30 36 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50  06]],..        P
1da0: 41 52 41 4d 45 54 45 52 5b 22 46 61 6c 73 65 20  ARAMETER["False 
1db0: 6e 6f 72 74 68 69 6e 67 22 2c 30 2c 0d 0a 20 20  northing",0,..  
1dc0: 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48            LENGTH
1dd0: 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 2c  UNIT["metre",1],
1de0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 44  ..            ID
1df0: 5b 22 45 50 53 47 22 2c 38 38 30 37 5d 5d 5d 2c  ["EPSG",8807]]],
1e00: 0d 0a 20 20 20 20 43 53 5b 43 61 72 74 65 73 69  ..    CS[Cartesi
1e10: 61 6e 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20  an,2],..        
1e20: 41 58 49 53 5b 22 65 61 73 74 69 6e 67 20 28 58  AXIS["easting (X
1e30: 29 22 2c 65 61 73 74 2c 0d 0a 20 20 20 20 20 20  )",east,..      
1e40: 20 20 20 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d        ORDER[1],.
1e50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e  .            LEN
1e60: 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c  GTHUNIT["metre",
1e70: 31 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58  1]],..        AX
1e80: 49 53 5b 22 6e 6f 72 74 68 69 6e 67 20 28 59 29  IS["northing (Y)
1e90: 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 20 20 20  ",north,..      
1ea0: 20 20 20 20 20 20 4f 52 44 45 52 5b 32 5d 2c 3c        ORDER[2],<
1eb0: 62 72 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  br>..           
1ec0: 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74   LENGTHUNIT["met
1ed0: 72 65 22 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 52  re",1]],..    AR
1ee0: 45 41 5b 22 49 74 61 6c 79 20 2d 20 77 65 73 74  EA["Italy - west
1ef0: 20 6f 66 20 31 32 c2 b0 45 22 5d 2c 0d 0a 20 20   of 12..E"],..  
1f00: 20 20 42 42 4f 58 5b 33 36 2e 35 33 2c 35 2e 39    BBOX[36.53,5.9
1f10: 34 2c 34 37 2e 30 34 2c 31 32 5d 2c 0d 0a 20 20  4,47.04,12],..  
1f20: 20 20 49 44 5b 22 45 50 53 47 22 2c 33 30 30 33    ID["EPSG",3003
1f30: 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 3c  ]]..</verbatim><
1f40: 2f 74 64 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 6e  /td>..<td valign
1f50: 3d 22 74 6f 70 22 3e 3c 76 65 72 62 61 74 69 6d  ="top"><verbatim
1f60: 3e 0d 0a 47 45 4f 44 43 52 53 5b 22 57 47 53 20  >..GEODCRS["WGS 
1f70: 38 34 22 2c 0d 0a 20 20 20 20 44 41 54 55 4d 5b  84",..    DATUM[
1f80: 22 57 6f 72 6c 64 20 47 65 6f 64 65 74 69 63 20  "World Geodetic 
1f90: 53 79 73 74 65 6d 20 31 39 38 34 22 2c 0d 0a 20  System 1984",.. 
1fa0: 20 20 20 20 20 20 20 45 4c 4c 49 50 53 4f 49 44         ELLIPSOID
1fb0: 5b 22 57 47 53 20 38 34 22 2c 36 33 37 38 31 33  ["WGS 84",637813
1fc0: 37 2c 32 39 38 2e 32 35 37 32 32 33 35 36 33 2c  7,298.257223563,
1fd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45  ..            LE
1fe0: 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22  NGTHUNIT["metre"
1ff0: 2c 31 5d 5d 5d 2c 0d 0a 20 20 20 20 50 52 49 4d  ,1]]],..    PRIM
2000: 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c 30  EM["Greenwich",0
2010: 2c 0d 0a 20 20 20 20 20 20 20 20 41 4e 47 4c 45  ,..        ANGLE
2020: 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e  UNIT["degree",0.
2030: 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33  0174532925199433
2040: 5d 5d 2c 0d 0a 20 20 20 20 43 53 5b 65 6c 6c 69  ]],..    CS[elli
2050: 70 73 6f 69 64 61 6c 2c 32 5d 2c 0d 0a 20 20 20  psoidal,2],..   
2060: 20 20 20 20 20 41 58 49 53 5b 22 67 65 6f 64 65       AXIS["geode
2070: 74 69 63 20 6c 61 74 69 74 75 64 65 20 28 4c 61  tic latitude (La
2080: 74 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 20  t)",north,..    
2090: 20 20 20 20 20 20 20 20 4f 52 44 45 52 5b 31 5d          ORDER[1]
20a0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 41  ,..            A
20b0: 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 65  NGLEUNIT["degree
20c0: 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 39  ",0.017453292519
20d0: 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20 20 20 20  9433]],..       
20e0: 20 41 58 49 53 5b 22 67 65 6f 64 65 74 69 63 20   AXIS["geodetic 
20f0: 6c 6f 6e 67 69 74 75 64 65 20 28 4c 6f 6e 29 22  longitude (Lon)"
2100: 2c 65 61 73 74 2c 0d 0a 20 20 20 20 20 20 20 20  ,east,..        
2110: 20 20 20 20 4f 52 44 45 52 5b 32 5d 2c 0d 0a 20      ORDER[2],.. 
2120: 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45             ANGLE
2130: 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e  UNIT["degree",0.
2140: 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33  0174532925199433
2150: 5d 5d 2c 0d 0a 20 20 20 20 41 52 45 41 5b 22 57  ]],..    AREA["W
2160: 6f 72 6c 64 22 5d 2c 0d 0a 20 20 20 20 42 42 4f  orld"],..    BBO
2170: 58 5b 2d 39 30 2c 2d 31 38 30 2c 39 30 2c 31 38  X[-90,-180,90,18
2180: 30 5d 2c 0d 0a 20 20 20 20 49 44 5b 22 45 50 53  0],..    ID["EPS
2190: 47 22 2c 34 33 32 36 5d 5d 0d 0a 3c 2f 76 65 72  G",4326]]..</ver
21a0: 62 61 74 69 6d 3e 3c 2f 74 64 3e 0d 0a 3c 74 64  batim></td>..<td
21b0: 20 76 61 6c 69 67 6e 3d 22 74 6f 70 22 3e 3c 76   valign="top"><v
21c0: 65 72 62 61 74 69 6d 3e 0d 0a 50 52 4f 4a 43 52  erbatim>..PROJCR
21d0: 53 5b 22 57 47 53 20 38 34 20 2f 20 55 54 4d 20  S["WGS 84 / UTM 
21e0: 7a 6f 6e 65 20 33 32 4e 22 2c 0d 0a 20 20 20 20  zone 32N",..    
21f0: 42 41 53 45 47 45 4f 44 43 52 53 5b 22 57 47 53  BASEGEODCRS["WGS
2200: 20 38 34 22 2c 0d 0a 20 20 20 20 20 20 20 20 44   84",..        D
2210: 41 54 55 4d 5b 22 57 6f 72 6c 64 20 47 65 6f 64  ATUM["World Geod
2220: 65 74 69 63 20 53 79 73 74 65 6d 20 31 39 38 34  etic System 1984
2230: 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ",..            
2240: 45 4c 4c 49 50 53 4f 49 44 5b 22 57 47 53 20 38  ELLIPSOID["WGS 8
2250: 34 22 2c 36 33 37 38 31 33 37 2c 32 39 38 2e 32  4",6378137,298.2
2260: 35 37 32 32 33 35 36 33 2c 0d 0a 20 20 20 20 20  57223563,..     
2270: 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54             LENGT
2280: 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d  HUNIT["metre",1]
2290: 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 52 49  ]],..        PRI
22a0: 4d 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c  MEM["Greenwich",
22b0: 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0,..            
22c0: 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65  ANGLEUNIT["degre
22d0: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31  e",0.01745329251
22e0: 39 39 34 33 33 5d 5d 5d 2c 0d 0a 20 20 20 20 43  99433]]],..    C
22f0: 4f 4e 56 45 52 53 49 4f 4e 5b 22 55 54 4d 20 7a  ONVERSION["UTM z
2300: 6f 6e 65 20 33 32 4e 22 2c 0d 0a 20 20 20 20 20  one 32N",..     
2310: 20 20 20 4d 45 54 48 4f 44 5b 22 54 72 61 6e 73     METHOD["Trans
2320: 76 65 72 73 65 20 4d 65 72 63 61 74 6f 72 22 2c  verse Mercator",
2330: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 44  ..            ID
2340: 5b 22 45 50 53 47 22 2c 39 38 30 37 5d 5d 2c 0d  ["EPSG",9807]],.
2350: 0a 20 20 20 20 20 20 20 20 50 41 52 41 4d 45 54  .        PARAMET
2360: 45 52 5b 22 4c 61 74 69 74 75 64 65 20 6f 66 20  ER["Latitude of 
2370: 6e 61 74 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c  natural origin",
2380: 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0,..            
2390: 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65  ANGLEUNIT["degre
23a0: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31  e",0.01745329251
23b0: 39 39 34 33 33 5d 2c 0d 0a 20 20 20 20 20 20 20  99433],..       
23c0: 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38       ID["EPSG",8
23d0: 38 30 31 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20  801]],..        
23e0: 50 41 52 41 4d 45 54 45 52 5b 22 4c 6f 6e 67 69  PARAMETER["Longi
23f0: 74 75 64 65 20 6f 66 20 6e 61 74 75 72 61 6c 20  tude of natural 
2400: 6f 72 69 67 69 6e 22 2c 39 2c 0d 0a 20 20 20 20  origin",9,..    
2410: 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49          ANGLEUNI
2420: 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37  T["degree",0.017
2430: 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 2c 0d  4532925199433],.
2440: 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 44 5b  .            ID[
2450: 22 45 50 53 47 22 2c 38 38 30 32 5d 5d 2c 0d 0a  "EPSG",8802]],..
2460: 20 20 20 20 20 20 20 20 50 41 52 41 4d 45 54 45          PARAMETE
2470: 52 5b 22 53 63 61 6c 65 20 66 61 63 74 6f 72 20  R["Scale factor 
2480: 61 74 20 6e 61 74 75 72 61 6c 20 6f 72 69 67 69  at natural origi
2490: 6e 22 2c 30 2e 39 39 39 36 2c 0d 0a 20 20 20 20  n",0.9996,..    
24a0: 20 20 20 20 20 20 20 20 53 43 41 4c 45 55 4e 49          SCALEUNI
24b0: 54 5b 22 75 6e 69 74 79 22 2c 31 5d 2c 0d 0a 20  T["unity",1],.. 
24c0: 20 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 45             ID["E
24d0: 50 53 47 22 2c 38 38 30 35 5d 5d 2c 0d 0a 20 20  PSG",8805]],..  
24e0: 20 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b        PARAMETER[
24f0: 22 46 61 6c 73 65 20 65 61 73 74 69 6e 67 22 2c  "False easting",
2500: 35 30 30 30 30 30 2c 0d 0a 20 20 20 20 20 20 20  500000,..       
2510: 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b       LENGTHUNIT[
2520: 22 6d 65 74 72 65 22 2c 31 5d 2c 0d 0a 20 20 20  "metre",1],..   
2530: 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 53           ID["EPS
2540: 47 22 2c 38 38 30 36 5d 5d 2c 0d 0a 20 20 20 20  G",8806]],..    
2550: 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 46      PARAMETER["F
2560: 61 6c 73 65 20 6e 6f 72 74 68 69 6e 67 22 2c 30  alse northing",0
2570: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c  ,..            L
2580: 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65  ENGTHUNIT["metre
2590: 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20  ",1],..         
25a0: 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38 30     ID["EPSG",880
25b0: 37 5d 5d 5d 2c 0d 0a 20 20 20 20 43 53 5b 43 61  7]]],..    CS[Ca
25c0: 72 74 65 73 69 61 6e 2c 32 5d 2c 0d 0a 20 20 20  rtesian,2],..   
25d0: 20 20 20 20 20 41 58 49 53 5b 22 28 45 29 22 2c       AXIS["(E)",
25e0: 65 61 73 74 2c 0d 0a 20 20 20 20 20 20 20 20 20  east,..         
25f0: 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20     ORDER[1],..  
2600: 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48            LENGTH
2610: 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d  UNIT["metre",1]]
2620: 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 5b  ,..        AXIS[
2630: 22 28 4e 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20  "(N)",north,..  
2640: 20 20 20 20 20 20 20 20 20 20 4f 52 44 45 52 5b            ORDER[
2650: 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  2],..           
2660: 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74   LENGTHUNIT["met
2670: 72 65 22 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 52  re",1]],..    AR
2680: 45 41 5b 22 57 6f 72 6c 64 20 2d 20 4e 20 68 65  EA["World - N he
2690: 6d 69 73 70 68 65 72 65 20 2d 20 36 c2 b0 45 20  misphere - 6..E 
26a0: 74 6f 20 31 32 c2 b0 45 20 2d 20 62 79 20 63 6f  to 12..E - by co
26b0: 75 6e 74 72 79 22 5d 2c 0d 0a 20 20 20 20 42 42  untry"],..    BB
26c0: 4f 58 5b 30 2c 36 2c 38 34 2c 31 32 5d 2c 0d 0a  OX[0,6,84,12],..
26d0: 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 33 32      ID["EPSG",32
26e0: 36 33 32 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 69  632]]..</verbati
26f0: 6d 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  m></td>..</tr>..
2700: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
2710: 41 73 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20  As you can see, 
2720: 74 68 65 20 74 77 6f 20 6e 6f 74 61 74 69 6f 6e  the two notation
2730: 73 20 61 72 65 20 70 72 6f 66 6f 75 6e 64 6c 79  s are profoundly
2740: 20 64 69 66 66 65 72 65 6e 74 2e 0d 0a 54 68 65   different...The
2750: 20 6f 6c 64 20 3c 62 3e 70 72 6f 6a 2d 73 74 72   old <b>proj-str
2760: 69 6e 67 3c 2f 62 3e 20 6e 6f 74 61 74 69 6f 6e  ing</b> notation
2770: 20 69 73 20 65 78 74 72 65 6d 65 6c 79 20 63 6f   is extremely co
2780: 6e 63 69 73 65 20 61 6e 64 20 72 6f 75 67 68 2c  ncise and rough,
2790: 20 77 68 69 6c 73 74 20 74 68 65 20 6e 65 77 20   whilst the new 
27a0: 3c 62 3e 49 53 4f 2d 57 4b 54 3c 2f 62 3e 20 69  <b>ISO-WKT</b> i
27b0: 73 20 76 65 72 62 6f 73 65 20 62 75 74 20 65 78  s verbose but ex
27c0: 68 61 75 73 74 69 76 65 2c 20 64 65 74 61 69 6c  haustive, detail
27d0: 65 64 20 61 6e 64 20 70 72 65 63 69 73 65 2e 3c  ed and precise.<
27e0: 62 72 3e 0d 0a 54 68 65 79 20 61 72 65 20 72 61  br>..They are ra
27f0: 64 69 63 61 6c 6c 79 20 64 69 66 66 65 72 65 6e  dically differen
2800: 74 3a 20 49 53 4f 2d 57 4b 54 20 69 73 20 63 6c  t: ISO-WKT is cl
2810: 65 61 72 6c 79 20 73 75 70 65 72 69 6f 72 20 61  early superior a
2820: 6e 64 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69  nd more sophisti
2830: 63 61 74 65 64 20 69 6e 20 65 76 65 72 79 20 77  cated in every w
2840: 61 79 2e 3c 62 72 3e 0d 0a 4e 6f 74 20 73 75 72  ay.<br>..Not sur
2850: 70 72 69 73 69 6e 67 6c 79 2c 20 74 68 65 20 63  prisingly, the c
2860: 6f 6f 72 64 69 6e 61 74 65 20 74 72 61 6e 73 66  oordinate transf
2870: 6f 72 6d 61 74 69 6f 6e 73 20 62 61 73 65 64 20  ormations based 
2880: 6f 6e 20 49 53 4f 2d 57 4b 54 20 64 65 66 69 6e  on ISO-WKT defin
2890: 69 74 69 6f 6e 73 20 28 69 6e 73 74 65 61 64 20  itions (instead 
28a0: 6f 66 20 70 72 6f 6a 2d 73 74 72 69 6e 67 73 29  of proj-strings)
28b0: 20 61 72 65 20 75 73 75 61 6c 6c 79 20 65 78 70   are usually exp
28c0: 65 63 74 65 64 20 74 6f 20 62 65 20 6d 6f 72 65  ected to be more
28d0: 20 61 63 63 75 72 61 74 65 2c 20 63 6f 6d 70 6c   accurate, compl
28e0: 65 74 65 20 61 6e 64 20 65 78 74 65 6e 64 61 62  ete and extendab
28f0: 6c 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6e 64  le.<br><br>..And
2900: 20 74 68 61 74 27 73 20 6e 6f 74 20 61 6c 6c 3b   that's not all;
2910: 20 74 68 65 20 6f 6c 64 20 3c 62 3e 70 72 6f 6a   the old <b>proj
2920: 2d 73 74 72 69 6e 67 73 3c 2f 62 3e 20 77 65 72  -strings</b> wer
2930: 65 6e 27 74 20 66 6f 72 6d 61 6c 6c 79 20 64 65  en't formally de
2940: 66 69 6e 65 64 20 62 79 20 61 6e 79 20 73 74 61  fined by any sta
2950: 6e 64 61 72 64 2c 20 61 6e 64 20 6f 6e 6c 79 20  ndard, and only 
2960: 50 52 4f 4a 2c 20 47 44 41 4c 20 61 6e 64 20 66  PROJ, GDAL and f
2970: 65 77 20 6f 74 68 65 72 20 46 4c 4f 53 53 20 2f  ew other FLOSS /
2980: 20 47 46 4f 53 53 20 69 6d 70 6c 65 6d 65 6e 74   GFOSS implement
2990: 61 74 69 6f 6e 73 20 63 6f 75 6c 64 20 62 65 20  ations could be 
29a0: 65 78 70 65 63 74 65 64 20 74 6f 20 75 6e 64 65  expected to unde
29b0: 72 73 74 61 6e 64 20 74 68 65 6d 2e 3c 62 72 3e  rstand them.<br>
29c0: 0d 0a 54 68 65 20 6e 65 77 20 3c 62 3e 49 53 4f  ..The new <b>ISO
29d0: 2d 57 4b 54 3c 2f 62 3e 2c 20 6f 6e 20 74 68 65  -WKT</b>, on the
29e0: 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 73 20   other hand, is 
29f0: 61 20 66 6f 72 6d 61 6c 6c 79 20 64 65 66 69 6e  a formally defin
2a00: 65 64 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61 6c  ed international
2a10: 20 73 74 61 6e 64 61 72 64 2c 20 61 6e 64 20 61   standard, and a
2a20: 6c 6d 6f 73 74 20 61 6c 6c 20 66 72 65 65 20 61  lmost all free a
2a30: 6e 64 20 70 72 6f 70 72 69 65 74 61 72 79 20 69  nd proprietary i
2a40: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 61  mplementations a
2a50: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 73  re expected to s
2a60: 75 70 70 6f 72 74 20 69 74 2e 3c 62 72 3e 0d 0a  upport it.<br>..
2a70: 54 68 69 73 20 69 73 20 61 20 76 65 72 79 20 72  This is a very r
2a80: 65 6c 65 76 61 6e 74 20 63 68 61 6e 67 65 20 74  elevant change t
2a90: 68 61 74 20 65 6e 73 75 72 65 73 20 61 20 72 6f  hat ensures a ro
2aa0: 62 75 73 74 20 63 6f 6d 70 61 74 69 62 69 6c 69  bust compatibili
2ab0: 74 79 20 62 65 74 77 65 65 6e 20 64 69 66 66 65  ty between diffe
2ac0: 72 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e  rent application
2ad0: 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  s.<br><br>..<tab
2ae0: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  le cellspacing="
2af0: 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  8" cellpadding="
2b00: 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  16" bgcolor="#ff
2b10: 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e  ffe9">..<tr><td>
2b20: 0d 0a 3c 62 3e 3c 75 3e 49 6d 70 6f 72 74 61 6e  ..<b><u>Importan
2b30: 74 20 6e 6f 74 69 63 65 3c 2f 75 3e 3c 2f 62 3e  t notice</u></b>
2b40: 3a 20 74 68 65 72 65 20 61 72 65 20 73 65 76 65  : there are seve
2b50: 72 61 6c 20 64 69 61 6c 65 63 74 73 20 69 6e 20  ral dialects in 
2b60: 74 68 65 20 57 4b 54 20 6e 6f 74 61 74 69 6f 6e  the WKT notation
2b70: 20 64 65 73 63 72 69 62 69 6e 67 20 43 52 53 65   describing CRSe
2b80: 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d  s.<br>..All them
2b90: 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20   share the same 
2ba0: 63 6f 6d 6d 6f 6e 20 63 6f 72 65 20 61 6e 64 20  common core and 
2bb0: 6d 61 69 6e 6c 79 20 64 69 66 66 65 72 20 69 6e  mainly differ in
2bc0: 20 66 65 77 20 6d 69 6e 6f 72 20 64 65 74 61 69   few minor detai
2bd0: 6c 73 2e 3c 62 72 3e 0d 0a 50 52 4f 4a 2e 36 20  ls.<br>..PROJ.6 
2be0: 63 61 6e 20 75 6e 64 65 72 73 74 61 6e 64 20 74  can understand t
2bf0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 61  he following dia
2c00: 6c 65 63 74 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  lects:..<ol>..<l
2c10: 69 3e 3c 62 3e 45 53 52 49 20 57 4b 54 3c 2f 62  i><b>ESRI WKT</b
2c20: 3e 3a 20 61 20 64 69 61 6c 65 63 74 20 77 69 64  >: a dialect wid
2c30: 65 6c 79 20 61 64 6f 70 74 65 64 20 62 79 20 45  ely adopted by E
2c40: 53 52 49 20 70 72 6f 70 72 69 65 74 61 72 79 20  SRI proprietary 
2c50: 73 6f 66 74 77 61 72 65 2e 3c 2f 6c 69 3e 0d 0a  software.</li>..
2c60: 3c 6c 69 3e 3c 62 3e 47 44 41 4c 20 57 4b 54 31  <li><b>GDAL WKT1
2c70: 3c 2f 62 3e 3a 20 61 20 64 69 61 6c 65 63 74 20  </b>: a dialect 
2c80: 68 69 73 74 6f 72 69 63 61 6c 6c 79 20 73 75 70  historically sup
2c90: 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 6f 70  ported by the op
2ca0: 65 6e 20 73 6f 75 72 63 65 20 47 44 41 4c 20 6c  en source GDAL l
2cb0: 69 62 72 61 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ibrary.</li>..<l
2cc0: 69 3e 3c 62 3e 57 4b 54 32 3a 32 30 31 35 3c 2f  i><b>WKT2:2015</
2cd0: 62 3e 3a 20 61 73 20 64 65 66 69 6e 65 64 20 62  b>: as defined b
2ce0: 79 20 3c 62 3e 49 53 4f 20 31 39 31 36 32 3a 32  y <b>ISO 19162:2
2cf0: 30 31 35 3c 2f 62 3e 20 73 74 61 6e 64 61 72 64  015</b> standard
2d00: 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 28   specification (
2d10: 6e 6f 77 20 73 75 70 65 72 73 65 64 65 64 29 2e  now superseded).
2d20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 57 4b  </li>..<li><b>WK
2d30: 54 32 3a 32 30 31 38 3c 2f 62 3e 3a 20 61 73 20  T2:2018</b>: as 
2d40: 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 6d  defined by the m
2d50: 6f 72 65 20 72 65 63 65 6e 74 20 3c 62 3e 49 53  ore recent <b>IS
2d60: 4f 20 31 39 31 36 32 3a 32 30 31 38 3c 2f 62 3e  O 19162:2018</b>
2d70: 20 73 74 61 6e 64 61 72 64 20 73 70 65 63 69 66   standard specif
2d80: 69 63 61 74 69 6f 6e 20 2e 3c 2f 6c 69 3e 0d 0a  ication .</li>..
2d90: 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  </ol>..</td></tr
2da0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d  >..</table><br>.
2db0: 0a 3c 68 33 3e 54 68 65 20 70 72 69 76 61 74 65  .<h3>The private
2dc0: 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65   SQLite database
2dd0: 20 73 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a   supporting PROJ
2de0: 2e 36 3c 2f 68 33 3e 0d 0a 53 69 6e 63 65 20 3c  .6</h3>..Since <
2df0: 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 74 68 65  b>PROJ.6</b> the
2e00: 20 50 52 4f 4a 20 6c 69 62 72 61 72 79 20 69 73   PROJ library is
2e10: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 61 20   supported by a 
2e20: 70 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 64  private SQLite d
2e30: 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 69  atabase containi
2e40: 6e 67 20 61 6c 6c 20 64 65 66 69 6e 69 74 69 6f  ng all definitio
2e50: 6e 73 20 61 62 6f 75 74 20 73 75 70 70 6f 72 74  ns about support
2e60: 65 64 20 43 52 53 65 73 2c 20 45 6c 6c 69 70 73  ed CRSes, Ellips
2e70: 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d 65 72 69  oids, Prime Meri
2e80: 64 69 61 6e 73 2c 20 55 6e 69 74 73 20 6f 66 20  dians, Units of 
2e90: 4d 65 61 73 75 72 65 2c 20 43 6f 6e 76 65 72 73  Measure, Convers
2ea0: 69 6f 6e 73 2c 20 54 72 61 6e 73 66 6f 72 6d 61  ions, Transforma
2eb0: 74 69 6f 6e 73 20 61 6e 64 20 61 6c 69 6b 65 2e  tions and alike.
2ec0: 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65  <br>..<b><u>Note
2ed0: 3c 2f 75 3e 3c 2f 62 3e 3a 20 6d 61 6e 79 20 6f  </u></b>: many o
2ee0: 66 20 74 68 65 20 6e 65 77 20 61 64 76 61 6e 63  f the new advanc
2ef0: 65 64 20 50 52 4f 4a 2e 36 20 66 65 61 74 75 72  ed PROJ.6 featur
2f00: 65 73 20 77 69 6c 6c 20 66 61 69 6c 20 69 66 20  es will fail if 
2f10: 74 68 69 73 20 64 61 74 61 62 61 73 65 20 69 73  this database is
2f20: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61   not available a
2f30: 74 20 72 75 6e 20 74 69 6d 65 2e 0d 0a 3c 68 33  t run time...<h3
2f40: 3e 44 69 72 65 63 74 20 74 72 61 6e 73 66 6f 72  >Direct transfor
2f50: 6d 61 74 69 6f 6e 73 20 66 72 6f 6d 20 43 52 53  mations from CRS
2f60: 20 74 6f 20 43 52 53 3c 2f 68 33 3e 0d 0a 41 73   to CRS</h3>..As
2f70: 20 61 70 70 6f 73 65 64 20 74 6f 20 61 6c 6c 20   apposed to all 
2f80: 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e  previous version
2f90: 73 2c 20 50 52 4f 4a 2e 36 20 63 61 6e 20 6e 6f  s, PROJ.6 can no
2fa0: 77 20 61 70 70 6c 79 20 61 6e 79 20 74 72 61 6e  w apply any tran
2fb0: 73 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20  sformation from 
2fc0: 61 20 43 52 53 20 74 6f 20 61 6e 6f 74 68 65 72  a CRS to another
2fd0: 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79   without specify
2fe0: 69 6e 67 20 74 68 65 20 43 52 53 20 64 65 66 69  ing the CRS defi
2ff0: 6e 69 74 69 6f 6e 73 20 28 3c 62 3e 3c 69 3e 70  nitions (<b><i>p
3000: 72 6f 6a 2d 73 74 72 69 6e 67 3c 2f 69 3e 3c 2f  roj-string</i></
3010: 62 3e 20 6f 72 20 3c 62 3e 3c 69 3e 57 4b 54 3c  b> or <b><i>WKT<
3020: 2f 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54  /i></b>).<br>..T
3030: 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 50  his is because P
3040: 52 4f 4a 2e 36 20 69 73 20 6e 6f 77 20 63 61 70  ROJ.6 is now cap
3050: 61 62 6c 65 20 74 6f 20 72 65 74 72 69 65 76 65  able to retrieve
3060: 20 61 6e 79 20 43 52 53 20 64 65 66 69 6e 69 74   any CRS definit
3070: 69 6f 6e 20 64 69 72 65 63 74 6c 79 0d 0a 66 72  ion directly..fr
3080: 6f 6d 20 69 74 73 20 6f 77 6e 20 70 72 69 76 61  om its own priva
3090: 74 65 20 53 51 4c 69 74 65 20 64 61 74 61 62 61  te SQLite databa
30a0: 73 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65  se, and conseque
30b0: 6e 74 6c 79 20 65 61 63 68 20 43 52 53 20 63 61  ntly each CRS ca
30c0: 6e 20 62 65 20 66 75 6c 6c 79 20 69 64 65 6e 74  n be fully ident
30d0: 69 66 69 65 64 20 62 79 20 73 69 6d 70 6c 79 20  ified by simply 
30e0: 73 70 65 63 69 66 79 69 6e 67 20 69 74 73 20 73  specifying its s
30f0: 79 6d 62 6f 6c 69 63 20 6e 61 6d 65 2c 20 61 73  ymbolic name, as
3100: 20 69 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e   in:..<ul>..<li>
3110: 3c 62 3e 45 50 53 47 3a 34 33 32 36 3c 2f 62 3e  <b>EPSG:4326</b>
3120: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 6f 72  </li>..</ul>..or
3130: 20 61 6c 74 65 72 6e 61 74 69 76 65 6c 79 0d 0a   alternatively..
3140: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 75 72 6e  <ul>..<li><b>urn
3150: 3a 6f 67 63 3a 64 65 66 3a 63 72 73 3a 45 50 53  :ogc:def:crs:EPS
3160: 47 3a 3a 34 33 32 36 3c 2f 62 3e 3c 2f 6c 69 3e  G::4326</b></li>
3170: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
3180: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e  table cellspacin
3190: 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="8" cellpaddin
31a0: 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22  g="16" bgcolor="
31b0: 23 66 66 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c  #ffffe9">..<tr><
31c0: 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 41 6e 6f 74 68  td>..<b><u>Anoth
31d0: 65 72 20 6d 61 6a 6f 72 20 64 69 66 66 65 72 65  er major differe
31e0: 6e 63 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 77 68 69  nce</u></b>: whi
31f0: 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20 6d 6f  ch results in mo
3200: 72 65 20 70 72 65 63 69 73 65 20 74 72 61 6e 73  re precise trans
3210: 66 6f 72 6d 61 74 69 6f 6e 73 3a 0d 0a 3c 75 6c  formations:..<ul
3220: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 52 4f 4a 2e 34  >..<li><b>PROJ.4
3230: 3c 2f 62 3e 3a 20 61 6c 77 61 79 73 20 74 72 61  </b>: always tra
3240: 6e 73 66 6f 72 6d 65 64 20 66 69 72 73 74 20 74  nsformed first t
3250: 6f 20 3c 62 3e 57 53 47 38 34 3c 2f 62 3e 20 61  o <b>WSG84</b> a
3260: 6e 64 20 66 72 6f 6d 20 74 68 65 72 65 20 74 6f  nd from there to
3270: 20 74 68 65 20 74 61 72 67 65 74 20 70 72 6f 6a   the target proj
3280: 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ection.</li>..<l
3290: 69 3e 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 3a  i><b>PROJ.6</b>:
32a0: 20 77 69 6c 6c 20 74 72 61 6e 73 66 6f 72 6d 20   will transform 
32b0: 74 6f 20 74 68 65 20 74 61 72 67 65 74 20 70 72  to the target pr
32c0: 6f 6a 65 63 74 69 6f 6e 20 3c 62 3e 64 69 72 65  ojection <b>dire
32d0: 63 74 6c 79 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  ctly</b>.</li>..
32e0: 3c 2f 75 6c 3e 0d 0a 54 68 69 73 20 77 69 6c 6c  </ul>..This will
32f0: 20 61 6c 73 6f 20 61 76 6f 69 64 20 3c 61 20 68   also avoid <a h
3300: 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e  ref="https://en.
3310: 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69  wikipedia.org/wi
3320: 6b 69 2f 46 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e  ki/Floating-poin
3330: 74 5f 61 72 69 74 68 6d 65 74 69 63 23 41 63 63  t_arithmetic#Acc
3340: 75 72 61 63 79 5f 70 72 6f 62 6c 65 6d 73 22 3e  uracy_problems">
3350: 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 61  floating point a
3360: 63 63 75 72 61 63 79 20 70 72 6f 62 6c 65 6d 73  ccuracy problems
3370: 3c 2f 61 3e 20 77 68 69 63 68 20 6d 61 79 20 6f  </a> which may o
3380: 63 63 75 72 20 74 68 72 6f 75 67 68 20 74 68 65  ccur through the
3390: 20 65 78 74 72 61 20 3c 62 3e 57 53 47 38 34 3c   extra <b>WSG84<
33a0: 2f 62 3e 20 74 72 61 6e 73 66 6f 72 6d 61 74 69  /b> transformati
33b0: 6f 6e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  on..</td></tr>..
33c0: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 68 33 3e 53 75  </table>..<h3>Su
33d0: 70 70 6f 72 74 69 6e 67 20 73 70 65 63 69 66 69  pporting specifi
33e0: 63 20 61 72 65 61 73 20 6f 66 20 75 73 65 3c 2f  c areas of use</
33f0: 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c  h3>..<table cell
3400: 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c  spacing="8" cell
3410: 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 63 6f  padding="8" bgco
3420: 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 62 6f  lor="#e8ffe8" bo
3430: 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e 3c  rder="1">..<tr><
3440: 74 64 3e 0d 0a 50 52 4f 4a 2e 36 20 69 73 20 6e  td>..PROJ.6 is n
3450: 6f 77 20 61 62 6c 65 20 74 6f 20 6d 61 6b 65 20  ow able to make 
3460: 61 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 62 65  a distinction be
3470: 74 77 65 65 6e 20 64 69 66 66 65 72 65 6e 74 20  tween different 
3480: 3c 62 3e 61 72 65 61 73 20 6f 66 20 75 73 65 3c  <b>areas of use<
3490: 2f 62 3e 20 77 69 74 68 69 6e 20 61 20 43 52 53  /b> within a CRS
34a0: 2c 20 61 6e 64 20 63 61 6e 20 65 76 65 6e 74 75  , and can eventu
34b0: 61 6c 6c 79 20 61 70 70 6c 79 20 74 68 65 20 6d  ally apply the m
34c0: 6f 73 74 20 61 70 70 72 6f 70 72 69 61 74 65 20  ost appropriate 
34d0: 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 77  transformation w
34e0: 68 65 6e 20 74 68 65 20 69 6e 74 65 6e 64 65 64  hen the intended
34f0: 20 61 72 65 61 2d 6f 66 2d 75 73 65 20 69 73 20   area-of-use is 
3500: 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69  explicitly speci
3510: 66 69 65 64 2c 20 74 68 75 73 20 6c 65 61 64 69  fied, thus leadi
3520: 6e 67 20 74 6f 20 6d 6f 72 65 20 70 72 65 63 69  ng to more preci
3530: 73 65 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 3c  se results.<br><
3540: 62 72 3e 0d 0a 54 68 65 20 73 69 64 65 20 66 69  br>..The side fi
3550: 67 75 72 65 20 73 68 6f 77 73 20 74 68 65 20 73  gure shows the s
3560: 69 74 75 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  ituation for the
3570: 20 49 74 61 6c 69 61 6e 20 70 65 6e 69 6e 73 75   Italian peninsu
3580: 6c 61 2e 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20  la.<br>..As you 
3590: 63 61 6e 20 73 65 65 20 74 68 65 72 65 20 61 72  can see there ar
35a0: 65 20 74 77 6f 20 6d 61 69 6e 20 61 72 65 61 73  e two main areas
35b0: 20 28 3c 62 3e 3c 69 3e 45 61 73 74 3c 2f 69 3e   (<b><i>East</i>
35c0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 3c 69 3e 57  </b> and <b><i>W
35d0: 65 73 74 3c 2f 69 3e 3c 2f 62 3e 20 6f 66 20 6c  est</i></b> of l
35e0: 6f 6e 67 69 74 75 64 65 20 3c 62 3e 31 32 45 3c  ongitude <b>12E<
35f0: 2f 62 3e 29 2c 20 62 75 74 20 74 68 65 72 65 20  /b>), but there 
3600: 61 72 65 20 73 65 76 65 72 61 6c 20 73 6d 61 6c  are several smal
3610: 6c 65 72 20 61 72 65 61 73 20 63 6f 76 65 72 69  ler areas coveri
3620: 6e 67 20 73 70 65 63 69 66 69 63 20 72 65 67 69  ng specific regi
3630: 6f 6e 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ons...<ul>..<li>
3640: 54 68 65 20 74 77 6f 20 6d 61 69 6e 20 61 72 65  The two main are
3650: 61 73 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f  as correspond to
3660: 20 3c 62 3e 45 50 53 47 3a 33 30 30 33 20 3c 69   <b>EPSG:3003 <i
3670: 3e 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 2f 20 49  >Monte Mario / I
3680: 74 61 6c 79 20 7a 6f 6e 65 20 31 3c 2f 69 3e 3c  taly zone 1</i><
3690: 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 50 53 47 3a  /b> and <b>EPSG:
36a0: 33 30 30 34 20 3c 69 3e 4d 6f 6e 74 65 20 4d 61  3004 <i>Monte Ma
36b0: 72 69 6f 20 2f 20 49 74 61 6c 79 20 7a 6f 6e 65  rio / Italy zone
36c0: 20 32 3c 2f 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e   2</i></b>.</li>
36d0: 0d 0a 3c 6c 69 3e 54 68 65 20 73 6d 61 6c 6c 65  ..<li>The smalle
36e0: 72 20 61 72 65 61 73 20 63 6f 72 72 65 73 70 6f  r areas correspo
36f0: 6e 64 20 74 6f 20 74 68 65 20 6d 6f 72 65 20 73  nd to the more s
3700: 70 65 63 69 66 69 63 20 3c 62 3e 3c 69 3e 61 72  pecific <b><i>ar
3710: 65 61 73 20 6f 66 20 75 73 65 3c 2f 69 3e 3c 2f  eas of use</i></
3720: 62 3e 20 6e 6f 77 20 73 75 70 70 6f 72 74 65 64  b> now supported
3730: 20 62 79 20 50 52 4f 4a 2e 36 3c 2f 6c 69 3e 0d   by PROJ.6</li>.
3740: 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 49 66 20 79  .</ul><br>..If y
3750: 6f 75 72 20 73 70 65 63 69 66 69 63 20 61 72 65  our specific are
3760: 61 20 6f 66 20 69 6e 74 65 72 65 73 74 20 69 73  a of interest is
3770: 20 63 6f 6e 74 61 69 6e 65 64 20 77 69 74 68 69   contained withi
3780: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73  n one of these s
3790: 75 62 2d 72 65 67 69 6f 6e 73 20 79 6f 75 20 63  ub-regions you c
37a0: 61 6e 20 69 6e 66 6f 72 6d 20 50 52 4f 4a 2e 36  an inform PROJ.6
37b0: 20 77 68 69 63 68 20 73 75 62 2d 72 65 67 69 6f   which sub-regio
37c0: 6e 20 79 6f 75 20 77 61 6e 74 20 62 79 20 67 69  n you want by gi
37d0: 76 69 6e 67 20 65 69 74 68 65 72 20 74 68 65 20  ving either the 
37e0: 61 72 65 61 20 42 42 4f 58 20 6f 72 20 6e 61 6d  area BBOX or nam
37f0: 65 2c 20 61 6e 64 20 74 68 65 6e 20 50 52 4f 4a  e, and then PROJ
3800: 2e 36 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20  .6 will attempt 
3810: 74 6f 20 75 73 65 20 74 68 65 20 6d 6f 73 74 20  to use the most 
3820: 73 70 65 63 69 66 69 63 20 74 72 61 6e 73 66 6f  specific transfo
3830: 72 6d 61 74 69 6f 6e 20 70 61 72 61 6d 65 74 65  rmation paramete
3840: 72 73 20 61 76 61 69 6c 61 62 6c 65 2e 3c 62 72  rs available.<br
3850: 3e 3c 62 72 3e 0d 0a 57 65 27 6c 6c 20 65 78 61  ><br>..We'll exa
3860: 6d 69 6e 65 20 74 68 69 73 20 74 6f 70 69 63 20  mine this topic 
3870: 69 6e 20 6d 6f 72 65 20 64 65 70 74 68 20 69 6e  in more depth in
3880: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73   the following s
3890: 65 63 74 69 6f 6e 73 2e 20 0d 0a 3c 2f 74 64 3e  ections. ..</td>
38a0: 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63  ..<td>..<img src
38b0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
38c0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73  ia-gis.it/gaia-s
38d0: 69 6e 73 2f 70 72 6f 6a 36 70 69 63 73 2f 69 74  ins/proj6pics/it
38e0: 61 6c 79 2d 61 72 65 61 73 2d 6f 66 2d 75 73 65  aly-areas-of-use
38f0: 2e 70 6e 67 22 20 61 6c 74 3d 22 69 74 61 6c 79  .png" alt="italy
3900: 20 61 72 65 61 73 20 6f 66 20 75 73 65 22 3e 0d   areas of use">.
3910: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74  .</td></tr>..</t
3920: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  able>..<br><br>.
3930: 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63  .<table cellspac
3940: 69 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64  ing="8" cellpadd
3950: 69 6e 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72  ing="16" bgcolor
3960: 3d 22 23 66 66 66 66 65 39 22 3e 0d 0a 3c 74 72  ="#ffffe9">..<tr
3970: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 43 6f 6e 63 65  ><td>..<h3>Conce
3980: 70 74 73 20 74 6f 20 6b 65 65 70 20 77 65 6c 6c  pts to keep well
3990: 20 69 6e 20 6d 69 6e 64 3c 2f 68 33 3e 0d 0a 3c   in mind</h3>..<
39a0: 75 6c 3e 0d 0a 3c 6c 69 3e 66 6f 72 67 65 74 20  ul>..<li>forget 
39b0: 74 68 65 20 6f 6c 64 20 70 72 6f 6a 2d 73 74 72  the old proj-str
39c0: 69 6e 67 73 3b 20 74 68 65 79 20 61 72 65 20 6e  ings; they are n
39d0: 6f 20 6c 6f 6e 67 65 72 20 74 68 65 20 62 65 73  o longer the bes
39e0: 74 20 77 61 79 20 66 6f 72 20 74 61 6b 69 6e 67  t way for taking
39f0: 20 66 75 6c 6c 20 70 72 6f 66 69 74 20 66 72 6f   full profit fro
3a00: 6d 20 50 52 4f 4a 2e 36 3c 2f 6c 69 3e 0d 0a 3c  m PROJ.6</li>..<
3a10: 6c 69 3e 74 68 65 20 62 65 73 74 20 77 61 79 20  li>the best way 
3a20: 74 6f 20 75 74 69 6c 69 7a 65 20 50 52 4f 4a 2e  to utilize PROJ.
3a30: 36 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 69  6 capabilities i
3a40: 73 20 62 79 20 61 6c 6c 6f 77 69 6e 67 20 74 68  s by allowing th
3a50: 65 20 6c 69 62 72 61 72 79 20 74 6f 20 66 72 65  e library to fre
3a60: 65 6c 79 20 63 68 6f 6f 73 65 20 74 68 65 20 62  ely choose the b
3a70: 65 73 74 20 70 6f 73 73 69 62 6c 65 20 74 72 61  est possible tra
3a80: 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 61 74 68  nsformation path
3a90: 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 6f 72  s between the or
3aa0: 69 67 69 6e 20 61 6e 64 20 74 68 65 20 64 65 73  igin and the des
3ab0: 74 69 6e 61 74 69 6f 6e 20 43 52 53 65 73 2e 3c  tination CRSes.<
3ac0: 62 72 3e 0d 0a 54 68 69 73 2c 20 68 6f 77 65 76  br>..This, howev
3ad0: 65 72 2c 20 73 74 72 69 63 74 6c 79 20 72 65 71  er, strictly req
3ae0: 75 69 72 65 73 20 74 68 61 74 20 74 68 65 20 6c  uires that the l
3af0: 69 62 72 61 72 69 65 73 20 70 72 69 76 61 74 65  ibraries private
3b00: 20 64 61 74 61 62 61 73 65 20 28 3c 62 3e 70 72   database (<b>pr
3b10: 6f 6a 2e 64 62 3c 2f 62 3e 29 20 63 61 6e 20 62  oj.db</b>) can b
3b20: 65 20 66 6f 75 6e 64 2e 3c 2f 6c 69 3e 0d 0a 3c  e found.</li>..<
3b30: 2f 75 6c 3e 0d 0a 3c 68 33 3e 41 64 64 69 74 69  /ul>..<h3>Additi
3b40: 6f 6e 61 6c 20 63 6f 6e 63 65 70 74 3c 2f 68 33  onal concept</h3
3b50: 3e 0d 0a 54 68 65 20 74 72 61 64 69 74 69 6f 6e  >..The tradition
3b60: 61 6c 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65  al <b>spatial_re
3b70: 66 5f 73 79 73 3c 2f 62 3e 20 74 61 62 6c 65 20  f_sys</b> table 
3b80: 63 6f 6e 74 61 69 6e 65 64 20 77 69 74 68 69 6e  contained within
3b90: 20 61 6e 79 20 53 70 61 74 69 61 4c 69 74 65 20   any SpatiaLite 
3ba0: 44 42 20 6e 6f 74 69 63 65 61 62 6c 79 20 63 68  DB noticeably ch
3bb0: 61 6e 67 65 73 20 69 74 73 20 69 6e 74 65 6e 64  anges its intend
3bc0: 65 64 20 70 75 72 70 6f 73 65 20 77 68 65 6e 20  ed purpose when 
3bd0: 75 73 69 6e 67 20 50 52 4f 4a 2e 36 3a 0d 0a 3c  using PROJ.6:..<
3be0: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 72 69 64  ul>..<li><b>srid
3bf0: 3c 2f 62 3e 2c 20 3c 62 3e 61 75 74 68 5f 6e 61  </b>, <b>auth_na
3c00: 6d 65 3c 2f 62 3e 2c 20 3c 62 3e 61 75 74 68 5f  me</b>, <b>auth_
3c10: 73 72 69 64 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  srid</b> and <b>
3c20: 72 65 66 5f 73 79 73 5f 6e 61 6d 65 3c 2f 62 3e  ref_sys_name</b>
3c30: 20 63 6f 6c 75 6d 6e 73 20 61 72 65 20 73 74 69   columns are sti
3c40: 6c 6c 20 72 65 71 75 69 72 65 64 20 69 6e 20 6f  ll required in o
3c50: 72 64 65 72 20 74 6f 20 64 65 66 69 6e 65 20 61  rder to define a
3c60: 6c 6c 20 73 75 70 70 6f 72 74 65 64 20 43 52 53  ll supported CRS
3c70: 65 73 20 61 6e 64 20 74 6f 20 73 75 70 70 6f 72  es and to suppor
3c80: 74 20 0d 0a 72 65 6c 61 74 69 6f 6e 73 20 62 61  t ..relations ba
3c90: 73 65 64 20 6f 6e 20 50 72 69 6d 61 72 79 20 61  sed on Primary a
3ca0: 6e 64 20 46 6f 72 65 69 67 6e 20 4b 65 79 73 2e  nd Foreign Keys.
3cb0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 62 75 74 20 63  </li>..<li>but c
3cc0: 6f 6c 75 6d 6e 73 20 3c 62 3e 70 72 6f 6a 34 74  olumns <b>proj4t
3cd0: 65 78 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 73  ext</b> and <b>s
3ce0: 72 74 65 78 74 3c 2f 62 3e 20 61 72 65 20 6e 6f  rtext</b> are no
3cf0: 77 20 70 72 61 63 74 69 63 61 6c 6c 79 20 75 73  w practically us
3d00: 65 6c 65 73 73 2c 20 62 65 63 61 75 73 65 20 50  eless, because P
3d10: 52 4f 4a 2e 36 20 69 73 20 6e 6f 77 20 63 61 70  ROJ.6 is now cap
3d20: 61 62 6c 65 20 6f 66 20 72 65 74 72 69 65 76 69  able of retrievi
3d30: 6e 67 20 74 68 65 20 6e 65 65 64 65 64 20 43 52  ng the needed CR
3d40: 53 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72  S definitions fr
3d50: 6f 6d 20 69 74 73 20 6f 77 6e 20 70 72 69 76 61  om its own priva
3d60: 74 65 20 64 61 74 61 62 61 73 65 2e 3c 2f 6c 69  te database.</li
3d70: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 3c 75 3e 46 75 74  >..<li><i><u>Fut
3d80: 75 72 65 20 46 6f 72 65 63 61 73 74 73 3c 2f 75  ure Forecasts</u
3d90: 3e 3c 2f 69 3e 3a 20 62 6f 74 68 20 3c 62 3e 70  ></i>: both <b>p
3da0: 72 6f 6a 34 74 65 78 74 3c 2f 62 3e 20 61 6e 64  roj4text</b> and
3db0: 20 3c 62 3e 73 72 74 65 78 74 3c 2f 62 3e 20 77   <b>srtext</b> w
3dc0: 69 6c 6c 20 20 70 72 6f 62 61 62 6c 79 20 62 65  ill  probably be
3dd0: 20 72 65 6d 6f 76 65 64 20 69 6e 20 73 6f 6d 65   removed in some
3de0: 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20   future version 
3df0: 6f 66 20 53 70 61 74 69 61 4c 69 74 65 2e 3c 62  of SpatiaLite.<b
3e00: 72 3e 0d 0a 46 6f 72 20 6e 6f 77 20 74 68 65 79  r>..For now they
3e10: 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74   will continue t
3e20: 6f 20 62 65 20 6e 65 65 64 65 64 20 66 6f 72 20  o be needed for 
3e30: 76 65 72 73 69 6f 6e 73 20 6f 66 20 53 70 61 74  versions of Spat
3e40: 69 61 4c 69 74 65 20 74 68 61 74 20 75 73 65 73  iaLite that uses
3e50: 2c 20 74 68 65 20 6e 6f 77 20 73 75 70 65 72 73  , the now supers
3e60: 65 64 65 64 2c 20 50 52 4f 4a 2e 34 3c 2f 6c 69  eded, PROJ.4</li
3e70: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ul>..</td><
3e80: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
3e90: 3c 68 33 3e 54 72 61 6e 73 66 6f 72 6d 61 74 69  <h3>Transformati
3ea0: 6f 6e 20 70 69 70 65 6c 69 6e 65 73 3c 2f 68 33  on pipelines</h3
3eb0: 3e 0d 0a 54 68 65 72 65 20 69 73 20 61 20 6c 61  >..There is a la
3ec0: 73 74 20 61 73 74 6f 6e 69 73 68 69 6e 67 20 69  st astonishing i
3ed0: 6e 6e 6f 76 61 74 69 6f 6e 20 69 6e 74 72 6f 64  nnovation introd
3ee0: 75 63 65 64 20 69 6e 20 50 52 4f 4a 2e 36 3a 20  uced in PROJ.6: 
3ef0: 3c 62 3e 3c 69 3e 74 72 61 6e 73 66 6f 72 6d 61  <b><i>transforma
3f00: 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 73 3c 2f  tion pipelines</
3f10: 69 3e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 68 65  i></b>.<br>..Whe
3f20: 6e 20 75 73 69 6e 67 20 61 20 3c 62 3e 3c 69 3e  n using a <b><i>
3f30: 70 69 70 65 6c 69 6e 65 3c 2f 69 3e 3c 2f 62 3e  pipeline</i></b>
3f40: 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20   you can freely 
3f50: 64 65 66 69 6e 65 20 61 6e 79 20 63 6f 6d 70 6c  define any compl
3f60: 65 78 20 67 65 6f 64 65 74 69 63 20 74 72 61 6e  ex geodetic tran
3f70: 73 66 6f 72 6d 61 74 69 6f 6e 20 62 79 20 63 6f  sformation by co
3f80: 6d 62 69 6e 69 6e 67 20 6d 61 6e 79 20 65 6c 65  mbining many ele
3f90: 6d 65 6e 74 61 72 79 20 73 74 65 70 73 20 73 75  mentary steps su
3fa0: 63 68 20 61 73 20 63 6f 6e 76 65 72 73 69 6f 6e  ch as conversion
3fb0: 2c 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e  , transformation
3fc0: 2c 20 70 72 6f 6a 65 63 74 69 6f 6e 2c 20 61 78  , projection, ax
3fd0: 69 73 20 73 77 61 70 20 61 6e 64 20 73 6f 20 6f  is swap and so o
3fe0: 6e 2e 3c 62 72 3e 0d 0a 41 20 70 69 70 65 6c 69  n.<br>..A pipeli
3ff0: 6e 65 20 69 73 20 63 6f 6e 63 65 70 74 75 61 6c  ne is conceptual
4000: 6c 79 20 73 69 6d 69 6c 61 72 20 74 6f 20 61 20  ly similar to a 
4010: 55 4e 49 58 20 73 68 65 6c 6c 20 73 63 72 69 70  UNIX shell scrip
4020: 74 2c 20 77 69 74 68 20 61 20 64 61 74 61 66 6c  t, with a datafl
4030: 6f 77 20 70 72 6f 63 65 73 73 69 6e 67 20 65 61  ow processing ea
4040: 63 68 20 73 74 65 70 20 75 6e 74 69 6c 20 74 68  ch step until th
4050: 65 20 66 69 6e 61 6c 20 72 65 73 75 6c 74 20 69  e final result i
4060: 73 20 70 72 6f 64 75 63 65 64 2e 3c 62 72 3e 0d  s produced.<br>.
4070: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69  .The following i
4080: 73 20 61 20 70 72 61 63 74 69 63 61 6c 20 65 78  s a practical ex
4090: 61 6d 70 6c 65 20 6f 66 20 61 20 70 69 70 65 6c  ample of a pipel
40a0: 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  ine correspondin
40b0: 67 20 74 6f 20 61 20 74 72 61 6e 73 66 6f 72 6d  g to a transform
40c0: 61 74 69 6f 6e 20 66 72 6f 6d 20 3c 62 3e 45 50  ation from <b>EP
40d0: 53 47 3a 34 33 32 36 3c 2f 62 3e 20 3c 69 3e 57  SG:4326</b> <i>W
40e0: 47 53 20 38 34 3c 2f 69 3e 20 74 6f 20 3c 62 3e  GS 84</i> to <b>
40f0: 45 50 53 47 3a 33 32 36 33 32 3c 2f 62 3e 20 3c  EPSG:32632</b> <
4100: 69 3e 57 47 53 20 38 34 20 2f 20 55 54 4d 20 7a  i>WGS 84 / UTM z
4110: 6f 6e 65 20 33 32 4e 3c 2f 69 3e 3a 0d 0a 3c 76  one 32N</i>:..<v
4120: 65 72 62 61 74 69 6d 3e 0d 0a 2b 70 72 6f 6a 3d  erbatim>..+proj=
4130: 70 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 74 65 70  pipeline ..+step
4140: 20 2b 70 72 6f 6a 3d 61 78 69 73 73 77 61 70 20   +proj=axisswap 
4150: 2b 6f 72 64 65 72 3d 32 2c 31 20 0d 0a 2b 73 74  +order=2,1 ..+st
4160: 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 63 6f 6e  ep +proj=unitcon
4170: 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 65 67 20  vert +xy_in=deg 
4180: 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d 0a 2b 73  +xy_out=rad ..+s
4190: 74 65 70 20 2b 70 72 6f 6a 3d 75 74 6d 20 2b 7a  tep +proj=utm +z
41a0: 6f 6e 65 3d 33 32 20 2b 65 6c 6c 70 73 3d 57 47  one=32 +ellps=WG
41b0: 53 38 34 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  S84..</verbatim>
41c0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 74 65 70  ..<ul>..<li>Step
41d0: 20 30 3a 20 73 74 61 72 74 20 61 20 3c 62 3e 70   0: start a <b>p
41e0: 69 70 65 6c 69 6e 65 3c 2f 62 3e 3c 2f 6c 69 3e  ipeline</b></li>
41f0: 0d 0a 3c 6c 69 3e 53 74 65 70 20 31 3a 20 73 77  ..<li>Step 1: sw
4200: 69 74 63 68 20 74 68 65 20 3c 62 3e 79 2c 78 3c  itch the <b>y,x<
4210: 2f 62 3e 20 62 61 73 65 64 20 6f 72 64 65 72 20  /b> based order 
4220: 74 6f 20 3c 62 3e 78 2c 79 3c 2f 62 3e 3c 2f 6c  to <b>x,y</b></l
4230: 69 3e 0d 0a 3c 6c 69 3e 53 74 65 70 20 32 3a 20  i>..<li>Step 2: 
4240: 63 6f 6e 76 65 72 74 20 70 72 65 76 69 6f 75 73  convert previous
4250: 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 3c 62 3e   result from <b>
4260: 64 65 67 72 65 65 73 3c 2f 62 3e 20 74 6f 20 3c  degrees</b> to <
4270: 62 3e 72 61 64 69 61 6e 73 3c 2f 62 3e 3c 2f 6c  b>radians</b></l
4280: 69 3e 0d 0a 3c 6c 69 3e 53 74 65 70 20 33 3a 20  i>..<li>Step 3: 
4290: 63 6f 6e 76 65 72 74 20 70 72 65 76 69 6f 75 73  convert previous
42a0: 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 3c 62 3e   result from <b>
42b0: 57 53 47 38 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e  WSG84</b> to <b>
42c0: 55 54 4d 20 33 32 3c 2f 62 3e 3c 2f 6c 69 3e 0d  UTM 32</b></li>.
42d0: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  .</ul>..<br><br>
42e0: 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61  ..<table cellspa
42f0: 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64  cing="8" cellpad
4300: 64 69 6e 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f  ding="16" bgcolo
4310: 72 3d 22 23 66 66 66 66 64 30 22 3e 0d 0a 3c 74  r="#ffffd0">..<t
4320: 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 55 73  r><td>..<b><u>Us
4330: 65 66 75 6c 20 68 69 6e 74 3c 2f 75 3e 3c 2f 62  eful hint</u></b
4340: 3e 3a 20 50 52 4f 4a 2e 36 20 73 75 70 70 6f 72  >: PROJ.6 suppor
4350: 74 73 20 61 20 6e 65 77 20 43 4c 49 20 74 6f 6f  ts a new CLI too
4360: 6c 20 28 3c 62 3e 70 72 6f 6a 69 6e 66 6f 3c 2f  l (<b>projinfo</
4370: 62 3e 29 20 66 6f 72 20 69 6e 73 70 65 63 74 69  b>) for inspecti
4380: 6e 67 2c 20 69 6e 20 66 75 6c 6c 20 64 65 74 61  ng, in full deta
4390: 69 6c 2c 20 74 68 65 20 69 6e 74 65 72 6e 61 6c  il, the internal
43a0: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 66 20   definitions of 
43b0: 43 52 53 65 73 2c 20 54 72 61 6e 73 66 6f 72 6d  CRSes, Transform
43c0: 61 74 69 6f 6e 73 20 65 74 63 2e 3c 62 72 3e 0d  ations etc.<br>.
43d0: 0a 54 68 65 20 61 62 6f 76 65 20 70 69 70 65 6c  .The above pipel
43e0: 69 6e 65 20 69 73 20 73 69 6d 70 6c 79 20 74 68  ine is simply th
43f0: 65 20 6f 75 74 70 75 74 20 6f 66 20 74 68 65 20  e output of the 
4400: 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e  following comman
4410: 64 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  d:..<verbatim>..
4420: 70 72 6f 6a 69 6e 66 6f 20 2d 73 20 45 50 53 47  projinfo -s EPSG
4430: 3a 34 33 32 36 20 2d 74 20 45 50 53 47 3a 33 32  :4326 -t EPSG:32
4440: 36 33 32 20 2d 6f 20 70 72 6f 6a 0d 0a 3c 2f 76  632 -o proj..</v
4450: 65 72 62 61 74 69 6d 3e 0d 0a 3c 62 3e 70 72 6f  erbatim>..<b>pro
4460: 6a 69 6e 66 6f 3c 2f 62 3e 20 69 73 20 61 20 76  jinfo</b> is a v
4470: 65 72 79 20 75 73 65 66 75 6c 6c 20 72 65 73 6f  ery usefull reso
4480: 75 72 63 65 3b 20 64 6f 6e 27 74 20 68 65 73 69  urce; don't hesi
4490: 74 61 74 65 20 74 6f 20 75 73 65 20 69 74 20 66  tate to use it f
44a0: 72 65 71 75 65 6e 74 6c 79 20 69 6e 20 6f 72 64  requently in ord
44b0: 65 72 20 74 6f 20 64 69 73 63 6f 76 65 72 20 77  er to discover w
44c0: 68 61 74 27 73 20 72 65 61 6c 6c 79 20 62 65 69  hat's really bei
44d0: 6e 67 20 64 6f 6e 65 20 69 6e 20 74 68 65 20 62  ng done in the b
44e0: 61 63 6b 67 72 6f 75 6e 64 2e 3c 62 72 3e 0d 0a  ackground.<br>..
44f0: 49 74 27 73 20 74 68 65 20 62 65 73 74 20 61 6e  It's the best an
4500: 64 20 65 61 73 69 65 73 74 20 77 61 79 20 74 6f  d easiest way to
4510: 20 66 75 6c 6c 79 20 75 6e 64 65 72 73 74 61 6e   fully understan
4520: 64 20 77 68 61 74 20 50 52 4f 4a 2e 36 20 72 65  d what PROJ.6 re
4530: 61 6c 6c 79 20 64 6f 65 73 2e 3c 62 72 3e 3c 62  ally does.<br><b
4540: 72 3e 0d 0a 3c 62 3e 70 72 6f 6a 69 6e 66 6f 3c  r>..<b>projinfo<
4550: 2f 62 3e 20 61 6c 73 6f 20 67 69 76 65 73 20 67  /b> also gives g
4560: 6f 6f 64 20 68 69 6e 74 73 20 77 68 65 6e 20 70  ood hints when p
4570: 72 6f 62 6c 65 6d 73 20 65 78 69 73 74 2e 0d 0a  roblems exist...
4580: 49 6e 20 74 68 69 73 20 63 61 73 65 20 3c 62 3e  In this case <b>
4590: 50 52 4f 4a 5f 4c 49 42 3c 2f 62 3e 20 77 61 73  PROJ_LIB</b> was
45a0: 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 73 65 74   incorrectly set
45b0: 20 61 6e 64 20 74 68 65 20 6e 65 65 64 65 64 20   and the needed 
45c0: 67 72 69 64 20 66 69 6c 65 73 20 63 6f 75 6c 64  grid files could
45d0: 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 3a 0d 0a   not be found:..
45e0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 47 72 69 64  <verbatim>..Grid
45f0: 20 42 45 54 41 32 30 30 37 2e 67 73 62 20 6e 65   BETA2007.gsb ne
4600: 65 64 65 64 20 62 75 74 20 6e 6f 74 20 66 6f 75  eded but not fou
4610: 6e 64 20 6f 6e 20 74 68 65 20 73 79 73 74 65 6d  nd on the system
4620: 2e 0d 0a 43 61 6e 20 62 65 20 6f 62 74 61 69 6e  ...Can be obtain
4630: 65 64 20 66 72 6f 6d 20 74 68 65 20 70 72 6f 6a  ed from the proj
4640: 2d 64 61 74 75 6d 67 72 69 64 20 70 61 63 6b 61  -datumgrid packa
4650: 67 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 64 6f  ge at https://do
4660: 77 6e 6c 6f 61 64 2e 6f 73 67 65 6f 2e 6f 72 67  wnload.osgeo.org
4670: 2f 70 72 6f 6a 2f 70 72 6f 6a 2d 64 61 74 75 6d  /proj/proj-datum
4680: 67 72 69 64 2d 6c 61 74 65 73 74 2e 7a 69 70 0d  grid-latest.zip.
4690: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 74  .</verbatim>..It
46a0: 20 6e 6f 74 20 6f 6e 6c 79 20 74 65 6c 6c 73 20   not only tells 
46b0: 79 6f 75 20 77 68 69 63 68 20 67 72 69 64 2d 66  you which grid-f
46c0: 69 6c 65 20 69 73 20 6e 65 65 64 65 64 2c 20 62  ile is needed, b
46d0: 75 74 20 61 6c 73 6f 20 77 68 65 72 65 20 74 6f  ut also where to
46e0: 20 67 65 74 20 69 74 2e 0d 0a 3c 2f 74 64 3e 3c   get it...</td><
46f0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62  /tr>..</table><b
4700: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63  r><br>..<table c
4710: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63  ellspacing="8" c
4720: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62  ellpadding="8" b
4730: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 65 39 22  gcolor="#ffffe9"
4740: 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 49 6e 20  >..<tr><th>..In 
4750: 6f 72 64 65 72 20 74 6f 20 6c 65 61 72 6e 20 6d  order to learn m
4760: 6f 72 65 20 61 62 6f 75 74 20 74 68 65 20 6d 61  ore about the ma
4770: 6e 79 20 69 6e 74 65 72 65 73 74 69 6e 67 20 61  ny interesting a
4780: 6e 64 20 63 6f 6f 6c 20 6e 65 77 20 66 65 61 74  nd cool new feat
4790: 75 72 65 73 20 73 75 70 70 6f 72 74 65 64 20 62  ures supported b
47a0: 79 20 50 52 4f 4a 2e 36 20 70 6c 65 61 73 65 20  y PROJ.6 please 
47b0: 63 6f 6e 73 75 6c 74 20 74 68 65 20 3c 61 20 68  consult the <a h
47c0: 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 70 72 6f  ref="https://pro
47d0: 6a 34 2e 6f 72 67 2f 22 3e 6f 72 69 67 69 6e 61  j4.org/">origina
47e0: 6c 20 50 52 4f 4a 20 64 6f 63 75 6d 65 6e 74 61  l PROJ documenta
47f0: 74 69 6f 6e 3c 2f 61 3e 0d 0a 3c 2f 74 68 3e 3c  tion</a>..</th><
4800: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62  /tr>..</table><b
4810: 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 50 52  r>..<hr>..<h1>PR
4820: 4f 4a 2e 36 20 73 75 70 70 6f 72 74 20 6f 6e 20  OJ.6 support on 
4830: 53 70 61 74 69 61 4c 69 74 65 2d 35 2e 30 2e 30  SpatiaLite-5.0.0
4840: 3c 2f 68 31 3e 0d 0a 3c 68 33 3e 43 72 65 61 74  </h1>..<h3>Creat
4850: 69 6e 67 20 61 6e 64 20 70 6f 70 75 6c 61 74 69  ing and populati
4860: 6e 67 20 74 68 65 20 73 70 61 74 69 61 6c 5f 72  ng the spatial_r
4870: 65 66 5f 73 79 73 20 6d 65 74 61 74 61 62 6c 65  ef_sys metatable
4880: 3c 2f 68 33 3e 0d 0a 54 68 65 72 65 20 69 73 20  </h3>..There is 
4890: 6e 6f 20 72 65 6c 65 76 61 6e 74 20 63 68 61 6e  no relevant chan
48a0: 67 65 2e 20 41 73 20 69 6e 20 61 6c 6c 20 70 72  ge. As in all pr
48b0: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20  evious versions 
48c0: 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f 73  <b>spatial_ref_s
48d0: 79 73 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 61  ys</b> will be a
48e0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65  utomatically cre
48f0: 61 74 65 64 20 61 6e 64 20 70 72 6f 70 65 72 6c  ated and properl
4900: 79 20 70 6f 70 75 6c 61 74 65 20 62 79 20 63 61  y populate by ca
4910: 6c 6c 69 6e 67 20 74 68 65 20 61 70 70 72 6f 70  lling the approp
4920: 72 69 61 74 65 20 53 51 4c 20 66 75 6e 63 74 69  riate SQL functi
4930: 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  on...<verbatim>.
4940: 0a 53 45 4c 45 43 54 20 49 6e 69 74 53 70 61 74  .SELECT InitSpat
4950: 69 61 6c 4d 65 74 61 44 61 74 61 28 31 29 3b 0d  ialMetaData(1);.
4960: 0a 20 20 20 20 20 20 6f 72 0d 0a 53 45 4c 45 43  .      or..SELEC
4970: 54 20 49 6e 69 74 53 70 61 74 69 61 6c 4d 65 74  T InitSpatialMet
4980: 61 44 61 74 61 46 75 6c 6c 28 31 29 3b 0d 0a 3c  aDataFull(1);..<
4990: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
49a0: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  le cellspacing="
49b0: 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  8" cellpadding="
49c0: 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  8" bgcolor="#fff
49d0: 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d  fe9">..<tr><td>.
49e0: 0a 50 6c 65 61 73 65 20 72 65 6d 65 6d 62 65 72  .Please remember
49f0: 20 74 68 61 74 20 6e 6f 77 20 69 6e 20 53 70 61   that now in Spa
4a00: 74 69 61 4c 69 74 65 2d 35 2e 30 2e 30 20 3c 62  tiaLite-5.0.0 <b
4a10: 3e 49 6e 69 74 53 70 61 74 69 61 6c 4d 65 74 61  >InitSpatialMeta
4a20: 44 61 74 61 46 75 6c 6c 3c 2f 62 3e 20 72 65 70  DataFull</b> rep
4a30: 72 65 73 65 6e 74 73 20 74 68 65 20 70 72 65 66  resents the pref
4a40: 65 72 72 65 64 20 6d 65 74 68 6f 64 20 66 6f 72  erred method for
4a50: 20 63 72 65 61 74 69 6e 67 20 61 6c 6c 20 6d 65   creating all me
4a60: 74 61 64 61 74 61 20 74 61 62 6c 65 73 20 72 65  tadata tables re
4a70: 71 75 69 72 65 64 20 62 79 20 74 68 69 73 20 76  quired by this v
4a80: 65 72 73 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 62 3e  ersion.<br>..<b>
4a90: 49 6e 69 74 53 70 61 74 69 61 6c 4d 65 74 61 44  InitSpatialMetaD
4aa0: 61 74 61 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c  ata</b> is still
4ab0: 20 6d 61 69 6e 74 61 69 6e 65 64 20 73 6f 20 74   maintained so t
4ac0: 6f 20 6e 6f 74 20 62 72 65 61 6b 20 68 69 73 74  o not break hist
4ad0: 6f 72 69 63 61 6c 20 63 6f 6d 70 61 74 69 62 69  orical compatibi
4ae0: 6c 69 74 79 2c 20 62 75 74 20 73 68 6f 75 6c 64  lity, but should
4af0: 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20 75 73   no longer be us
4b00: 65 64 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  ed...</td></tr>.
4b10: 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 54  .</table><br>..T
4b20: 68 65 20 6d 6f 73 74 20 72 65 6c 65 76 61 6e 74  he most relevant
4b30: 20 63 68 61 6e 67 65 20 69 73 20 74 68 61 74 20   change is that 
4b40: 64 69 66 66 65 72 65 6e 74 20 76 65 72 73 69 6f  different versio
4b50: 6e 73 20 6f 66 20 53 70 61 74 69 61 4c 69 74 65  ns of SpatiaLite
4b60: 2f 50 52 4f 4a 20 77 69 6c 6c 20 6e 6f 77 20 62  /PROJ will now b
4b70: 65 68 61 76 65 20 69 6e 20 72 61 64 69 63 61 6c  ehave in radical
4b80: 6c 79 20 64 69 66 66 65 72 65 6e 74 20 77 61 79  ly different way
4b90: 73 2c 20 61 73 20 73 75 6d 6d 61 72 69 7a 65 64  s, as summarized
4ba0: 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   in the followin
4bb0: 67 20 63 72 6f 73 73 2d 76 65 72 73 69 6f 6e 20  g cross-version 
4bc0: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 74 61  compatibility ta
4bd0: 62 6c 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  ble.<br><br>..<t
4be0: 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67  able cellspacing
4bf0: 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="8" cellpadding
4c00: 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23  ="16" bgcolor="#
4c10: 65 38 66 66 65 38 22 20 62 6f 72 64 65 72 3d 22  e8ffe8" border="
4c20: 31 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  1">..<tr><th bgc
4c30: 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 53  olor="#ffb03e">S
4c40: 70 61 74 69 61 4c 69 74 65 20 2f 20 50 52 4f 4a  patiaLite / PROJ
4c50: 20 76 65 72 73 69 6f 6e 3c 2f 74 68 3e 3c 74 68   version</th><th
4c60: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33   bgcolor="#ffb03
4c70: 65 22 3e 43 6f 6e 6e 65 63 74 65 64 20 44 42 3c  e">Connected DB<
4c80: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
4c90: 22 23 66 66 62 30 33 65 22 3e 41 63 74 69 6f 6e  "#ffb03e">Action
4ca0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
4cb0: 0d 0a 3c 74 64 20 72 6f 77 73 70 61 6e 3d 22 32  ..<td rowspan="2
4cc0: 22 3e 53 70 61 74 69 61 4c 69 74 65 2d 35 20 62  ">SpatiaLite-5 b
4cd0: 75 69 6c 74 20 6f 6e 20 3c 62 3e 50 52 4f 4a 2e  uilt on <b>PROJ.
4ce0: 36 3c 2f 62 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e  6</b></td>..<td>
4cf0: 44 42 20 63 72 65 61 74 65 64 20 62 79 20 53 70  DB created by Sp
4d00: 61 74 69 61 4c 69 74 65 2d 35 20 2f 20 50 52 4f  atiaLite-5 / PRO
4d10: 4a 2e 36 3c 2f 74 64 3e 0d 0a 3c 74 64 20 72 6f  J.6</td>..<td ro
4d20: 77 73 70 61 6e 3d 22 32 22 3e 0d 0a 3c 62 3e 6c  wspan="2">..<b>l
4d30: 69 62 73 70 61 74 69 61 6c 69 74 65 2d 35 3c 2f  ibspatialite-5</
4d40: 62 3e 20 77 68 65 6e 20 62 75 69 6c 74 20 6f 6e  b> when built on
4d50: 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 77   <b>PROJ.6</b> w
4d60: 69 6c 6c 20 61 6c 77 61 79 73 20 69 67 6e 6f 72  ill always ignor
4d70: 65 20 62 6f 74 68 20 74 68 65 20 70 72 6f 6a 2d  e both the proj-
4d80: 73 74 72 69 6e 67 73 20 73 74 6f 72 65 64 20 69  strings stored i
4d90: 6e 20 63 6f 6c 75 6d 6e 20 3c 62 3e 70 72 6f 6a  n column <b>proj
4da0: 34 74 65 78 74 3c 2f 62 3e 20 61 6e 64 20 74 68  4text</b> and th
4db0: 65 20 57 4b 54 20 64 65 66 69 6e 69 74 69 6f 6e  e WKT definition
4dc0: 73 20 73 74 6f 72 65 64 20 69 6e 20 63 6f 6c 75  s stored in colu
4dd0: 6d 6e 20 3c 62 3e 73 72 74 65 78 74 3c 2f 62 3e  mn <b>srtext</b>
4de0: 2e 3c 62 72 3e 0d 0a 49 74 20 77 69 6c 6c 20 69  .<br>..It will i
4df0: 6e 73 74 65 61 64 20 61 6c 6c 6f 77 20 50 52 4f  nstead allow PRO
4e00: 4a 2e 36 20 74 6f 20 72 65 74 72 69 65 76 65 20  J.6 to retrieve 
4e10: 74 68 65 20 6e 65 65 64 65 64 20 43 52 53 20 64  the needed CRS d
4e20: 65 66 69 6e 69 74 69 6f 6e 73 20 63 6f 6e 74 61  efinitions conta
4e30: 69 6e 65 64 20 69 6e 20 69 74 73 20 6f 77 6e 20  ined in its own 
4e40: 70 72 69 76 61 74 65 20 64 61 74 61 62 61 73 65  private database
4e50: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 74 65 20  .<br><br>..Note 
4e60: 74 68 61 74 20 74 68 69 73 20 61 70 70 6c 69 65  that this applie
4e70: 73 20 69 6e 64 69 66 66 65 72 65 6e 74 6c 79 20  s indifferently 
4e80: 74 6f 20 62 6f 74 68 20 3c 62 3e 3c 69 3e 6c 65  to both <b><i>le
4e90: 67 61 63 79 20 64 61 74 61 62 61 73 65 73 3c 2f  gacy databases</
4ea0: 69 3e 3c 2f 62 3e 20 63 72 65 61 74 65 64 20 62  i></b> created b
4eb0: 79 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 76  y any previous v
4ec0: 65 72 73 69 6f 6e 20 61 6e 64 20 3c 62 3e 3c 69  ersion and <b><i
4ed0: 3e 6d 6f 73 74 20 6d 6f 64 65 72 6e 20 64 61 74  >most modern dat
4ee0: 61 62 61 73 65 73 3c 2f 69 3e 3c 2f 62 3e 20 63  abases</i></b> c
4ef0: 72 65 61 74 65 64 20 62 79 20 74 68 65 20 6c 61  reated by the la
4f00: 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 0d 0a 3c  test version...<
4f10: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /td></tr>..<tr>.
4f20: 0a 3c 74 64 3e 44 42 20 63 72 65 61 74 65 64 20  .<td>DB created 
4f30: 62 79 20 53 70 61 74 69 61 4c 69 74 65 2d 35 20  by SpatiaLite-5 
4f40: 2f 20 50 52 4f 4a 2e 34 3c 62 72 3e 0d 0a 6f 72  / PROJ.4<br>..or
4f50: 3c 62 72 3e 0d 0a 62 79 20 61 6e 79 20 70 72 65  <br>..by any pre
4f60: 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 20 6f 66  vious version of
4f70: 20 53 70 61 74 69 61 4c 69 74 65 20 28 3c 20 35   SpatiaLite (< 5
4f80: 2e 30 2e 30 29 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  .0.0)</td>..</tr
4f90: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 72 6f 77  >..<tr>..<td row
4fa0: 73 70 61 6e 3d 22 32 22 3e 53 70 61 74 69 61 4c  span="2">SpatiaL
4fb0: 69 74 65 2d 35 20 62 75 69 6c 74 20 6f 6e 20 3c  ite-5 built on <
4fc0: 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e 3c 62 72 3e  b>PROJ.4</b><br>
4fd0: 0d 0a 6f 72 3c 62 72 3e 0d 0a 61 6e 79 20 70 72  ..or<br>..any pr
4fe0: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 20 6f  evious version o
4ff0: 66 20 53 70 61 74 69 61 4c 69 74 65 20 28 3c 20  f SpatiaLite (< 
5000: 35 2e 30 2e 30 29 3c 2f 74 64 3e 0d 0a 3c 74 64  5.0.0)</td>..<td
5010: 3e 44 42 20 63 72 65 61 74 65 64 20 62 79 20 53  >DB created by S
5020: 70 61 74 69 61 4c 69 74 65 2d 35 20 2f 20 50 52  patiaLite-5 / PR
5030: 4f 4a 2e 36 3c 2f 74 64 3e 0d 0a 3c 74 64 20 72  OJ.6</td>..<td r
5040: 6f 77 73 70 61 6e 3d 22 32 22 3e 0d 0a 57 68 65  owspan="2">..Whe
5050: 6e 20 3c 62 3e 6c 69 62 73 70 61 74 69 61 6c 69  n <b>libspatiali
5060: 74 65 3c 2f 62 3e 20 28 61 6e 79 20 76 65 72 73  te</b> (any vers
5070: 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 35  ion, including 5
5080: 2e 30 2e 30 29 20 74 68 61 74 20 77 61 73 20 6e  .0.0) that was n
5090: 6f 74 20 63 6f 6d 70 69 6c 65 64 20 61 67 61 69  ot compiled agai
50a0: 6e 73 74 20 50 52 4f 4a 2e 36 2c 20 74 68 65 6e  nst PROJ.6, then
50b0: 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c   the traditional
50c0: 20 61 70 70 72 6f 61 63 68 20 77 69 6c 6c 20 62   approach will b
50d0: 65 20 61 6c 77 61 79 73 20 61 70 70 6c 69 65 64  e always applied
50e0: 2c 20 61 6e 64 20 65 61 63 68 20 43 52 53 20 77  , and each CRS w
50f0: 69 6c 6c 20 62 65 20 63 6f 6e 73 65 71 75 65 6e  ill be consequen
5100: 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 20 62  tly identified b
5110: 79 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64  y its correspond
5120: 69 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e 67 20  ing proj-string 
5130: 73 74 6f 72 65 64 20 69 6e 20 63 6f 6c 75 6d 6e  stored in column
5140: 20 3c 62 3e 70 72 6f 6a 34 74 65 78 74 3c 2f 62   <b>proj4text</b
5150: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 74 65 20  ><br><br>..Note 
5160: 74 68 61 74 20 65 76 65 6e 20 77 68 65 6e 20 50  that even when P
5170: 52 4f 4a 2e 36 20 69 73 20 6e 6f 74 20 73 75 70  ROJ.6 is not sup
5180: 70 6f 72 74 65 64 20 61 6e 79 20 76 65 72 73 69  ported any versi
5190: 6f 6e 20 6f 66 20 53 70 61 74 69 61 4c 69 74 65  on of SpatiaLite
51a0: 20 28 69 6e 63 6c 75 64 69 6e 67 20 35 2e 30 2e   (including 5.0.
51b0: 30 29 20 63 61 6e 20 73 61 66 65 6c 79 20 63 6f  0) can safely co
51c0: 6e 6e 65 63 74 20 74 6f 20 61 6e 79 20 44 42 2d  nnect to any DB-
51d0: 66 69 6c 65 20 63 72 65 61 74 65 64 20 62 79 20  file created by 
51e0: 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20  the most recent 
51f0: 76 65 72 73 69 6f 6e 20 63 72 65 61 74 65 64 20  version created 
5200: 77 69 74 68 20 66 75 6c 6c 20 50 52 4f 4a 2e 36  with full PROJ.6
5210: 20 73 75 70 70 6f 72 74 2e 0d 0a 3c 2f 74 64 3e   support...</td>
5220: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
5230: 74 64 3e 44 42 20 63 72 65 61 74 65 64 20 62 79  td>DB created by
5240: 20 53 70 61 74 69 61 4c 69 74 65 2d 35 20 2f 20   SpatiaLite-5 / 
5250: 50 52 4f 4a 2e 34 3c 62 72 3e 0d 0a 6f 72 3c 62  PROJ.4<br>..or<b
5260: 72 3e 0d 0a 62 79 20 61 6e 79 20 70 72 65 76 69  r>..by any previ
5270: 6f 75 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 53  ous version of S
5280: 70 61 74 69 61 4c 69 74 65 20 28 3c 20 35 2e 30  patiaLite (< 5.0
5290: 2e 30 29 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  .0)</td>..</tr>.
52a0: 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 72  .</table><br><br
52b0: 3e 0d 0a 3c 68 33 3e 45 78 69 73 74 69 6e 67 20  >..<h3>Existing 
52c0: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 20 61 66  SQL functions af
52d0: 66 65 63 74 65 64 20 62 79 20 50 52 4f 4a 2e 36  fected by PROJ.6
52e0: 3c 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65  </h3>..<table ce
52f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65  llspacing="8" ce
5300: 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67  llpadding="8" bg
5310: 63 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20  color="#e8ffe8" 
5320: 62 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72  border="1">..<tr
5330: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ><th bgcolor="#f
5340: 66 62 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74  fb03e">SQL Funct
5350: 69 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ion</th><th bgco
5360: 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 45 78  lor="#ffb03e">Ex
5370: 74 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65  tended signature
5380: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
5390: 3d 22 23 66 66 62 30 33 65 22 3e 42 65 68 61 76  ="#ffb03e">Behav
53a0: 69 6f 72 20 75 6e 64 65 72 20 50 52 4f 4a 2e 36  ior under PROJ.6
53b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
53c0: 3c 74 64 3e 3c 62 3e 53 54 5f 54 72 61 6e 73 66  <td><b>ST_Transf
53d0: 6f 72 6d 28 29 3c 2f 62 3e 3c 2f 74 64 3e 0d 0a  orm()</b></td>..
53e0: 3c 74 64 3e 0d 0a 3c 62 3e 53 54 5f 54 72 61 6e  <td>..<b>ST_Tran
53f0: 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 67 65 6f 6d  sform</b> ( geom
5400: 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e   <i>Geometry</i>
5410: 20 2c 20 6e 65 77 53 72 69 64 20 3c 69 3e 49 6e   , newSrid <i>In
5420: 74 65 67 65 72 3c 2f 69 3e 20 2c 20 61 72 65 61  teger</i> , area
5430: 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e   <i>Geometry</i>
5440: 20 29 20 3a 20 3c 69 3e 47 65 6f 6d 65 74 72 79   ) : <i>Geometry
5450: 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 53 54 5f  </i><hr>..<b>ST_
5460: 54 72 61 6e 73 66 6f 72 6d 3c 2f 62 3e 20 28 20  Transform</b> ( 
5470: 67 65 6f 6d 20 3c 69 3e 47 65 6f 6d 65 74 72 79  geom <i>Geometry
5480: 3c 2f 69 3e 20 2c 20 6e 65 77 53 72 69 64 20 3c  </i> , newSrid <
5490: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20  i>Integer</i> , 
54a0: 61 72 65 61 20 3c 69 3e 47 65 6f 6d 65 74 72 79  area <i>Geometry
54b0: 3c 2f 69 3e 20 2c 20 70 72 6f 6a 5f 73 74 72 69  </i> , proj_stri
54c0: 6e 67 5f 66 72 6f 6d 20 3c 69 3e 54 65 78 74 3c  ng_from <i>Text<
54d0: 2f 69 3e 20 29 20 3a 20 3c 69 3e 47 65 6f 6d 65  /i> ) : <i>Geome
54e0: 74 72 79 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e  try</i><hr>..<b>
54f0: 53 54 5f 54 72 61 6e 73 66 6f 72 6d 3c 2f 62 3e  ST_Transform</b>
5500: 20 28 20 67 65 6f 6d 20 3c 69 3e 47 65 6f 6d 65   ( geom <i>Geome
5510: 74 72 79 3c 2f 69 3e 20 2c 20 6e 65 77 53 72 69  try</i> , newSri
5520: 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e  d <i>Integer</i>
5530: 20 2c 20 61 72 65 61 20 3c 69 3e 47 65 6f 6d 65   , area <i>Geome
5540: 74 72 79 3c 2f 69 3e 20 2c 20 70 72 6f 6a 5f 73  try</i> , proj_s
5550: 74 72 69 6e 67 5f 66 72 6f 6d 20 3c 69 3e 54 65  tring_from <i>Te
5560: 78 74 3c 2f 69 3e 20 2c 20 70 72 6f 6a 5f 73 74  xt</i> , proj_st
5570: 72 69 6e 67 5f 74 6f 20 3c 69 3e 54 65 78 74 3c  ring_to <i>Text<
5580: 2f 69 3e 20 29 20 3a 20 3c 69 3e 47 65 6f 6d 65  /i> ) : <i>Geome
5590: 74 72 79 3c 2f 69 3e 0d 0a 3c 2f 74 64 3e 0d 0a  try</i>..</td>..
55a0: 3c 74 64 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c  <td>..<table cel
55b0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
55c0: 6c 70 61 64 64 69 6e 67 3d 22 34 22 20 62 67 63  lpadding="4" bgc
55d0: 6f 6c 6f 72 3d 22 23 66 66 66 66 64 30 22 3e 0d  olor="#ffffd0">.
55e0: 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75  .<tr><td>..<b><u
55f0: 3e 3c 69 3e 4e 6f 74 65 3c 2f 69 3e 3c 2f 75 3e  ><i>Note</i></u>
5600: 3c 2f 62 3e 3a 20 61 6c 6c 20 74 68 65 73 65 20  </b>: all these 
5610: 3c 62 3e 3c 69 3e 65 78 74 65 6e 64 65 64 20 73  <b><i>extended s
5620: 69 67 6e 61 74 75 72 65 73 3c 2f 69 3e 3c 2f 62  ignatures</i></b
5630: 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20  > are supported 
5640: 6f 6e 6c 79 20 77 68 65 6e 20 3c 62 3e 6c 69 62  only when <b>lib
5650: 73 70 61 74 69 61 6c 69 74 65 2d 35 2e 30 3c 2f  spatialite-5.0</
5660: 62 3e 20 68 61 73 20 62 65 65 6e 20 62 75 69 6c  b> has been buil
5670: 74 20 6f 6e 20 74 68 65 20 74 6f 70 20 6f 66 20  t on the top of 
5680: 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 3c 62 72  <b>PROJ.6</b><br
5690: 3e 0d 0a 49 66 20 74 68 65 20 6c 69 62 72 61 72  >..If the librar
56a0: 79 20 68 61 73 20 62 65 65 6e 20 62 75 69 6c 74  y has been built
56b0: 20 69 6e 73 74 65 61 64 20 6f 6e 20 65 61 72 6c   instead on earl
56c0: 69 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20  ier versions of 
56d0: 50 52 4f 4a 20 61 6e 79 20 61 74 74 65 6d 70 74  PROJ any attempt
56e0: 20 74 6f 20 63 61 6c 6c 20 74 68 65 73 65 20 65   to call these e
56f0: 78 74 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72  xtended signatur
5700: 65 73 20 77 69 6c 6c 20 6a 75 73 74 20 72 65 74  es will just ret
5710: 75 72 6e 20 61 20 3c 62 3e 3c 69 3e 77 72 6f 6e  urn a <b><i>wron
5720: 67 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75  g number of argu
5730: 6d 65 6e 74 73 20 74 6f 20 66 75 6e 63 74 69 6f  ments to functio
5740: 6e 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 29  n ST_Transform()
5750: 3c 2f 69 3e 3c 2f 62 3e 20 65 72 72 6f 72 2e 0d  </i></b> error..
5760: 0a 3c 2f 74 64 3e 3c 74 72 3e 0d 0a 3c 2f 74 61  .</td><tr>..</ta
5770: 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  ble><br>..<table
5780: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
5790: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 34 22   cellpadding="4"
57a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 64 66 64   bgcolor="#ffdfd
57b0: 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41  0">..<tr><td>..A
57c0: 6e 79 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d  ny invalid argum
57d0: 65 6e 74 20 70 61 73 73 65 64 20 74 6f 20 3c 62  ent passed to <b
57e0: 3e 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 29 3c  >ST_Transform()<
57f0: 2f 62 3e 20 28 3c 62 3e 3c 69 3e 65 78 74 65 6e  /b> (<b><i>exten
5800: 64 65 64 20 73 69 67 6e 61 74 75 72 65 73 3c 2f  ded signatures</
5810: 69 3e 3c 2f 62 3e 29 20 77 69 6c 6c 20 72 61 69  i></b>) will rai
5820: 73 65 20 61 6e 20 3c 62 3e 53 51 4c 20 45 78 63  se an <b>SQL Exc
5830: 65 70 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 2f 74  eption</b>...</t
5840: 64 3e 3c 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  d><tr>..</table>
5850: 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  <br>..<ul>..<li>
5860: 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67  the optional arg
5870: 75 6d 65 6e 74 20 3c 62 3e 61 72 65 61 3c 2f 62  ument <b>area</b
5880: 3e 20 6d 61 79 20 62 65 20 3c 62 3e 4e 55 4c 4c  > may be <b>NULL
5890: 3c 2f 62 3e 20 28 3c 69 3e 64 65 66 61 75 6c 74  </b> (<i>default
58a0: 20 73 65 74 74 69 6e 67 3c 2f 69 3e 29 2e 3c 62   setting</i>).<b
58b0: 72 3e 0d 0a 4f 74 68 65 72 77 69 73 65 20 69 74  r>..Otherwise it
58c0: 27 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63  's expected to c
58d0: 6f 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 47  ontain a valid G
58e0: 65 6f 6d 65 74 72 79 20 69 6e 20 3c 62 3e 53 52  eometry in <b>SR
58f0: 49 44 3d 34 33 32 36 20 28 6c 6f 6e 67 2f 6c 61  ID=4326 (long/la
5900: 74 29 3c 2f 62 3e 2e 0d 0a 57 68 65 6e 20 61 6e  t)</b>...When an
5910: 20 3c 62 3e 3c 69 3e 61 72 65 61 20 6f 66 20 75   <b><i>area of u
5920: 73 65 3c 2f 69 3e 3c 2f 62 3e 20 69 73 20 65 78  se</i></b> is ex
5930: 70 6c 69 63 69 74 6c 79 20 73 75 70 70 6c 69 65  plicitly supplie
5940: 64 2c 20 74 68 65 6e 20 3c 62 3e 50 52 4f 4a 2e  d, then <b>PROJ.
5950: 36 3c 2f 62 3e 20 6d 61 79 20 65 76 65 6e 74 75  6</b> may eventu
5960: 61 6c 6c 79 20 75 73 65 20 74 68 65 20 63 6f 72  ally use the cor
5970: 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 42 42  responding <b>BB
5980: 4f 58 3c 2f 62 3e 20 66 6f 72 20 61 20 66 69 6e  OX</b> for a fin
5990: 65 20 74 75 6e 65 64 20 61 6e 64 20 6d 6f 72 65  e tuned and more
59a0: 20 61 63 63 75 72 61 74 65 20 74 72 61 6e 73 66   accurate transf
59b0: 6f 72 6d 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  ormation.</li>..
59c0: 3c 6c 69 3e 62 6f 74 68 20 74 68 65 20 6f 70 74  <li>both the opt
59d0: 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20  ional arguments 
59e0: 3c 62 3e 70 72 6f 6a 5f 73 74 72 69 6e 67 5f 66  <b>proj_string_f
59f0: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 70  rom</b> and <b>p
5a00: 72 6f 6a 5f 73 74 72 69 6e 67 5f 74 6f 3c 2f 62  roj_string_to</b
5a10: 3e 20 6d 61 79 20 62 65 20 3c 62 3e 4e 55 4c 4c  > may be <b>NULL
5a20: 3c 2f 62 3e 20 28 3c 69 3e 64 65 66 61 75 6c 74  </b> (<i>default
5a30: 20 73 65 74 74 69 6e 67 3c 2f 69 3e 29 2e 3c 62   setting</i>).<b
5a40: 72 3e 0d 0a 4f 74 68 65 72 77 69 73 65 20 74 68  r>..Otherwise th
5a50: 65 79 20 61 72 65 20 65 78 70 65 63 74 65 64 20  ey are expected 
5a60: 74 6f 20 63 6f 6e 74 61 69 6e 20 61 20 76 61 6c  to contain a val
5a70: 69 64 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20  id string to be 
5a80: 75 73 65 64 20 66 6f 72 20 69 64 65 6e 74 69 66  used for identif
5a90: 79 69 6e 67 20 74 68 65 20 63 6f 72 72 65 73 70  ying the corresp
5aa0: 6f 6e 64 69 6e 67 20 43 52 53 2e 3c 62 72 3e 0d  onding CRS.<br>.
5ab0: 0a 50 52 4f 4a 2e 36 20 61 63 63 65 70 74 73 20  .PROJ.6 accepts 
5ac0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 43 52  the following CR
5ad0: 53 20 73 74 72 69 6e 67 73 3a 0d 0a 3c 75 6c 3e  S strings:..<ul>
5ae0: 0d 0a 3c 6c 69 3e 74 72 61 64 69 74 69 6f 6e 61  ..<li>traditiona
5af0: 6c 20 3c 62 3e 3c 69 3e 70 72 6f 6a 2d 73 74 72  l <b><i>proj-str
5b00: 69 6e 67 73 3c 2f 69 3e 3c 2f 62 3e 20 75 73 65  ings</i></b> use
5b10: 64 20 62 79 20 61 6c 6c 20 70 72 65 76 69 6f 75  d by all previou
5b20: 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 50 52  s versions of PR
5b30: 4f 4a 2c 20 61 73 20 65 2e 67 2e 0d 0a 3c 75 6c  OJ, as e.g...<ul
5b40: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f 6a 3d  >..<li><b>+proj=
5b50: 6d 65 72 63 20 2b 61 3d 36 33 37 38 31 33 37 20  merc +a=6378137 
5b60: 2b 62 3d 36 33 37 38 31 33 37 20 2b 6c 61 74 5f  +b=6378137 +lat_
5b70: 74 73 3d 30 20 2b 6c 6f 6e 5f 30 3d 30 20 2b 78  ts=0 +lon_0=0 +x
5b80: 5f 30 3d 30 20 2b 79 5f 30 3d 30 20 2b 6b 3d 31  _0=0 +y_0=0 +k=1
5b90: 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e 61 64 67 72   +units=m +nadgr
5ba0: 69 64 73 3d 40 6e 75 6c 6c 20 2b 77 6b 74 65 78  ids=@null +wktex
5bb0: 74 20 2b 6e 6f 5f 64 65 66 73 3c 2f 62 3e 3c 2f  t +no_defs</b></
5bc0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f  li>..<li><b>+pro
5bd0: 6a 3d 75 74 6d 20 2b 7a 6f 6e 65 3d 33 32 20 2b  j=utm +zone=32 +
5be0: 73 6f 75 74 68 20 2b 65 6c 6c 70 73 3d 57 47 53  south +ellps=WGS
5bf0: 37 32 20 2b 74 6f 77 67 73 38 34 3d 30 2c 30 2c  72 +towgs84=0,0,
5c00: 34 2e 35 2c 30 2c 30 2c 30 2e 35 35 34 2c 30 2e  4.5,0,0,0.554,0.
5c10: 32 32 36 33 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e  2263 +units=m +n
5c20: 6f 5f 64 65 66 73 3c 2f 62 3e 3c 2f 6c 69 3e 0d  o_defs</b></li>.
5c30: 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f 6a 3d 75 74  .<li><b>+proj=ut
5c40: 6d 20 2b 7a 6f 6e 65 3d 33 32 20 2b 65 6c 6c 70  m +zone=32 +ellp
5c50: 73 3d 69 6e 74 6c 20 2b 74 6f 77 67 73 38 34 3d  s=intl +towgs84=
5c60: 2d 38 37 2c 2d 39 38 2c 2d 31 32 31 2c 30 2c 30  -87,-98,-121,0,0
5c70: 2c 30 2c 30 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e  ,0,0 +units=m +n
5c80: 6f 5f 64 65 66 73 3c 2f 62 3e 3c 2f 6c 69 3e 0d  o_defs</b></li>.
5c90: 0a 3c 2f 75 6c 3e 0d 0a 3c 6c 69 3e 61 6e 79 20  .</ul>..<li>any 
5ca0: 3c 62 3e 3c 69 3e 57 4b 54 20 65 78 70 72 65 73  <b><i>WKT expres
5cb0: 73 69 6f 6e 3c 2f 69 3e 3c 2f 62 3e 20 64 65 66  sion</i></b> def
5cc0: 69 6e 69 6e 67 20 61 20 43 52 53 2e 3c 2f 6c 69  ining a CRS.</li
5cd0: 3e 0d 0a 3c 6c 69 3e 61 20 3c 62 3e 3c 69 3e 43  >..<li>a <b><i>C
5ce0: 52 53 20 6e 61 6d 65 3c 2f 69 3e 3c 2f 62 3e 20  RS name</i></b> 
5cf0: 61 73 20 65 2e 67 2e 0d 0a 3c 75 6c 3e 0d 0a 3c  as e.g...<ul>..<
5d00: 6c 69 3e 3c 62 3e 57 47 53 20 38 34 3c 2f 62 3e  li><b>WGS 84</b>
5d10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 57 47  </li>..<li><b>WG
5d20: 53 20 38 34 20 2f 20 55 54 4d 20 7a 6f 6e 65 20  S 84 / UTM zone 
5d30: 33 32 4e 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  32N</b></li>..<l
5d40: 69 3e 3c 62 3e 49 47 4d 39 35 20 2f 20 55 54 4d  i><b>IGM95 / UTM
5d50: 20 7a 6f 6e 65 20 33 33 4e 3c 2f 62 3e 3c 2f 6c   zone 33N</b></l
5d60: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
5d70: 3c 6c 69 3e 61 6e 79 20 3c 62 3e 3c 69 3e 63 61  <li>any <b><i>ca
5d80: 6e 6f 6e 69 63 61 6c 20 43 52 53 20 72 65 66 65  nonical CRS refe
5d90: 72 65 6e 63 65 3c 2f 69 3e 3c 2f 62 3e 20 61 73  rence</i></b> as
5da0: 20 65 2e 67 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69   e.g...<ul>..<li
5db0: 3e 3c 62 3e 45 50 53 47 3a 34 33 32 36 3c 2f 62  ><b>EPSG:4326</b
5dc0: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 75  ></li>..<li><b>u
5dd0: 72 6e 3a 6f 67 63 3a 64 65 66 3a 63 72 73 3a 45  rn:ogc:def:crs:E
5de0: 50 53 47 3a 3a 33 30 30 33 3c 2f 62 3e 3c 2f 6c  PSG::3003</b></l
5df0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
5e00: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 6c  </ul>..<br>..<ul
5e10: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 3c 75 3e 3c 69 3e  >..<li><b><u><i>
5e20: 53 70 65 63 69 61 6c 20 63 61 73 65 3c 2f 69 3e  Special case</i>
5e30: 3c 2f 75 3e 3c 2f 62 3e 3a 20 69 66 20 3c 62 3e  </u></b>: if <b>
5e40: 70 72 6f 6a 5f 73 74 72 69 6e 67 5f 74 6f 3c 2f  proj_string_to</
5e50: 62 3e 20 69 73 20 4e 55 4c 4c 20 61 6e 64 20 3c  b> is NULL and <
5e60: 62 3e 70 72 6f 6a 5f 73 74 72 69 6e 67 5f 66 72  b>proj_string_fr
5e70: 6f 6d 3c 2f 62 3e 20 69 73 20 65 78 70 6c 69 63  om</b> is explic
5e80: 69 74 6c 79 20 73 65 74 2c 20 74 68 65 6e 20 69  itly set, then i
5e90: 74 20 77 69 6c 6c 20 62 65 20 69 6e 74 65 72 70  t will be interp
5ea0: 72 65 74 65 64 20 61 73 20 61 6e 20 75 73 65 72  reted as an user
5eb0: 20 64 65 66 69 6e 65 64 20 3c 62 3e 74 72 61 6e   defined <b>tran
5ec0: 73 66 6f 72 6d 61 74 69 6f 6e 20 73 74 72 69 6e  sformation strin
5ed0: 67 3c 2f 62 3e 20 28 70 6f 73 73 69 62 6c 79 2c  g</b> (possibly,
5ee0: 20 61 73 20 61 20 3c 62 3e 74 72 61 6e 73 66 6f   as a <b>transfo
5ef0: 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65  rmation pipeline
5f00: 3c 2f 62 3e 29 20 61 73 20 65 2e 67 2e 0d 0a 3c  </b>) as e.g...<
5f10: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f  ul>..<li><b>+pro
5f20: 6a 3d 70 69 70 65 6c 69 6e 65 3c 62 72 3e 0d 0a  j=pipeline<br>..
5f30: 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 61 78 69 73  +step +proj=axis
5f40: 73 77 61 70 20 2b 6f 72 64 65 72 3d 32 2c 31 3c  swap +order=2,1<
5f50: 62 72 3e 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f  br> ..+step +pro
5f60: 6a 3d 75 6e 69 74 63 6f 6e 76 65 72 74 20 2b 78  j=unitconvert +x
5f70: 79 5f 69 6e 3d 64 65 67 20 2b 78 79 5f 6f 75 74  y_in=deg +xy_out
5f80: 3d 72 61 64 3c 62 72 3e 0d 0a 2b 73 74 65 70 20  =rad<br>..+step 
5f90: 2b 70 72 6f 6a 3d 70 75 73 68 20 2b 76 5f 33 3c  +proj=push +v_3<
5fa0: 62 72 3e 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a  br>..+step +proj
5fb0: 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 57 47 53  =cart +ellps=WGS
5fc0: 38 34 3c 62 72 3e 20 0d 0a 2b 73 74 65 70 20 2b  84<br> ..+step +
5fd0: 69 6e 76 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72  inv +proj=helmer
5fe0: 74 20 2b 78 3d 2d 31 30 34 2e 31 20 2b 79 3d 2d  t +x=-104.1 +y=-
5ff0: 34 39 2e 31 20 2b 7a 3d 2d 39 2e 39 20 2b 72 78  49.1 +z=-9.9 +rx
6000: 3d 30 2e 39 37 31 20 2b 72 79 3d 2d 32 2e 39 31  =0.971 +ry=-2.91
6010: 37 20 2b 72 7a 3d 30 2e 37 31 34 20 2b 73 3d 2d  7 +rz=0.714 +s=-
6020: 31 31 2e 36 38 20 2b 63 6f 6e 76 65 6e 74 69 6f  11.68 +conventio
6030: 6e 3d 70 6f 73 69 74 69 6f 6e 5f 76 65 63 74 6f  n=position_vecto
6040: 72 3c 62 72 3e 0d 0a 2b 73 74 65 70 20 2b 69 6e  r<br>..+step +in
6050: 76 20 2b 70 72 6f 6a 3d 63 61 72 74 20 2b 65 6c  v +proj=cart +el
6060: 6c 70 73 3d 69 6e 74 6c 3c 62 72 3e 0d 0a 2b 73  lps=intl<br>..+s
6070: 74 65 70 20 2b 70 72 6f 6a 3d 70 6f 70 20 2b 76  tep +proj=pop +v
6080: 5f 33 3c 62 72 3e 20 0d 0a 2b 73 74 65 70 20 2b  _3<br> ..+step +
6090: 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74 5f  proj=tmerc +lat_
60a0: 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b 3d  0=0 +lon_0=9 +k=
60b0: 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30 30  0.9996 +x_0=1500
60c0: 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 6c 70  000 +y_0=0 +ellp
60d0: 73 3d 69 6e 74 6c 3c 2f 62 3e 3c 2f 6c 69 3e 0d  s=intl</b></li>.
60e0: 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</ul>..</ul>..<
60f0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c  /td></tr>..<tr><
6100: 74 64 20 63 6f 6c 73 70 61 6e 3d 22 33 22 3e 0d  td colspan="3">.
6110: 0a 3c 68 33 3e 4e 6f 74 65 73 3c 2f 68 33 3e 0d  .<h3>Notes</h3>.
6120: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 70 61 74 69  .<ul>..<li>Spati
6130: 61 4c 69 74 65 20 64 6f 65 73 20 6e 6f 74 20 63  aLite does not c
6140: 6f 6e 73 74 72 61 69 6e 20 79 6f 75 20 69 6e 20  onstrain you in 
6150: 61 6e 79 20 77 61 79 20 62 79 20 6d 61 6b 69 6e  any way by makin
6160: 67 20 61 6e 79 20 3c 69 3e 6d 61 67 69 63 61 6c  g any <i>magical
6170: 20 61 73 73 75 6d 70 74 69 6f 6e 73 3c 2f 69 3e   assumptions</i>
6180: 20 61 6e 64 20 61 6c 6c 6f 77 73 20 74 68 65 20   and allows the 
6190: 75 73 65 72 73 20 74 68 65 20 66 72 65 65 64 6f  users the freedo
61a0: 6d 20 74 6f 20 63 6f 6e 74 72 75 63 74 20 61 6e  m to contruct an
61b0: 79 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 73 75  y combination su
61c0: 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a 2e  pported by PROJ.
61d0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20  ..<ul>..<li>The 
61e0: 6e 65 77 20 3c 62 3e 3c 69 3e 65 78 74 65 6e 64  new <b><i>extend
61f0: 65 64 20 73 69 67 6e 61 74 75 72 65 73 3c 2f 69  ed signatures</i
6200: 3e 3c 2f 62 3e 20 73 75 70 70 6f 72 74 65 64 20  ></b> supported 
6210: 62 79 20 3c 62 3e 53 54 5f 54 72 61 6e 73 66 6f  by <b>ST_Transfo
6220: 72 6d 3c 2f 62 3e 20 63 6c 6f 73 65 6c 79 20 6d  rm</b> closely m
6230: 69 6d 69 63 20 74 68 65 20 6d 6f 73 74 20 72 65  imic the most re
6240: 63 65 6e 74 20 50 52 4f 4a 2e 36 20 41 50 49 2c  cent PROJ.6 API,
6250: 20 73 6f 20 79 6f 75 20 61 72 65 20 66 72 65 65   so you are free
6260: 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20   to define your 
6270: 63 6f 6f 72 64 69 6e 61 74 65 73 20 74 72 61 6e  coordinates tran
6280: 73 66 6f 72 6d 61 74 69 6f 6e 73 20 69 6e 20 73  sformations in s
6290: 65 76 65 72 61 6c 20 64 69 66 66 65 72 65 6e 74  everal different
62a0: 20 77 61 79 73 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c   ways.</li> ..<l
62b0: 69 3e 54 68 65 20 64 65 66 61 75 6c 74 20 62 65  i>The default be
62c0: 68 61 76 69 6f 72 20 6f 66 20 53 70 61 74 69 61  havior of Spatia
62d0: 4c 69 74 65 20 77 68 65 6e 20 75 73 69 6e 67 20  Lite when using 
62e0: 50 52 4f 4a 2e 36 20 69 73 20 74 6f 20 63 6f 6d  PROJ.6 is to com
62f0: 70 6c 65 74 65 6c 79 20 69 67 6e 6f 72 65 20 74  pletely ignore t
6300: 68 65 20 43 52 53 20 64 65 66 69 6e 69 74 69 6f  he CRS definitio
6310: 6e 73 20 73 74 6f 72 65 64 20 77 69 74 68 69 6e  ns stored within
6320: 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 74 61   the internal ta
6330: 62 6c 65 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72  ble <b>spatial_r
6340: 65 66 5f 73 79 73 3c 2f 62 3e 3c 62 72 3e 0d 0a  ef_sys</b><br>..
6350: 41 6e 79 20 72 65 71 75 69 72 65 64 20 43 52 53  Any required CRS
6360: 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 6c 6c   definition will
6370: 20 62 65 20 61 6c 77 61 79 73 20 72 65 74 72 69   be always retri
6380: 65 76 65 64 20 66 72 6f 6d 20 50 52 4f 4a 2e 36  eved from PROJ.6
6390: 20 69 74 73 65 6c 66 20 74 68 61 74 20 77 69 6c   itself that wil
63a0: 6c 20 73 69 6d 70 6c 79 20 72 65 63 65 69 76 65  l simply receive
63b0: 20 61 20 72 65 71 75 65 73 74 20 69 6e 20 74 68   a request in th
63c0: 65 20 66 6f 72 6d 20 3c 62 3e 3c 69 3e 66 72 6f  e form <b><i>fro
63d0: 6d 20 45 50 53 47 3a 33 32 36 33 32 20 74 6f 20  m EPSG:32632 to 
63e0: 45 50 53 47 3a 33 30 30 33 3c 2f 69 3e 3c 2f 62  EPSG:3003</i></b
63f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 2c  >.</li>..<li>If,
6400: 20 66 6f 72 20 77 68 61 74 65 76 65 72 20 72 65   for whatever re
6410: 61 73 6f 6e 2c 20 20 79 6f 75 20 61 72 65 20 66  ason,  you are f
6420: 72 65 65 20 74 6f 20 75 73 65 20 61 6e 79 20 6b  ree to use any k
6430: 69 6e 64 20 6f 66 20 70 72 6f 6a 2d 73 74 72 69  ind of proj-stri
6440: 6e 67 73 2c 20 57 4b 54 20 64 65 66 69 6e 69 74  ngs, WKT definit
6450: 69 6f 6e 73 20 6f 72 20 43 52 53 20 6e 61 6d 65  ions or CRS name
6460: 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 50  s supported by P
6470: 52 4f 4a 2e 36 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  ROJ.6</b>.<br>..
6480: 42 75 74 20 64 6f 20 6e 6f 74 20 62 65 20 73 75  But do not be su
6490: 70 72 69 73 65 64 20 69 66 20 74 68 65 20 72 65  prised if the re
64a0: 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 3c 62 3e  sult of your <b>
64b0: 3c 69 3e 63 72 65 61 74 69 76 65 3c 2f 69 3e 3c  <i>creative</i><
64c0: 2f 62 3e 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e  /b> construction
64d0: 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65   results in an e
64e0: 78 63 65 70 74 69 6f 6e 20 74 68 61 74 20 63 6f  xception that co
64f0: 6e 74 61 69 6e 73 20 74 68 65 20 74 65 78 74 3a  ntains the text:
6500: 20 3c 62 3e 27 50 52 4f 4a 20 72 65 70 6f 72 74   <b>'PROJ report
6510: 73 27 3c 2f 62 3e 20 21 21 21 3c 62 72 3e 0d 0a  s'</b> !!!<br>..
6520: 43 61 72 65 20 6d 75 73 74 20 62 65 20 74 61 6b  Care must be tak
6530: 65 6e 20 74 6f 20 61 6e 61 6c 79 73 65 20 74 68  en to analyse th
6540: 65 20 72 65 70 6f 72 74 65 64 20 50 52 4f 4a 20  e reported PROJ 
6550: 65 72 72 6f 72 20 69 6e 20 73 75 63 68 20 61 20  error in such a 
6560: 77 61 79 20 61 73 20 74 6f 20 72 65 73 6f 6c 76  way as to resolv
6570: 65 20 74 68 65 20 50 52 4f 4a 20 65 72 72 6f 72  e the PROJ error
6580: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
6590: 69 3e 0d 0a 3c 6c 69 3e 53 70 61 74 69 61 4c 69  i>..<li>SpatiaLi
65a0: 74 65 20 65 6e 63 6f 75 72 61 67 65 73 20 61 6e  te encourages an
65b0: 64 20 70 72 6f 6d 6f 74 65 73 20 74 68 65 20 6d  d promotes the m
65c0: 6f 73 74 20 63 72 65 61 74 69 76 65 20 75 73 65  ost creative use
65d0: 20 6f 66 20 50 52 4f 4a 2e 36 2c 20 74 68 69 73   of PROJ.6, this
65e0: 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 75   including the u
65f0: 73 65 20 6f 66 20 79 6f 75 72 20 6f 77 6e 20 63  se of your own c
6600: 75 73 74 6f 6d 69 7a 65 64 20 3c 62 3e 74 72 61  ustomized <b>tra
6610: 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65  nsformation pipe
6620: 6c 69 6e 65 73 2e 3c 2f 62 3e 2e 3c 62 72 3e 0d  lines.</b>.<br>.
6630: 0a 43 6f 72 72 65 63 74 6c 79 20 75 73 69 6e 67  .Correctly using
6640: 20 63 75 73 74 6f 6d 20 74 72 61 6e 73 66 6f 72   custom transfor
6650: 6d 61 74 69 6f 6e 73 20 69 73 6e 27 74 20 6e 65  mations isn't ne
6660: 63 65 73 73 61 72 69 6c 79 20 73 69 6d 70 6c 65  cessarily simple
6670: 20 61 6e 64 20 65 61 73 79 2c 20 20 62 75 74 20   and easy,  but 
6680: 6f 66 66 65 72 73 20 67 72 65 61 74 20 6f 70 70  offers great opp
6690: 6f 72 74 75 6e 69 74 69 65 73 20 66 6f 72 20 61  ortunities for a
66a0: 6c 6c 20 73 6b 69 6c 6c 65 64 20 61 6e 64 20 74  ll skilled and t
66b0: 61 6c 65 6e 74 65 64 20 70 6f 77 65 72 20 75 73  alented power us
66c0: 65 72 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ers.</li>..</ul>
66d0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
66e0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62  /tr>..</table><b
66f0: 72 3e 0d 0a 41 20 66 65 77 20 70 72 61 63 74 69  r>..A few practi
6700: 63 61 6c 20 53 51 4c 20 65 78 61 6d 70 6c 65 73  cal SQL examples
6710: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 2d  :..<verbatim>..-
6720: 2d 20 66 72 6f 6d 20 45 50 53 47 3a 34 33 32 36  - from EPSG:4326
6730: 20 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d 20   to EPSG:3003 - 
6740: 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73  default settings
6750: 3b 20 69 67 6e 6f 72 69 6e 67 20 73 70 61 74 69  ; ignoring spati
6760: 61 6c 69 74 65 5f 72 65 66 5f 73 79 73 20 61 6e  alite_ref_sys an
6770: 64 20 72 65 6c 79 69 6e 67 20 6f 6e 20 50 52 4f  d relying on PRO
6780: 4a 2e 36 20 6f 77 6e 20 70 72 69 76 61 74 65 20  J.6 own private 
6790: 64 61 74 61 62 61 73 65 0d 0a 53 45 4c 45 43 54  database..SELECT
67a0: 20 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61   AsEWKT ( ST_Tra
67b0: 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e  nsform( MakePoin
67c0: 74 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34  t( 11.878056 , 4
67d0: 33 2e 34 36 33 30 35 36 20 2c 20 34 33 32 36 20  3.463056 , 4326 
67e0: 29 20 2c 20 33 30 30 33 20 29 29 3b 0d 0a 2d 2d  ) , 3003 ));..--
67f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6800: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6810: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50  ---..SRID=3003;P
6820: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32  OINT(1732852.942
6830: 37 31 36 37 36 39 20 34 38 31 36 32 37 37 2e 36  716769 4816277.6
6840: 31 37 36 39 30 36 37 34 29 0d 0a 0d 0a 0d 0a 2d  17690674)......-
6850: 2d 20 66 72 6f 6d 20 45 50 53 47 3a 34 33 32 36  - from EPSG:4326
6860: 20 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d 20   to EPSG:3003 - 
6870: 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65  exactly the same
6880: 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 74   as above, but t
6890: 68 69 73 20 74 69 6d 65 20 69 6e 20 61 6e 20 65  his time in an e
68a0: 78 70 6c 69 63 69 74 20 66 6f 72 6d 0d 0a 53 45  xplicit form..SE
68b0: 4c 45 43 54 20 41 73 45 57 4b 54 20 28 20 53 54  LECT AsEWKT ( ST
68c0: 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65  _Transform( Make
68d0: 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36  Point( 11.878056
68e0: 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33   , 43.463056, 43
68f0: 32 36 20 29 20 2c 20 33 30 30 33 2c 20 4e 55 4c  26 ) , 3003, NUL
6900: 4c 2c 20 27 45 50 53 47 3a 34 33 32 36 27 2c 20  L, 'EPSG:4326', 
6910: 27 45 50 53 47 3a 33 30 30 33 27 29 29 3b 0d 0a  'EPSG:3003'));..
6920: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6930: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6940: 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33  -----..SRID=3003
6950: 3b 50 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39  ;POINT(1732852.9
6960: 34 32 37 31 36 37 36 39 20 34 38 31 36 32 37 37  42716769 4816277
6970: 2e 36 31 37 36 39 30 36 37 34 29 0d 0a 0d 0a 0d  .617690674).....
6980: 0a 2d 2d 20 66 72 6f 6d 20 45 50 53 47 3a 34 33  .-- from EPSG:43
6990: 32 36 20 74 6f 20 45 50 53 47 3a 33 30 30 33 20  26 to EPSG:3003 
69a0: 2d 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2c  - same as above,
69b0: 20 75 73 69 6e 67 20 74 68 65 20 61 6c 74 65 72   using the alter
69c0: 6e 61 74 69 76 65 20 6e 6f 74 61 74 69 6f 6e 0d  native notation.
69d0: 0a 53 45 4c 45 43 54 20 41 73 45 57 4b 54 20 28  .SELECT AsEWKT (
69e0: 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d   ST_Transform( M
69f0: 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38  akePoint( 11.878
6a00: 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c  056 , 43.463056,
6a10: 20 34 33 32 36 20 29 20 2c 20 33 30 30 33 2c 20   4326 ) , 3003, 
6a20: 4e 55 4c 4c 2c 20 27 75 72 6e 3a 6f 67 63 3a 64  NULL, 'urn:ogc:d
6a30: 65 66 3a 63 72 73 3a 45 50 53 47 3a 3a 34 33 32  ef:crs:EPSG::432
6a40: 36 27 2c 20 27 75 72 6e 3a 6f 67 63 3a 64 65 66  6', 'urn:ogc:def
6a50: 3a 63 72 73 3a 45 50 53 47 3a 3a 33 30 30 33 27  :crs:EPSG::3003'
6a60: 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ));..-----------
6a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44  ----------..SRID
6a90: 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31 37 33 32  =3003;POINT(1732
6aa0: 38 35 32 2e 39 34 32 37 31 36 37 36 39 20 34 38  852.942716769 48
6ab0: 31 36 32 37 37 2e 36 31 37 36 39 30 36 37 34 29  16277.617690674)
6ac0: 0d 0a 0d 0a 0d 0a 2d 2d 20 66 72 6f 6d 20 45 50  ......-- from EP
6ad0: 53 47 3a 34 33 32 36 20 74 6f 20 45 50 53 47 3a  SG:4326 to EPSG:
6ae0: 33 30 30 33 20 2d 20 65 78 70 6c 69 63 69 74 6c  3003 - explicitl
6af0: 79 20 70 61 73 73 69 6e 67 20 43 52 53 20 6e 61  y passing CRS na
6b00: 6d 65 73 0d 0a 53 45 4c 45 43 54 20 41 73 45 57  mes..SELECT AsEW
6b10: 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72  KT ( ST_Transfor
6b20: 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31  m( MakePoint( 11
6b30: 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33  .878056 , 43.463
6b40: 30 35 36 2c 20 34 33 32 36 20 29 20 2c 20 33 30  056, 4326 ) , 30
6b50: 30 33 2c 20 4e 55 4c 4c 2c 20 27 57 47 53 20 38  03, NULL, 'WGS 8
6b60: 34 27 2c 20 27 4d 6f 6e 74 65 20 4d 61 72 69 6f  4', 'Monte Mario
6b70: 20 2f 20 49 74 61 6c 79 20 7a 6f 6e 65 20 31 27   / Italy zone 1'
6b80: 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ));..-----------
6b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6ba0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44  ----------..SRID
6bb0: 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31 37 33 32  =3003;POINT(1732
6bc0: 38 35 32 2e 39 34 32 37 31 36 37 36 39 20 34 38  852.942716769 48
6bd0: 31 36 32 37 37 2e 36 31 37 36 39 30 36 37 34 29  16277.617690674)
6be0: 0d 0a 0d 0a 0d 0a 2d 2d 20 66 72 6f 6d 20 45 50  ......-- from EP
6bf0: 53 47 3a 34 33 32 36 20 74 6f 20 45 50 53 47 3a  SG:4326 to EPSG:
6c00: 33 30 30 33 20 2d 20 73 69 6d 75 6c 61 74 69 6e  3003 - simulatin
6c10: 67 20 74 68 65 20 63 6c 61 73 73 69 63 20 50 52  g the classic PR
6c20: 4f 4a 2e 34 20 61 70 70 72 6f 61 63 68 20 62 61  OJ.4 approach ba
6c30: 73 65 64 20 6f 6e 20 70 72 6f 6a 2d 73 74 72 69  sed on proj-stri
6c40: 6e 67 73 20 73 74 6f 72 65 64 20 69 6e 74 6f 20  ngs stored into 
6c50: 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 0d  spatial_ref_sys.
6c60: 0a 53 45 4c 45 43 54 20 41 73 45 57 4b 54 20 28  .SELECT AsEWKT (
6c70: 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d   ST_Transform( M
6c80: 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38  akePoint( 11.878
6c90: 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c  056 , 43.463056,
6ca0: 20 34 33 32 36 20 29 20 2c 20 33 30 30 33 20 2c   4326 ) , 3003 ,
6cb0: 20 4e 55 4c 4c 20 2c 20 0d 0a 20 20 28 53 45 4c   NULL , ..  (SEL
6cc0: 45 43 54 20 70 72 6f 6a 34 74 65 78 74 20 46 52  ECT proj4text FR
6cd0: 4f 4d 20 73 70 61 74 69 61 6c 5f 72 65 66 5f 73  OM spatial_ref_s
6ce0: 79 73 20 57 48 45 52 45 20 73 72 69 64 20 3d 20  ys WHERE srid = 
6cf0: 34 33 32 36 29 2c 0d 0a 20 20 28 53 45 4c 45 43  4326),..  (SELEC
6d00: 54 20 70 72 6f 6a 34 74 65 78 74 20 46 52 4f 4d  T proj4text FROM
6d10: 20 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73   spatial_ref_sys
6d20: 20 57 48 45 52 45 20 73 72 69 64 20 3d 20 33 30   WHERE srid = 30
6d30: 30 33 29 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  03)));..--------
6d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6d50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53  -------------..S
6d60: 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31  RID=3003;POINT(1
6d70: 37 33 32 38 35 32 2e 39 34 32 37 31 36 37 36 39  732852.942716769
6d80: 20 34 38 31 36 32 37 37 2e 36 31 37 36 39 30 36   4816277.6176906
6d90: 37 34 29 0d 0a 0d 0a 0d 0a 2d 2d 20 66 72 6f 6d  74)......-- from
6da0: 20 45 50 53 47 3a 34 33 32 36 20 74 6f 20 45 50   EPSG:4326 to EP
6db0: 53 47 3a 33 30 30 33 20 2d 20 66 61 6e 63 79 20  SG:3003 - fancy 
6dc0: 6d 6f 64 65 20 62 61 73 65 64 20 6f 6e 20 57 4b  mode based on WK
6dd0: 54 20 65 78 70 72 65 73 73 69 6f 6e 73 20 73 74  T expressions st
6de0: 6f 72 65 64 20 69 6e 74 6f 20 73 70 61 74 69 61  ored into spatia
6df0: 6c 5f 72 65 66 5f 73 79 73 0d 0a 53 45 4c 45 43  l_ref_sys..SELEC
6e00: 54 20 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72  T AsEWKT ( ST_Tr
6e10: 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69  ansform( MakePoi
6e20: 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20  nt( 11.878056 , 
6e30: 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20  43.463056, 4326 
6e40: 29 20 2c 20 33 30 30 33 2c 20 4e 55 4c 4c 2c 20  ) , 3003, NULL, 
6e50: 0d 0a 20 20 28 53 45 4c 45 43 54 20 73 72 74 65  ..  (SELECT srte
6e60: 78 74 20 46 52 4f 4d 20 73 70 61 74 69 61 6c 5f  xt FROM spatial_
6e70: 72 65 66 5f 73 79 73 20 57 48 45 52 45 20 73 72  ref_sys WHERE sr
6e80: 69 64 20 3d 20 34 33 32 36 29 2c 0d 0a 20 20 28  id = 4326),..  (
6e90: 53 45 4c 45 43 54 20 73 72 74 65 78 74 20 46 52  SELECT srtext FR
6ea0: 4f 4d 20 73 70 61 74 69 61 6c 5f 72 65 66 5f 73  OM spatial_ref_s
6eb0: 79 73 20 57 48 45 52 45 20 73 72 69 64 20 3d 20  ys WHERE srid = 
6ec0: 33 30 30 33 29 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d  3003)));..------
6ed0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6ee0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
6ef0: 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54  .SRID=3003;POINT
6f00: 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 37  (1732852.9427167
6f10: 36 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 39  69 4816277.61769
6f20: 30 36 37 34 29 0d 0a 3c 2f 76 65 72 62 61 74 69  0674)..</verbati
6f30: 6d 3e 0d 0a 54 68 69 73 20 66 69 72 73 74 20 74  m>..This first t
6f40: 65 73 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20  est is based on 
6f50: 61 20 6e 65 77 20 53 70 61 74 69 61 4c 69 74 65  a new SpatiaLite
6f60: 20 64 61 74 61 62 61 73 65 20 63 72 65 61 74 65   database create
6f70: 64 20 77 69 74 68 20 66 75 6c 6c 20 50 52 4f 4a  d with full PROJ
6f80: 2e 36 20 73 75 70 70 6f 72 74 2e 20 4e 6f 74 68  .6 support. Noth
6f90: 69 6e 67 20 73 70 65 63 69 61 6c 20 68 65 72 65  ing special here
6fa0: 20 6f 74 68 65 72 20 74 68 61 74 20 61 6c 6c 20   other that all 
6fb0: 6d 65 74 68 6f 64 73 20 72 65 74 75 72 6e 20 74  methods return t
6fc0: 68 65 20 73 61 6d 65 20 72 65 73 75 6c 74 73 2e  he same results.
6fd0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  <br><br>..<verba
6fe0: 74 69 6d 3e 0d 0a 2d 2d 20 66 72 6f 6d 20 45 50  tim>..-- from EP
6ff0: 53 47 3a 34 33 32 36 20 74 6f 20 45 50 53 47 3a  SG:4326 to EPSG:
7000: 33 30 30 33 20 2d 20 75 73 69 6e 67 20 61 20 74  3003 - using a t
7010: 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69  ransformation pi
7020: 70 65 6c 69 6e 65 0d 0a 53 45 4c 45 43 54 20 41  peline..SELECT A
7030: 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73  sEWKT ( ST_Trans
7040: 66 6f 72 6d 28 20 53 77 61 70 43 6f 6f 72 64 73  form( SwapCoords
7050: 20 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31   ( MakePoint( 11
7060: 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33  .878056 , 43.463
7070: 30 35 36 2c 20 34 33 32 36 20 29 20 29 20 2c 20  056, 4326 ) ) , 
7080: 33 30 30 33 20 2c 20 4e 55 4c 4c 20 2c 0d 0a 27  3003 , NULL ,..'
7090: 2b 70 72 6f 6a 3d 70 69 70 65 6c 69 6e 65 20 0d  +proj=pipeline .
70a0: 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 61 78 69  .+step +proj=axi
70b0: 73 73 77 61 70 20 2b 6f 72 64 65 72 3d 32 2c 31  sswap +order=2,1
70c0: 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 75   ..+step +proj=u
70d0: 6e 69 74 63 6f 6e 76 65 72 74 20 2b 78 79 5f 69  nitconvert +xy_i
70e0: 6e 3d 64 65 67 20 2b 78 79 5f 6f 75 74 3d 72 61  n=deg +xy_out=ra
70f0: 64 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d  d ..+step +proj=
7100: 70 75 73 68 20 2b 76 5f 33 20 0d 0a 2b 73 74 65  push +v_3 ..+ste
7110: 70 20 2b 70 72 6f 6a 3d 63 61 72 74 20 2b 65 6c  p +proj=cart +el
7120: 6c 70 73 3d 57 47 53 38 34 20 0d 0a 2b 73 74 65  lps=WGS84 ..+ste
7130: 70 20 2b 69 6e 76 20 2b 70 72 6f 6a 3d 68 65 6c  p +inv +proj=hel
7140: 6d 65 72 74 20 2b 78 3d 2d 31 30 34 2e 31 20 2b  mert +x=-104.1 +
7150: 79 3d 2d 34 39 2e 31 20 2b 7a 3d 2d 39 2e 39 20  y=-49.1 +z=-9.9 
7160: 2b 72 78 3d 30 2e 39 37 31 20 2b 72 79 3d 2d 32  +rx=0.971 +ry=-2
7170: 2e 39 31 37 20 2b 72 7a 3d 30 2e 37 31 34 20 2b  .917 +rz=0.714 +
7180: 73 3d 2d 31 31 2e 36 38 20 2b 63 6f 6e 76 65 6e  s=-11.68 +conven
7190: 74 69 6f 6e 3d 70 6f 73 69 74 69 6f 6e 5f 76 65  tion=position_ve
71a0: 63 74 6f 72 20 0d 0a 2b 73 74 65 70 20 2b 69 6e  ctor ..+step +in
71b0: 76 20 2b 70 72 6f 6a 3d 63 61 72 74 20 2b 65 6c  v +proj=cart +el
71c0: 6c 70 73 3d 69 6e 74 6c 20 0d 0a 2b 73 74 65 70  lps=intl ..+step
71d0: 20 2b 70 72 6f 6a 3d 70 6f 70 20 2b 76 5f 33 20   +proj=pop +v_3 
71e0: 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 74 6d  ..+step +proj=tm
71f0: 65 72 63 20 2b 6c 61 74 5f 30 3d 30 20 2b 6c 6f  erc +lat_0=0 +lo
7200: 6e 5f 30 3d 39 20 2b 6b 3d 30 2e 39 39 39 36 20  n_0=9 +k=0.9996 
7210: 2b 78 5f 30 3d 31 35 30 30 30 30 30 20 2b 79 5f  +x_0=1500000 +y_
7220: 30 3d 30 20 2b 65 6c 6c 70 73 3d 69 6e 74 6c 27  0=0 +ellps=intl'
7230: 20 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ));..----------
7240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49  -----------..SRI
7260: 44 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31 37 33  D=3003;POINT(173
7270: 32 38 35 32 2e 39 34 32 37 31 36 37 36 39 20 34  2852.942716769 4
7280: 38 31 36 32 37 37 2e 36 31 37 36 39 30 36 37 34  816277.617690674
7290: 29 0d 0a 0d 0a 0d 0a 2d 2d 20 66 72 6f 6d 20 45  )......-- from E
72a0: 50 53 47 3a 34 33 32 36 20 74 6f 20 45 50 53 47  PSG:4326 to EPSG
72b0: 3a 33 30 30 33 20 2d 20 75 73 69 6e 67 20 61 20  :3003 - using a 
72c0: 63 75 73 74 6f 6d 69 7a 65 64 20 74 72 61 6e 73  customized trans
72d0: 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69  formation pipeli
72e0: 6e 65 0d 0a 53 45 4c 45 43 54 20 41 73 45 57 4b  ne..SELECT AsEWK
72f0: 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d  T ( ST_Transform
7300: 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e  ( MakePoint( 11.
7310: 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30  878056 , 43.4630
7320: 35 36 2c 20 34 33 32 36 20 29 20 2c 20 33 30 30  56, 4326 ) , 300
7330: 33 20 2c 20 4e 55 4c 4c 20 2c 0d 0a 27 2b 70 72  3 , NULL ,..'+pr
7340: 6f 6a 3d 70 69 70 65 6c 69 6e 65 20 20 0d 0a 2b  oj=pipeline  ..+
7350: 73 74 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 63  step +proj=unitc
7360: 6f 6e 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 65  onvert +xy_in=de
7370: 67 20 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d 0a  g +xy_out=rad ..
7380: 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 70 75 73 68  +step +proj=push
7390: 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 20 2b 70   +v_3 ..+step +p
73a0: 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d  roj=cart +ellps=
73b0: 57 47 53 38 34 20 0d 0a 2b 73 74 65 70 20 2b 69  WGS84 ..+step +i
73c0: 6e 76 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72 74  nv +proj=helmert
73d0: 20 2b 78 3d 2d 31 30 34 2e 31 20 2b 79 3d 2d 34   +x=-104.1 +y=-4
73e0: 39 2e 31 20 2b 7a 3d 2d 39 2e 39 20 2b 72 78 3d  9.1 +z=-9.9 +rx=
73f0: 30 2e 39 37 31 20 2b 72 79 3d 2d 32 2e 39 31 37  0.971 +ry=-2.917
7400: 20 2b 72 7a 3d 30 2e 37 31 34 20 2b 73 3d 2d 31   +rz=0.714 +s=-1
7410: 31 2e 36 38 20 2b 63 6f 6e 76 65 6e 74 69 6f 6e  1.68 +convention
7420: 3d 70 6f 73 69 74 69 6f 6e 5f 76 65 63 74 6f 72  =position_vector
7430: 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b 70   ..+step +inv +p
7440: 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d  roj=cart +ellps=
7450: 69 6e 74 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 72  intl ..+step +pr
7460: 6f 6a 3d 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73  oj=pop +v_3 ..+s
7470: 74 65 70 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 20  tep +proj=tmerc 
7480: 2b 6c 61 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d  +lat_0=0 +lon_0=
7490: 39 20 2b 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30  9 +k=0.9996 +x_0
74a0: 3d 31 35 30 30 30 30 30 20 2b 79 5f 30 3d 30 20  =1500000 +y_0=0 
74b0: 2b 65 6c 6c 70 73 3d 69 6e 74 6c 27 20 29 29 3b  +ellps=intl' ));
74c0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
74d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
74e0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30  -------..SRID=30
74f0: 30 33 3b 50 4f 49 4e 54 28 31 37 33 32 38 35 32  03;POINT(1732852
7500: 2e 39 34 32 37 31 36 37 36 39 20 34 38 31 36 32  .942716769 48162
7510: 37 37 2e 36 31 37 36 39 30 36 37 34 29 0d 0a 3c  77.617690674)..<
7520: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73  /verbatim>..This
7530: 20 73 65 63 6f 6e 64 20 74 65 73 74 20 69 73 20   second test is 
7540: 62 61 73 65 64 20 6f 6e 20 75 73 69 6e 67 20 3c  based on using <
7550: 62 3e 3c 69 3e 74 72 61 6e 73 66 6f 72 6d 61 74  b><i>transformat
7560: 69 6f 6e 20 70 69 70 65 6c 69 6e 65 73 3c 2f 69  ion pipelines</i
7570: 3e 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ></b>:..<ul>..<l
7580: 69 3e 74 68 65 20 66 69 72 73 74 20 71 75 65 72  i>the first quer
7590: 79 20 64 69 72 65 63 74 6c 79 20 75 73 65 73 20  y directly uses 
75a0: 61 20 63 61 6e 6f 6e 69 63 61 6c 20 73 74 72 69  a canonical stri
75b0: 6e 67 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20  ng representing 
75c0: 74 68 65 20 70 69 70 65 6c 69 6e 65 20 61 73 20  the pipeline as 
75d0: 72 65 74 75 72 6e 69 6e 67 20 62 79 20 74 68 69  returning by thi
75e0: 73 20 63 6f 6d 6d 61 6e 64 20 65 78 65 63 75 74  s command execut
75f0: 65 64 20 66 72 6f 6d 20 74 68 65 20 73 68 65 6c  ed from the shel
7600: 6c 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  l:..<verbatim>..
7610: 70 72 6f 6a 69 6e 66 6f 20 20 2d 73 20 45 50 53  projinfo  -s EPS
7620: 47 3a 34 33 32 36 20 2d 74 20 45 50 53 47 3a 33  G:4326 -t EPSG:3
7630: 30 30 33 20 2d 2d 61 72 65 61 20 20 22 49 74 61  003 --area  "Ita
7640: 6c 79 20 2d 20 6d 61 69 6e 6c 61 6e 64 22 20 2d  ly - mainland" -
7650: 6f 20 70 72 6f 6a 0d 0a 3c 2f 76 65 72 62 61 74  o proj..</verbat
7660: 69 6d 3e 0d 0a 28 77 65 27 6c 6c 20 73 65 65 20  im>..(we'll see 
7670: 74 68 69 73 20 74 6f 70 69 63 20 69 6e 20 6d 6f  this topic in mo
7680: 72 65 20 64 65 70 74 68 20 6f 6e 20 74 68 65 20  re depth on the 
7690: 6e 65 78 74 20 73 65 63 74 69 6f 6e 29 2e 3c 2f  next section).</
76a0: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 73 65 63  li>..<li>the sec
76b0: 6f 6e 64 20 71 75 65 72 79 20 69 73 20 6a 75 73  ond query is jus
76c0: 74 20 61 20 73 6d 61 6c 6c 20 61 64 61 70 74 61  t a small adapta
76d0: 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73  tion of the firs
76e0: 74 20 6f 6e 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  t one:..<ul>..<l
76f0: 69 3e 41 73 20 79 6f 75 20 63 61 6e 20 6e 6f 74  i>As you can not
7700: 69 63 65 20 74 68 65 20 66 69 72 73 74 20 71 75  ice the first qu
7710: 65 72 79 20 72 65 71 75 69 72 65 73 20 63 61 6c  ery requires cal
7720: 6c 69 6e 67 20 3c 62 3e 53 77 61 70 43 6f 6f 64  ling <b>SwapCood
7730: 69 6e 61 74 65 73 28 29 3c 2f 62 3e 20 62 65 63  inates()</b> bec
7740: 61 75 73 65 20 74 68 65 20 66 69 72 73 74 20 73  ause the first s
7750: 74 65 70 20 6f 66 20 74 68 65 20 70 69 70 65 6c  tep of the pipel
7760: 69 6e 65 20 68 61 73 20 61 6e 20 3c 62 3e 61 78  ine has an <b>ax
7770: 69 73 73 77 61 70 3c 2f 62 3e 20 64 69 72 65 63  isswap</b> direc
7780: 74 69 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tive.</li>..<li>
7790: 54 68 65 20 73 65 63 6f 6e 64 20 71 75 65 72 79  The second query
77a0: 20 6a 75 73 74 20 61 76 6f 69 64 73 20 74 6f 20   just avoids to 
77b0: 63 61 6c 6c 20 3c 62 3e 53 77 61 70 43 6f 6f 72  call <b>SwapCoor
77c0: 64 73 28 29 3c 2f 62 3e 20 61 6e 64 20 63 6f 6e  ds()</b> and con
77d0: 73 65 71 75 65 6e 74 6c 79 20 74 68 69 73 20 66  sequently this f
77e0: 69 72 73 74 20 73 74 65 70 20 68 61 73 20 62 65  irst step has be
77f0: 65 6e 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20  en removed from 
7800: 74 68 65 20 70 69 70 65 6c 69 6e 65 20 73 6f 20  the pipeline so 
7810: 74 6f 20 67 65 74 20 74 68 65 20 73 61 6d 65 20  to get the same 
7820: 69 64 65 6e 74 69 63 61 6c 20 6f 76 65 72 61 6c  identical overal
7830: 6c 20 65 66 66 65 63 74 2e 3c 2f 6c 69 3e 0d 0a  l effect.</li>..
7840: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
7850: 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f  <b><u>Note</u></
7860: 62 3e 3a 20 53 70 61 74 69 61 4c 69 74 65 20 61  b>: SpatiaLite a
7870: 6e 64 20 50 52 4f 4a 2e 36 20 77 69 6c 6c 20 61  nd PROJ.6 will a
7880: 6c 77 61 79 73 20 61 74 74 65 6d 70 74 20 74 6f  lways attempt to
7890: 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 73 77   determine if sw
78a0: 61 70 70 69 6e 67 20 74 68 65 20 63 6f 6f 72 64  apping the coord
78b0: 69 6e 61 74 65 73 20 69 73 20 72 65 71 75 69 72  inates is requir
78c0: 65 64 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a  ed or not.<br>..
78d0: 42 75 74 20 69 6e 20 74 68 65 20 73 70 65 63 69  But in the speci
78e0: 66 69 63 20 63 61 73 65 20 6f 66 20 74 72 61 6e  fic case of tran
78f0: 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c  sformation pipel
7900: 69 6e 65 73 20 74 68 65 20 75 73 65 72 20 69 73  ines the user is
7910: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 70   expected to exp
7920: 6c 69 63 69 74 6c 79 20 63 61 6c 6c 20 3c 62 3e  licitly call <b>
7930: 53 77 61 70 43 6f 6f 72 64 73 28 29 3c 2f 62 3e  SwapCoords()</b>
7940: 20 77 68 65 6e 65 76 65 72 20 72 65 71 75 69 72   whenever requir
7950: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ed.</li>..</ul><
7960: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c  br>..<table cell
7970: 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c  spacing="8" cell
7980: 70 61 64 64 69 6e 67 3d 22 31 36 22 20 62 67 63  padding="16" bgc
7990: 6f 6c 6f 72 3d 22 23 63 39 66 66 66 30 22 3e 0d  olor="#c9fff0">.
79a0: 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 32 3e 54  .<tr><td>..<h2>T
79b0: 65 63 68 20 4e 6f 74 65 3a 20 75 73 69 6e 67 20  ech Note: using 
79c0: 70 72 6f 6a 69 6e 66 6f 20 66 6f 72 20 64 69 73  projinfo for dis
79d0: 63 6f 76 65 72 69 6e 67 20 70 69 70 65 6c 69 6e  covering pipelin
79e0: 65 73 20 61 6e 64 20 61 72 65 61 73 20 6f 66 20  es and areas of 
79f0: 75 73 65 3c 2f 68 32 3e 0d 0a 3c 76 65 72 62 61  use</h2>..<verba
7a00: 74 69 6d 3e 0d 0a 70 72 6f 6a 69 6e 66 6f 20 2d  tim>..projinfo -
7a10: 73 20 45 50 53 47 3a 34 33 32 36 20 2d 74 20 45  s EPSG:4326 -t E
7a20: 50 53 47 3a 33 30 30 33 20 2d 6f 20 70 72 6f 6a  PSG:3003 -o proj
7a30: 20 2d 2d 73 70 61 74 69 61 6c 2d 74 65 73 74 20   --spatial-test 
7a40: 69 6e 74 65 72 73 65 63 74 0d 0a 43 61 6e 64 69  intersect..Candi
7a50: 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 73 20  date operations 
7a60: 66 6f 75 6e 64 3a 20 33 0d 0a 2d 2d 2d 2d 2d 2d  found: 3..------
7a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
7a90: 0a 4f 70 65 72 61 74 69 6f 6e 20 6e c2 b0 31 3a  .Operation n..1:
7aa0: 0d 0a 0d 0a 75 6e 6b 6e 6f 77 6e 20 69 64 2c 20  ....unknown id, 
7ab0: 49 6e 76 65 72 73 65 20 6f 66 20 4d 6f 6e 74 65  Inverse of Monte
7ac0: 20 4d 61 72 69 6f 20 74 6f 20 57 47 53 20 38 34   Mario to WGS 84
7ad0: 20 28 34 29 20 2b 20 49 74 61 6c 79 20 7a 6f 6e   (4) + Italy zon
7ae0: 65 20 31 2c 20 34 20 6d 2c 20 49 74 61 6c 79 20  e 1, 4 m, Italy 
7af0: 2d 20 6d 61 69 6e 6c 61 6e 64 0d 0a 0d 0a 50 52  - mainland....PR
7b00: 4f 4a 20 73 74 72 69 6e 67 3a 0d 0a 2b 70 72 6f  OJ string:..+pro
7b10: 6a 3d 70 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 74  j=pipeline ..+st
7b20: 65 70 20 2b 70 72 6f 6a 3d 61 78 69 73 73 77 61  ep +proj=axisswa
7b30: 70 20 2b 6f 72 64 65 72 3d 32 2c 31 20 0d 0a 2b  p +order=2,1 ..+
7b40: 73 74 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 63  step +proj=unitc
7b50: 6f 6e 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 65  onvert +xy_in=de
7b60: 67 20 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d 0a  g +xy_out=rad ..
7b70: 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 70 75 73 68  +step +proj=push
7b80: 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 20 2b 70   +v_3 ..+step +p
7b90: 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d  roj=cart +ellps=
7ba0: 57 47 53 38 34 20 0d 0a 2b 73 74 65 70 20 2b 69  WGS84 ..+step +i
7bb0: 6e 76 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72 74  nv +proj=helmert
7bc0: 20 2b 78 3d 2d 31 30 34 2e 31 20 2b 79 3d 2d 34   +x=-104.1 +y=-4
7bd0: 39 2e 31 20 2b 7a 3d 2d 39 2e 39 20 2b 72 78 3d  9.1 +z=-9.9 +rx=
7be0: 30 2e 39 37 31 20 2b 72 79 3d 2d 32 2e 39 31 37  0.971 +ry=-2.917
7bf0: 20 2b 72 7a 3d 30 2e 37 31 34 20 2b 73 3d 2d 31   +rz=0.714 +s=-1
7c00: 31 2e 36 38 20 2b 63 6f 6e 76 65 6e 74 69 6f 6e  1.68 +convention
7c10: 3d 70 6f 73 69 74 69 6f 6e 5f 76 65 63 74 6f 72  =position_vector
7c20: 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b 70   ..+step +inv +p
7c30: 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d  roj=cart +ellps=
7c40: 69 6e 74 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 72  intl ..+step +pr
7c50: 6f 6a 3d 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73  oj=pop +v_3 ..+s
7c60: 74 65 70 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 20  tep +proj=tmerc 
7c70: 2b 6c 61 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d  +lat_0=0 +lon_0=
7c80: 39 20 2b 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30  9 +k=0.9996 +x_0
7c90: 3d 31 35 30 30 30 30 30 20 2b 79 5f 30 3d 30 20  =1500000 +y_0=0 
7ca0: 2b 65 6c 6c 70 73 3d 69 6e 74 6c 0d 0a 0d 0a 2d  +ellps=intl....-
7cb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7cc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7cd0: 2d 2d 2d 2d 0d 0a 4f 70 65 72 61 74 69 6f 6e 20  ----..Operation 
7ce0: 6e c2 b0 32 3a 0d 0a 0d 0a 75 6e 6b 6e 6f 77 6e  n..2:....unknown
7cf0: 20 69 64 2c 20 49 6e 76 65 72 73 65 20 6f 66 20   id, Inverse of 
7d00: 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 74 6f 20 57  Monte Mario to W
7d10: 47 53 20 38 34 20 28 32 29 20 2b 20 49 74 61 6c  GS 84 (2) + Ital
7d20: 79 20 7a 6f 6e 65 20 31 2c 20 34 20 6d 2c 20 49  y zone 1, 4 m, I
7d30: 74 61 6c 79 20 2d 20 53 61 72 64 69 6e 69 61 20  taly - Sardinia 
7d40: 6f 6e 73 68 6f 72 65 0d 0a 0d 0a 50 52 4f 4a 20  onshore....PROJ 
7d50: 73 74 72 69 6e 67 3a 0d 0a 2b 70 72 6f 6a 3d 70  string:..+proj=p
7d60: 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 74 65 70 20  ipeline ..+step 
7d70: 2b 70 72 6f 6a 3d 61 78 69 73 73 77 61 70 20 2b  +proj=axisswap +
7d80: 6f 72 64 65 72 3d 32 2c 31 20 0d 0a 2b 73 74 65  order=2,1 ..+ste
7d90: 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 63 6f 6e 76  p +proj=unitconv
7da0: 65 72 74 20 2b 78 79 5f 69 6e 3d 64 65 67 20 2b  ert +xy_in=deg +
7db0: 78 79 5f 6f 75 74 3d 72 61 64 20 0d 0a 2b 73 74  xy_out=rad ..+st
7dc0: 65 70 20 2b 70 72 6f 6a 3d 70 75 73 68 20 2b 76  ep +proj=push +v
7dd0: 5f 33 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a  _3 ..+step +proj
7de0: 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 57 47 53  =cart +ellps=WGS
7df0: 38 34 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20  84 ..+step +inv 
7e00: 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72 74 20 2b 78  +proj=helmert +x
7e10: 3d 2d 31 36 38 2e 36 20 2b 79 3d 2d 33 34 20 2b  =-168.6 +y=-34 +
7e20: 7a 3d 33 38 2e 36 20 2b 72 78 3d 2d 30 2e 33 37  z=38.6 +rx=-0.37
7e30: 34 20 2b 72 79 3d 2d 30 2e 36 37 39 20 2b 72 7a  4 +ry=-0.679 +rz
7e40: 3d 2d 31 2e 33 37 39 20 2b 73 3d 2d 39 2e 34 38  =-1.379 +s=-9.48
7e50: 20 2b 63 6f 6e 76 65 6e 74 69 6f 6e 3d 70 6f 73   +convention=pos
7e60: 69 74 69 6f 6e 5f 76 65 63 74 6f 72 20 0d 0a 2b  ition_vector ..+
7e70: 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 6f 6a 3d  step +inv +proj=
7e80: 63 61 72 74 20 2b 65 6c 6c 70 73 3d 69 6e 74 6c  cart +ellps=intl
7e90: 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 70   ..+step +proj=p
7ea0: 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 20  op +v_3 ..+step 
7eb0: 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74  +proj=tmerc +lat
7ec0: 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b  _0=0 +lon_0=9 +k
7ed0: 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30  =0.9996 +x_0=150
7ee0: 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 6c  0000 +y_0=0 +ell
7ef0: 70 73 3d 69 6e 74 6c 0d 0a 0d 0a 2d 2d 2d 2d 2d  ps=intl....-----
7f00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7f10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
7f20: 0d 0a 4f 70 65 72 61 74 69 6f 6e 20 6e c2 b0 33  ..Operation n..3
7f30: 3a 0d 0a 0d 0a 75 6e 6b 6e 6f 77 6e 20 69 64 2c  :....unknown id,
7f40: 20 49 6e 76 65 72 73 65 20 6f 66 20 4d 6f 6e 74   Inverse of Mont
7f50: 65 20 4d 61 72 69 6f 20 74 6f 20 57 47 53 20 38  e Mario to WGS 8
7f60: 34 20 28 31 31 29 20 2b 20 49 74 61 6c 79 20 7a  4 (11) + Italy z
7f70: 6f 6e 65 20 31 2c 20 31 30 20 6d 2c 20 49 74 61  one 1, 10 m, Ita
7f80: 6c 79 20 2d 20 53 69 63 69 6c 79 20 53 74 72 61  ly - Sicily Stra
7f90: 69 74 20 77 65 73 74 20 6f 66 20 31 33 c2 b0 45  it west of 13..E
7fa0: 0d 0a 0d 0a 50 52 4f 4a 20 73 74 72 69 6e 67 3a  ....PROJ string:
7fb0: 0d 0a 2b 70 72 6f 6a 3d 70 69 70 65 6c 69 6e 65  ..+proj=pipeline
7fc0: 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 61   ..+step +proj=a
7fd0: 78 69 73 73 77 61 70 20 2b 6f 72 64 65 72 3d 32  xisswap +order=2
7fe0: 2c 31 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a  ,1 ..+step +proj
7ff0: 3d 75 6e 69 74 63 6f 6e 76 65 72 74 20 2b 78 79  =unitconvert +xy
8000: 5f 69 6e 3d 64 65 67 20 2b 78 79 5f 6f 75 74 3d  _in=deg +xy_out=
8010: 72 61 64 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f  rad ..+step +pro
8020: 6a 3d 70 75 73 68 20 2b 76 5f 33 20 0d 0a 2b 73  j=push +v_3 ..+s
8030: 74 65 70 20 2b 70 72 6f 6a 3d 63 61 72 74 20 2b  tep +proj=cart +
8040: 65 6c 6c 70 73 3d 57 47 53 38 34 20 0d 0a 2b 73  ellps=WGS84 ..+s
8050: 74 65 70 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72  tep +proj=helmer
8060: 74 20 2b 78 3d 32 33 30 2e 34 37 20 2b 79 3d 35  t +x=230.47 +y=5
8070: 36 2e 30 38 20 2b 7a 3d 2d 32 32 2e 34 33 20 0d  6.08 +z=-22.43 .
8080: 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 6f  .+step +inv +pro
8090: 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 69 6e  j=cart +ellps=in
80a0: 74 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a  tl ..+step +proj
80b0: 3d 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73 74 65  =pop +v_3 ..+ste
80c0: 70 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c  p +proj=tmerc +l
80d0: 61 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20  at_0=0 +lon_0=9 
80e0: 2b 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31  +k=0.9996 +x_0=1
80f0: 35 30 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65  500000 +y_0=0 +e
8100: 6c 6c 70 73 3d 69 6e 74 6c 0d 0a 3c 2f 76 65 72  llps=intl..</ver
8110: 62 61 74 69 6d 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  batim>..</td></t
8120: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e  r>..</table><br>
8130: 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  <br>..<verbatim>
8140: 0d 0a 2d 2d 20 66 72 6f 6d 20 45 50 53 47 3a 34  ..-- from EPSG:4
8150: 32 36 20 74 6f 20 45 50 53 47 3a 33 30 30 33 20  26 to EPSG:3003 
8160: 2d 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e  - default settin
8170: 67 73 2c 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66  gs, NULL area of
8180: 20 75 73 65 0d 0a 53 45 4c 45 43 54 20 41 73 45   use..SELECT AsE
8190: 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f  WKT ( ST_Transfo
81a0: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 39  rm( MakePoint( 9
81b0: 2e 31 36 39 34 36 34 2c 20 33 39 2e 34 37 38 32  .169464, 39.4782
81c0: 37 35 2c 20 34 33 32 36 20 29 2c 20 33 30 30 33  75, 4326 ), 3003
81d0: 20 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ));..----------
81e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
81f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49  -----------..SRI
8200: 44 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31 35 31  D=3003;POINT(151
8210: 34 36 30 30 2e 31 33 34 33 32 31 38 36 32 20 34  4600.134321862 4
8220: 33 36 39 38 37 34 2e 34 38 39 32 36 39 39 35 37  369874.489269957
8230: 29 0d 0a 0d 0a 0d 0a 2d 2d 20 66 72 6f 6d 20 45  )......-- from E
8240: 50 53 47 3a 34 32 36 20 74 6f 20 45 50 53 47 3a  PSG:426 to EPSG:
8250: 33 30 30 33 20 2d 20 64 65 66 61 75 6c 74 20 73  3003 - default s
8260: 65 74 74 69 6e 67 73 2c 20 62 75 74 20 74 68 69  ettings, but thi
8270: 73 20 74 69 6d 65 20 65 78 70 6c 69 63 69 74 6c  s time explicitl
8280: 79 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 4d  y defining the M
8290: 42 52 20 61 6b 61 20 42 42 4f 58 20 6f 66 20 61  BR aka BBOX of a
82a0: 20 73 70 65 63 69 66 69 63 20 61 72 65 61 20 6f   specific area o
82b0: 66 20 75 73 65 0d 0a 53 45 4c 45 43 54 20 41 73  f use..SELECT As
82c0: 45 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66  EWKT ( ST_Transf
82d0: 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20  orm( MakePoint( 
82e0: 39 2e 31 36 39 34 36 34 2c 20 33 39 2e 34 37 38  9.169464, 39.478
82f0: 32 37 35 2c 20 34 33 32 36 20 29 2c 20 33 30 30  275, 4326 ), 300
8300: 33 20 2c 20 42 75 69 6c 64 4d 42 52 28 39 2e 31  3 , BuildMBR(9.1
8310: 20 2c 20 33 39 2e 34 20 2c 20 39 2e 32 20 2c 20   , 39.4 , 9.2 , 
8320: 33 39 2e 35 20 2c 20 34 33 32 36 20 29 29 29 3b  39.5 , 4326 )));
8330: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
8340: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
8350: 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30  -------..SRID=30
8360: 30 33 3b 50 4f 49 4e 54 28 31 35 31 34 36 30 35  03;POINT(1514605
8370: 2e 39 38 32 37 36 32 32 34 38 20 34 33 36 39 38  .982762248 43698
8380: 37 33 2e 30 30 34 32 32 36 39 34 33 29 0d 0a 3c  73.004226943)..<
8390: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 72  /verbatim>..Thir
83a0: 64 20 61 6e 64 20 66 69 6e 61 6c 20 65 78 61 6d  d and final exam
83b0: 70 6c 65 2e 20 49 6e 20 73 6f 6d 65 20 63 61 73  ple. In some cas
83c0: 65 73 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65  es explicitly de
83d0: 66 69 6e 69 6e 67 20 61 20 73 70 65 63 69 66 69  fining a specifi
83e0: 63 20 3c 62 3e 3c 69 3e 61 72 65 61 20 6f 66 20  c <b><i>area of 
83f0: 75 73 65 3c 2f 69 3e 3c 2f 62 3e 20 6d 61 79 20  use</i></b> may 
8400: 65 6e 61 62 6c 65 20 50 52 4f 4a 2e 36 20 74 6f  enable PROJ.6 to
8410: 20 73 65 6c 65 63 74 20 61 6e 20 6f 70 74 69 6d   select an optim
8420: 69 7a 65 64 20 74 72 61 6e 73 66 6f 72 6d 61 74  ized transformat
8430: 69 6f 6e 20 6c 65 61 64 69 6e 67 20 74 6f 20 6d  ion leading to m
8440: 6f 72 65 20 70 72 65 63 69 73 65 20 72 65 73 75  ore precise resu
8450: 6c 74 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  lts.<br>..In thi
8460: 73 20 65 78 61 6d 70 6c 65 20 77 65 27 76 65 20  s example we've 
8470: 75 73 65 64 20 61 20 50 6f 69 6e 74 20 6c 6f 63  used a Point loc
8480: 61 74 65 64 20 69 6e 20 53 61 72 64 69 6e 69 61  ated in Sardinia
8490: 2c 20 61 6e 64 20 50 52 4f 4a 2e 36 20 73 75 70  , and PROJ.6 sup
84a0: 70 6f 72 74 73 20 73 65 76 65 72 61 6c 20 66 6c  ports several fl
84b0: 61 76 6f 72 73 20 6f 66 20 3c 62 3e 45 50 53 47  avors of <b>EPSG
84c0: 3a 33 30 30 33 3c 2f 62 3e 20 64 65 70 65 6e 64  :3003</b> depend
84d0: 69 6e 67 20 6f 6e 20 74 68 65 20 73 70 65 63 69  ing on the speci
84e0: 66 69 63 20 61 72 65 61 20 6f 66 20 75 73 65 20  fic area of use 
84f0: 61 6e 64 0d 0a 3c 62 3e 49 74 61 6c 79 20 2d 20  and..<b>Italy - 
8500: 53 61 72 64 69 6e 69 61 20 6f 6e 73 68 6f 72 65  Sardinia onshore
8510: 3c 2f 62 3e 20 69 73 20 6f 6e 65 20 62 65 74 77  </b> is one betw
8520: 65 65 6e 20 74 68 65 6d 2e 0d 0a 3c 75 6c 3e 0d  een them...<ul>.
8530: 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73 74 20 71  .<li>the first q
8540: 75 65 72 79 20 64 6f 65 73 20 6e 6f 74 20 64 65  uery does not de
8550: 66 69 6e 65 20 61 6e 79 20 73 70 65 63 69 66 69  fine any specifi
8560: 63 20 61 72 65 61 20 6f 66 20 75 73 65 2c 20 61  c area of use, a
8570: 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  nd consequently 
8580: 50 52 4f 4a 2e 36 20 63 61 6c 63 75 6c 61 74 65  PROJ.6 calculate
8590: 64 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61  d the transforma
85a0: 74 69 6f 6e 20 62 79 20 61 70 70 6c 79 69 6e 67  tion by applying
85b0: 20 74 68 65 20 67 65 6e 65 72 69 63 20 70 61 72   the generic par
85c0: 61 6d 65 74 65 72 73 20 73 75 70 70 6f 72 74 69  ameters supporti
85d0: 6e 67 20 3c 62 3e 49 74 61 6c 79 20 2d 20 4d 61  ng <b>Italy - Ma
85e0: 69 6e 6c 61 6e 64 3c 2f 62 3e 2e 3c 2f 6c 69 3e  inland</b>.</li>
85f0: 0d 0a 3c 6c 69 3e 74 68 65 20 73 65 63 6f 6e 64  ..<li>the second
8600: 20 71 75 65 72 79 20 69 6e 73 74 65 61 64 20 64   query instead d
8610: 65 66 69 6e 65 73 20 61 20 73 70 65 63 69 66 69  efines a specifi
8620: 63 20 61 72 65 20 6f 66 20 75 73 65 2c 20 61 6e  c are of use, an
8630: 64 20 74 68 69 73 20 74 69 6d 65 20 50 52 4f 4a  d this time PROJ
8640: 2e 36 20 63 61 6c 63 75 6c 61 74 65 64 20 74 68  .6 calculated th
8650: 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e  e transformation
8660: 20 62 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65   by applying the
8670: 20 6d 6f 73 74 20 70 72 65 63 69 73 65 20 70 61   most precise pa
8680: 72 61 6d 65 74 65 72 73 20 73 75 70 70 6f 72 74  rameters support
8690: 69 6e 67 20 3c 62 3e 49 74 61 6c 79 20 2d 20 53  ing <b>Italy - S
86a0: 61 72 64 69 6e 69 61 20 6f 6e 73 68 6f 72 65 3c  ardinia onshore<
86b0: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /b>.</li>..</ul>
86c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
86d0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22   cellspacing="8"
86e0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 31 36   cellpadding="16
86f0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
8700: 64 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a  d0">..<tr><td>..
8710: 3c 62 3e 3c 75 3e 4c 65 73 73 6f 6e 20 6c 65 61  <b><u>Lesson lea
8720: 72 6e 65 64 3c 2f 75 3e 3c 2f 62 3e 3a 0d 0a 3c  rned</u></b>:..<
8730: 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 62 65 73  ul>..<li>The bes
8740: 74 20 6d 6f 64 65 20 66 6f 72 20 74 61 6b 69 6e  t mode for takin
8750: 67 20 66 75 6c 6c 20 70 72 6f 66 69 74 20 66 72  g full profit fr
8760: 6f 6d 20 50 52 4f 4a 2e 36 20 69 73 20 62 79 20  om PROJ.6 is by 
8770: 69 67 6e 6f 72 69 6e 67 20 61 6c 6c 20 43 52 53  ignoring all CRS
8780: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 63 6f 6e   definitions con
8790: 74 61 69 6e 65 64 20 69 6e 74 6f 20 3c 62 3e 73  tained into <b>s
87a0: 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f  patial_ref_sys</
87b0: 62 3e 2c 20 74 68 75 73 20 6c 65 61 76 69 6e 67  b>, thus leaving
87c0: 20 50 52 4f 4a 20 66 72 65 65 20 74 6f 20 63 68   PROJ free to ch
87d0: 6f 6f 73 65 20 74 68 65 20 62 65 73 74 20 70 6f  oose the best po
87e0: 73 73 69 62 6c 65 20 61 70 70 72 6f 61 63 68 2e  ssible approach.
87f0: 20 28 77 68 69 63 68 20 69 73 20 74 68 65 20 3c   (which is the <
8800: 62 3e 3c 69 3e 64 65 66 61 75 6c 74 20 73 65 74  b><i>default set
8810: 74 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 29 2e 3c 62  ting</i></b>).<b
8820: 72 3e 0d 0a 54 68 69 73 20 77 61 79 20 79 6f 75  r>..This way you
8830: 27 6c 6c 20 62 65 20 61 62 73 6f 6c 75 74 65 6c  'll be absolutel
8840: 79 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20  y sure that the 
8850: 6d 6f 73 74 20 72 65 63 65 6e 74 20 61 6e 64 20  most recent and 
8860: 66 75 6c 6c 79 20 64 65 74 61 69 6c 65 64 20 64  fully detailed d
8870: 65 66 69 6e 69 74 69 6f 6e 73 20 77 69 6c 6c 20  efinitions will 
8880: 61 6c 77 61 79 73 20 62 65 20 72 65 74 72 69 65  always be retrie
8890: 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 52 4f  ved from the PRO
88a0: 4a 2e 36 20 6f 77 6e 20 70 72 69 76 61 74 65 20  J.6 own private 
88b0: 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 54  database.<br>..T
88c0: 68 69 73 20 77 69 6c 6c 20 68 61 70 70 65 6e 20  his will happen 
88d0: 65 76 65 6e 20 77 68 65 6e 20 70 72 6f 63 65 73  even when proces
88e0: 73 69 6e 67 20 70 72 6f 63 65 73 73 69 6e 67 20  sing processing 
88f0: 73 6f 6d 65 20 3c 62 3e 3c 69 3e 6c 65 67 61 63  some <b><i>legac
8900: 79 20 44 42 3c 2f 69 3e 3c 2f 62 3e 20 20 74 68  y DB</i></b>  th
8910: 61 74 20 77 61 73 20 63 72 65 61 74 65 64 20 62  at was created b
8920: 79 20 61 20 65 61 72 6c 69 65 72 20 76 65 72 73  y a earlier vers
8930: 69 6f 6e 20 61 6e 64 20 74 68 75 73 20 70 6f 74  ion and thus pot
8940: 65 6e 74 69 61 6c 6c 79 20 63 6f 6e 74 61 69 6e  entially contain
8950: 73 20 61 6e 20 6f 75 74 64 61 74 65 64 20 3c 62  s an outdated <b
8960: 3e 3c 69 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f  ><i>spatial_ref_
8970: 73 79 73 3c 2f 69 3e 3c 2f 62 3e 20 74 61 62 6c  sys</i></b> tabl
8980: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 70 61  e.</li>..<li>Spa
8990: 74 69 61 4c 69 74 65 20 66 75 6c 6c 79 20 72 65  tiaLite fully re
89a0: 73 70 65 63 74 73 20 75 73 65 72 73 20 66 72 65  spects users fre
89b0: 65 64 6f 6d 2c 20 61 76 6f 69 64 69 6e 67 20 61  edom, avoiding a
89c0: 6e 79 20 69 6d 70 6f 73 65 64 20 63 6f 6e 73 74  ny imposed const
89d0: 72 61 69 6e 74 2e 3c 62 72 3e 0d 0a 49 66 20 79  raint.<br>..If y
89e0: 6f 75 20 74 68 69 6e 6b 20 74 68 61 74 20 75 73  ou think that us
89f0: 69 6e 67 20 61 6e 6f 74 68 65 72 20 43 52 53 20  ing another CRS 
8a00: 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 73 20 61  definitions is a
8a10: 20 67 6f 6f 64 20 69 64 65 61 2c 20 79 6f 75 20   good idea, you 
8a20: 61 72 65 20 66 72 65 65 20 74 6f 20 75 73 65 20  are free to use 
8a30: 74 72 61 64 69 74 69 6f 6e 61 6c 20 70 72 6f 6a  traditional proj
8a40: 2d 73 74 72 69 6e 67 73 2c 20 57 4b 54 20 64 65  -strings, WKT de
8a50: 66 69 6e 69 74 69 6f 6e 73 2c 20 43 52 53 20 6e  finitions, CRS n
8a60: 61 6d 65 73 20 61 6e 64 20 77 68 61 74 65 76 65  ames and whateve
8a70: 72 20 65 6c 73 65 20 74 68 61 74 20 6d 61 79 20  r else that may 
8a80: 62 65 20 64 65 65 6d 65 64 20 61 70 70 72 6f 70  be deemed approp
8a90: 72 69 61 74 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  riate.</li>..<li
8aa0: 3e 53 70 61 74 69 61 4c 69 74 65 20 65 6e 63 6f  >SpatiaLite enco
8ab0: 75 72 61 67 65 73 20 61 6e 64 20 70 72 6f 6d 6f  urages and promo
8ac0: 74 65 73 20 74 68 65 20 6d 6f 73 74 20 63 72 65  tes the most cre
8ad0: 61 74 69 76 65 20 75 73 65 20 6f 66 20 50 52 4f  ative use of PRO
8ae0: 4a 2e 36 3a 20 75 73 69 6e 67 20 79 6f 75 72 20  J.6: using your 
8af0: 6f 77 6e 20 63 75 73 74 6f 6d 20 3c 62 3e 3c 69  own custom <b><i
8b00: 3e 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20  >transformation 
8b10: 70 69 70 65 6c 69 6e 65 73 3c 2f 69 3e 3c 2f 62  pipelines</i></b
8b20: 3e 20 69 73 6e 27 74 20 6e 65 63 65 73 73 61 72  > isn't necessar
8b30: 69 6c 79 20 73 69 6d 70 6c 65 20 61 6e 64 20 65  ily simple and e
8b40: 61 73 79 2c 20 62 75 74 20 6f 66 66 65 72 73 20  asy, but offers 
8b50: 61 20 66 6c 65 78 69 62 6c 65 20 63 61 70 61 62  a flexible capab
8b60: 69 6c 69 74 79 20 74 6f 20 72 65 73 6f 6c 76 65  ility to resolve
8b70: 20 63 6f 6d 70 6c 65 78 20 70 72 6f 62 6c 65 6d   complex problem
8b80: 73 20 6f 72 20 6e 6f 6e 2d 73 74 61 6e 64 61 72  s or non-standar
8b90: 64 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69  d solutions.</li
8ba0: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ul>..</td><
8bb0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62  /tr>..</table><b
8bc0: 72 3e 0d 0a 3c 68 33 3e 4e 65 77 20 61 75 78 69  r>..<h3>New auxi
8bd0: 6c 69 61 72 79 20 53 51 4c 20 66 75 6e 63 74 69  liary SQL functi
8be0: 6f 6e 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79  ons specifically
8bf0: 20 73 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a   supporting PROJ
8c00: 2e 36 3c 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20  .6</h3>..<table 
8c10: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20  cellspacing="8" 
8c20: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20  cellpadding="8" 
8c30: 62 67 63 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38  bgcolor="#e8ffe8
8c40: 22 20 62 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c  " border="1">..<
8c50: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
8c60: 23 66 66 62 30 33 65 22 3e 53 51 4c 20 46 75 6e  #ffb03e">SQL Fun
8c70: 63 74 69 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67  ction</th><th bg
8c80: 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e  color="#ffb03e">
8c90: 53 75 70 70 6f 72 74 65 64 20 61 72 67 75 6d 65  Supported argume
8ca0: 6e 74 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  nts</th><th bgco
8cb0: 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 44 65  lor="#ffb03e">De
8cc0: 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 3c 2f  scription</th></
8cd0: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e  tr>..<tr><td><b>
8ce0: 48 61 73 50 72 6f 6a 36 3c 2f 62 3e 28 20 3c 69  HasProj6</b>( <i
8cf0: 3e 76 6f 69 64 3c 2f 69 3e 20 29 20 3a 20 3c 69  >void</i> ) : <i
8d00: 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e 3c 2f 74 64  >Boolean</i></td
8d10: 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e  >..<td>None</td>
8d20: 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72  ..<td>Will retur
8d30: 6e 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c 62 3e 54  n <b>1</b> (<b>T
8d40: 52 55 45 3c 2f 62 3e 29 20 69 66 20 74 68 65 20  RUE</b>) if the 
8d50: 6c 69 62 72 61 72 79 20 68 61 73 20 62 65 65 6e  library has been
8d60: 20 62 75 69 6c 74 20 77 69 74 68 20 3c 62 3e 50   built with <b>P
8d70: 52 4f 4a 2e 36 3c 2f 62 3e 20 28 6f 72 20 61 6e  ROJ.6</b> (or an
8d80: 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 29  y later version)
8d90: 2c 20 6f 74 68 65 72 77 69 73 65 20 3c 62 3e 30  , otherwise <b>0
8da0: 3c 2f 62 3e 20 28 3c 62 3e 46 41 4c 53 45 3c 2f  </b> (<b>FALSE</
8db0: 62 3e 29 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  b>).</td></tr>..
8dc0: 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f  <tr><td><b>PROJ_
8dd0: 47 65 74 4c 61 73 74 45 72 72 6f 72 4d 73 67 3c  GetLastErrorMsg<
8de0: 2f 62 3e 28 20 3c 69 3e 76 6f 69 64 3c 2f 69 3e  /b>( <i>void</i>
8df0: 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f   ) : <i>String</
8e00: 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 4e 6f 6e  i></td>..<td>Non
8e10: 65 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 69 6c 6c  e</td>..<td>Will
8e20: 20 72 65 74 75 72 6e 20 74 68 65 20 6d 6f 73 74   return the most
8e30: 20 72 65 63 65 6e 74 20 65 72 72 6f 72 20 6d 65   recent error me
8e40: 73 73 61 67 65 20 72 65 74 75 72 6e 65 64 20 62  ssage returned b
8e50: 79 20 50 52 4f 4a 20 28 69 66 20 61 6e 79 29 2e  y PROJ (if any).
8e60: 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62  <br>..<b>NULL</b
8e70: 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e  > will be return
8e80: 65 64 20 69 66 20 74 68 65 72 65 20 69 73 20 6e  ed if there is n
8e90: 6f 20 63 75 72 72 65 6e 74 6c 79 20 70 65 6e 64  o currently pend
8ea0: 69 6e 67 20 50 52 4f 4a 20 65 72 72 6f 72 2e 3c  ing PROJ error.<
8eb0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c  /td></tr>..<tr><
8ec0: 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 65 74 44 61  td><b>PROJ_GetDa
8ed0: 74 61 62 61 73 65 50 61 74 68 3c 2f 62 3e 28 20  tabasePath</b>( 
8ee0: 3c 69 3e 76 6f 69 64 3c 2f 69 3e 20 3a 20 3c 69  <i>void</i> : <i
8ef0: 3e 53 74 72 69 6e 67 3c 2f 69 3e 29 3c 2f 74 64  >String</i>)</td
8f00: 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e  >..<td>None</td>
8f10: 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72  ..<td>Will retur
8f20: 6e 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20  n the currently 
8f30: 73 65 74 20 70 61 74 68 6e 61 6d 65 20 6c 65 61  set pathname lea
8f40: 64 69 6e 67 20 74 6f 20 74 68 65 20 70 72 69 76  ding to the priv
8f50: 61 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 74  ate PROJ's SQLit
8f60: 65 20 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d  e database.<br>.
8f70: 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c  .<b>NULL</b> wil
8f80: 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 66  l be returned if
8f90: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 72 69   there is no pri
8fa0: 76 61 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69  vate PROJ's SQLi
8fb0: 74 65 20 64 61 74 61 62 61 73 65 20 63 75 72 72  te database curr
8fc0: 65 6e 74 6c 79 20 63 6f 6e 6e 65 63 74 65 64 2e  ently connected.
8fd0: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </td></tr>..<tr>
8fe0: 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 53 65 74 44  <td><b>PROJ_SetD
8ff0: 61 74 61 62 61 73 65 50 61 74 68 3c 2f 62 3e 20  atabasePath</b> 
9000: 28 20 6e 65 77 5f 70 61 74 68 20 3c 69 3e 53 74  ( new_path <i>St
9010: 72 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e  ring</i> ) : <i>
9020: 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74 64 3e 0d  String</i></td>.
9030: 0a 3c 74 64 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  .<td>..<ul>..<li
9040: 3e 3c 62 3e 6e 65 77 5f 70 61 74 68 3c 2f 62 3e  ><b>new_path</b>
9050: 3a 20 61 20 72 65 6c 61 74 69 76 65 20 6f 72 20  : a relative or 
9060: 61 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d  absolute pathnam
9070: 65 20 6c 65 61 64 69 6e 67 20 74 6f 20 61 20 76  e leading to a v
9080: 61 6c 69 64 20 50 52 4f 4a 27 73 20 53 51 4c 69  alid PROJ's SQLi
9090: 74 65 20 64 61 74 61 62 61 73 65 2e 3c 2f 6c 69  te database.</li
90a0: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c  >..</ul></td>..<
90b0: 74 64 3e 57 69 6c 6c 20 63 68 61 6e 67 65 20 74  td>Will change t
90c0: 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74  he currently set
90d0: 20 70 61 74 68 6e 61 6d 65 20 6c 65 61 64 69 6e   pathname leadin
90e0: 67 20 74 6f 20 74 68 65 20 70 72 69 76 61 74 65  g to the private
90f0: 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64   PROJ's SQLite d
9100: 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62  atabase.<br>..<b
9110: 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62  >NULL</b> will b
9120: 65 20 72 65 74 75 72 6e 65 64 20 69 66 20 74 68  e returned if th
9130: 65 20 70 61 73 73 65 64 20 70 61 74 68 20 69 73  e passed path is
9140: 20 69 6e 76 61 6c 69 64 2c 20 6f 74 68 65 72 77   invalid, otherw
9150: 69 73 65 20 74 68 65 20 70 61 74 68 20 6f 66 20  ise the path of 
9160: 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65  the currently se
9170: 74 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 73  t private PROJ's
9180: 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65   SQLite database
9190: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
91a0: 64 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74  d.</td></tr>..<t
91b0: 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 41 73  r><td><b>PROJ_As
91c0: 50 72 6f 6a 53 74 72 69 6e 67 3c 2f 62 3e 20 28  ProjString</b> (
91d0: 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74   auth_name <i>St
91e0: 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f  ring</i> , auth_
91f0: 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c  srid <i>Integer<
9200: 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e  /i> ) : <i>Strin
9210: 67 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e  g</i></td>..<td>
9220: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 61 75 74  <ul>..<li><b>aut
9230: 68 5f 6e 61 6d 65 3c 2f 62 3e 20 61 6e 64 20 3c  h_name</b> and <
9240: 62 3e 61 75 74 68 5f 73 72 69 64 3c 2f 62 3e 20  b>auth_srid</b> 
9250: 69 64 65 6e 74 69 66 79 20 74 68 65 20 69 6e 74  identify the int
9260: 65 6e 64 65 64 20 43 52 53 2e 3c 62 72 3e 0d 0a  ended CRS.<br>..
9270: 3c 62 3e 61 75 74 68 5f 6e 61 6d 65 3c 2f 62 3e  <b>auth_name</b>
9280: 20 63 61 6e 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c   can be <b>NULL<
9290: 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69 73  /b>, and in this
92a0: 20 63 61 73 65 20 3c 62 3e 45 50 53 47 3c 2f 62   case <b>EPSG</b
92b0: 3e 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65  > will be assume
92c0: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  d.</li>..</ul></
92d0: 74 64 3e 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65  td>..<td>Will re
92e0: 74 75 72 6e 20 74 68 65 20 57 4b 54 20 65 78 70  turn the WKT exp
92f0: 72 65 73 73 69 6f 6e 20 63 6f 72 72 65 73 70 6f  ression correspo
9300: 6e 64 69 6e 67 20 74 6f 20 61 20 67 69 76 65 6e  nding to a given
9310: 20 43 52 53 3b 20 74 68 65 20 64 65 66 69 6e 69   CRS; the defini
9320: 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 74 61  tions will be ta
9330: 6b 65 6e 20 64 69 72 65 63 74 6c 79 20 66 72 6f  ken directly fro
9340: 6d 20 74 68 65 20 70 72 69 76 61 74 65 20 50 52  m the private PR
9350: 4f 4a 27 73 20 6f 77 6e 20 64 61 74 61 62 61 73  OJ's own databas
9360: 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c  e.<br>..<b>NULL<
9370: 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75  /b> will be retu
9380: 72 6e 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 20  rned on failure 
9390: 6f 72 20 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72  or on invalid ar
93a0: 67 75 6d 65 6e 74 73 2e 3c 2f 74 64 3e 3c 2f 74  guments.</td></t
93b0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50  r>..<tr><td><b>P
93c0: 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 3e 20 28 20  ROJ_AsWKT</b> ( 
93d0: 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 72  auth_name <i>Str
93e0: 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f 73  ing</i> , auth_s
93f0: 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f  rid <i>Integer</
9400: 69 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67  i> ) : <i>String
9410: 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f  </i><hr>..<b>PRO
9420: 4a 5f 41 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75  J_AsWKT</b> ( au
9430: 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e  th_name <i>Strin
9440: 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 69  g</i> , auth_sri
9450: 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e  d <i>Integer</i>
9460: 20 2c 20 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e   , wkt_style <i>
9470: 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c  String</i> ) : <
9480: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 68 72 3e  i>String</i><hr>
9490: 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c  ..<b>PROJ_AsWKT<
94a0: 2f 62 3e 20 28 20 61 75 74 68 5f 6e 61 6d 65 20  /b> ( auth_name 
94b0: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20  <i>String</i> , 
94c0: 61 75 74 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74  auth_srid <i>Int
94d0: 65 67 65 72 3c 2f 69 3e 20 2c 20 77 6b 74 5f 73  eger</i> , wkt_s
94e0: 74 79 6c 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f  tyle <i>String</
94f0: 69 3e 20 2c 20 69 6e 64 65 6e 74 65 64 20 3c 69  i> , indented <i
9500: 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e 20 29 20 3a  >Boolean</i> ) :
9510: 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 68   <i>String</i><h
9520: 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b  r>..<b>PROJ_AsWK
9530: 54 3c 2f 62 3e 20 28 20 61 75 74 68 5f 6e 61 6d  T</b> ( auth_nam
9540: 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20  e <i>String</i> 
9550: 2c 20 61 75 74 68 5f 73 72 69 64 20 3c 69 3e 49  , auth_srid <i>I
9560: 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 77 6b 74  nteger</i> , wkt
9570: 5f 73 74 79 6c 65 20 3c 69 3e 53 74 72 69 6e 67  _style <i>String
9580: 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 65 64 20  </i> , indented 
9590: 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e 20 2c  <i>Boolean</i> ,
95a0: 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 3c 69 3e   indentation <i>
95b0: 49 6e 74 65 67 65 72 3c 2f 69 3e 20 29 20 3a 20  Integer</i> ) : 
95c0: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74  <i>String</i></t
95d0: 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a 3c 6c  d>..<td><ul>..<l
95e0: 69 3e 3c 62 3e 61 75 74 68 5f 6e 61 6d 65 3c 2f  i><b>auth_name</
95f0: 62 3e 20 61 6e 64 20 3c 62 3e 61 75 74 68 5f 73  b> and <b>auth_s
9600: 72 69 64 3c 2f 62 3e 20 69 64 65 6e 74 69 66 79  rid</b> identify
9610: 20 74 68 65 20 69 6e 74 65 6e 64 65 64 20 43 52   the intended CR
9620: 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 61 75 74 68 5f  S.<br>..<b>auth_
9630: 6e 61 6d 65 3c 2f 62 3e 20 63 61 6e 20 62 65 20  name</b> can be 
9640: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64  <b>NULL</b>, and
9650: 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 3c 62   in this case <b
9660: 3e 45 50 53 47 3c 2f 62 3e 20 77 69 6c 6c 20 62  >EPSG</b> will b
9670: 65 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d  e assumed.</li>.
9680: 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61  .<li>the optiona
9690: 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e 73 74  l argument <b>st
96a0: 79 6c 65 3c 2f 62 3e 20 64 65 74 65 72 6d 69 6e  yle</b> determin
96b0: 65 73 20 77 68 69 63 68 20 73 70 65 63 69 66 69  es which specifi
96c0: 63 20 57 4b 54 20 66 6f 72 6d 61 74 20 73 68 6f  c WKT format sho
96d0: 75 6c 64 20 62 65 20 61 64 6f 70 74 65 64 2c 20  uld be adopted, 
96e0: 61 6e 64 20 6d 75 73 74 20 62 65 20 6f 6e 65 20  and must be one 
96f0: 62 65 74 77 65 65 6e 20 3c 62 3e 47 44 41 4c 3c  between <b>GDAL<
9700: 2f 62 3e 2c 20 3c 62 3e 45 53 52 49 3c 2f 62 3e  /b>, <b>ESRI</b>
9710: 2c 20 3c 62 3e 49 53 4f 2d 32 30 31 35 3c 2f 62  , <b>ISO-2015</b
9720: 3e 20 6f 72 20 3c 62 3e 49 53 4f 2d 32 30 31 38  > or <b>ISO-2018
9730: 3c 2f 62 3e 20 28 74 68 69 73 20 6c 61 74 74 65  </b> (this latte
9740: 72 20 62 65 69 6e 67 20 74 68 65 20 64 65 66 61  r being the defa
9750: 75 6c 74 20 73 65 74 74 69 6e 67 29 2e 3c 2f 6c  ult setting).</l
9760: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69  i>..<li>the opti
9770: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62  onal argument <b
9780: 3e 69 6e 64 65 6e 74 65 64 3c 2f 62 3e 20 69 66  >indented</b> if
9790: 20 73 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c   set to <b>TRUE<
97a0: 2f 62 3e 20 77 69 6c 6c 20 6e 69 63 65 6c 79 20  /b> will nicely 
97b0: 66 6f 72 6d 61 74 20 61 20 6d 75 6c 74 69 6c 69  format a multili
97c0: 6e 65 20 57 4b 54 20 65 78 70 72 65 73 73 69 6f  ne WKT expressio
97d0: 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 61 20 73  n, otherwise a s
97e0: 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 63  ingle monolithic
97f0: 20 6c 69 6e 65 20 6c 61 63 6b 69 6e 67 20 61 6e   line lacking an
9800: 79 20 77 68 69 74 65 2d 73 70 61 63 65 20 6f 72  y white-space or
9810: 20 6e 65 77 2d 6c 69 6e 65 20 77 69 6c 6c 20 62   new-line will b
9820: 65 20 70 72 69 6e 74 65 64 20 28 74 68 65 20 64  e printed (the d
9830: 65 66 61 75 6c 74 20 69 73 20 3c 62 3e 54 52 55  efault is <b>TRU
9840: 45 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  E</b>).</li>..<l
9850: 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61  i>the optional a
9860: 72 67 75 6d 65 6e 74 20 3c 62 3e 69 6e 64 65 6e  rgument <b>inden
9870: 74 61 74 69 6f 6e 3c 2f 62 3e 20 64 65 74 65 72  tation</b> deter
9880: 6d 69 6e 65 73 20 68 6f 77 20 6d 61 6e 79 20 77  mines how many w
9890: 68 69 74 65 2d 73 70 61 63 65 73 20 61 72 65 20  hite-spaces are 
98a0: 74 6f 20 62 65 20 75 73 65 64 20 66 6f 72 20 69  to be used for i
98b0: 6e 64 65 6e 74 69 6e 67 20 28 6f 6e 6c 79 20 6d  ndenting (only m
98c0: 65 61 6e 69 6e 67 66 75 6c 20 69 66 20 3c 62 3e  eaningful if <b>
98d0: 3c 69 3e 69 6e 64 65 6e 74 65 64 3d 54 52 55 45  <i>indented=TRUE
98e0: 3c 2f 69 3e 3c 2f 62 3e 3b 20 74 68 65 20 64 65  </i></b>; the de
98f0: 66 61 75 6c 74 20 76 61 6c 75 65 73 20 69 73 20  fault values is 
9900: 3c 62 3e 34 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d  <b>4</b>).</li>.
9910: 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64  .</ul></td>..<td
9920: 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65  >Will return the
9930: 20 57 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 20   WKT expression 
9940: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f  corresponding to
9950: 20 61 20 67 69 76 65 6e 20 43 52 53 3b 20 74 68   a given CRS; th
9960: 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 69  e definitions wi
9970: 6c 6c 20 62 65 20 74 61 6b 65 6e 20 64 69 72 65  ll be taken dire
9980: 63 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 70 72  ctly from the pr
9990: 69 76 61 74 65 20 50 52 4f 4a 27 73 20 6f 77 6e  ivate PROJ's own
99a0: 20 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a   database.<br>..
99b0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c  <b>NULL</b> will
99c0: 20 62 65 20 72 65 74 75 72 6e 65 64 20 6f 6e 20   be returned on 
99d0: 66 61 69 6c 75 72 65 20 6f 72 20 6f 6e 20 69 6e  failure or on in
99e0: 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 73 2e  valid arguments.
99f0: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </td></tr>..<tr>
9a00: 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 75 65 73  <td><b>PROJ_Gues
9a10: 73 53 72 69 64 46 72 6f 6d 57 4b 54 3c 2f 62 3e  sSridFromWKT</b>
9a20: 20 28 20 77 6b 74 5f 65 78 70 72 20 3c 69 3e 53   ( wkt_expr <i>S
9a30: 74 72 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c 69  tring</i> ) : <i
9a40: 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 3c 2f 74 64  >Integer</i></td
9a50: 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a 3c 6c 69  >..<td><ul>..<li
9a60: 3e 3c 62 3e 77 6b 74 5f 65 78 70 72 3c 2f 62 3e  ><b>wkt_expr</b>
9a70: 3a 20 74 68 65 20 57 4b 54 20 65 78 70 72 65 73  : the WKT expres
9a80: 73 69 6f 6e 20 74 6f 20 62 65 20 65 76 61 6c 75  sion to be evalu
9a90: 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  ated.</li>..</ul
9aa0: 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 57 69  ></td>..<td>..Wi
9ab0: 6c 6c 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75  ll possibly retu
9ac0: 72 6e 20 74 68 65 20 3c 62 3e 53 52 49 44 20 76  rn the <b>SRID v
9ad0: 61 6c 75 65 3c 2f 62 3e 20 63 6f 72 72 65 73 70  alue</b> corresp
9ae0: 6f 6e 64 69 6e 67 20 74 6f 20 61 20 67 69 76 65  onding to a give
9af0: 6e 20 57 4b 54 20 65 78 70 72 65 73 73 69 6f 6e  n WKT expression
9b00: 20 64 65 66 69 6e 69 6e 67 20 61 20 43 52 53 2e   defining a CRS.
9b10: 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 3c 2f 62 3e 20  <br>..<b>-1</b> 
9b20: 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64  will be returned
9b30: 20 69 66 20 6e 6f 20 43 52 53 20 73 75 70 70 6f   if no CRS suppo
9b40: 72 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 20 6d  rted by PROJ.6 m
9b50: 61 74 63 68 65 73 20 74 68 65 20 57 4b 54 20 65  atches the WKT e
9b60: 78 70 72 65 73 73 69 6f 6e 2e 3c 62 72 3e 0d 0a  xpression.<br>..
9b70: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c  <b>NULL</b> will
9b80: 20 62 65 20 72 65 74 75 72 6e 65 64 20 6f 6e 20   be returned on 
9b90: 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74  invalid argument
9ba0: 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c  ...</td></tr>..<
9bb0: 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47  tr><td><b>PROJ_G
9bc0: 75 65 73 73 53 72 69 64 46 72 6f 6d 53 48 50 3c  uessSridFromSHP<
9bd0: 2f 62 3e 20 28 20 66 69 6c 65 6e 61 6d 65 20 3c  /b> ( filename <
9be0: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 3a  i>String</i> ) :
9bf0: 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 3c   <i>Integer</i><
9c00: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a  /td>..<td><ul>..
9c10: 3c 6c 69 3e 3c 62 3e 66 69 6c 65 6e 61 6d 65 3c  <li><b>filename<
9c20: 2f 62 3e 3a 20 74 68 65 20 61 62 73 6f 6c 75 74  /b>: the absolut
9c30: 65 20 6f 72 20 72 65 6c 61 74 69 76 65 20 70 61  e or relative pa
9c40: 74 68 20 6c 65 61 64 69 6e 67 20 74 6f 20 73 6f  th leading to so
9c50: 6d 65 20 53 68 61 70 65 66 69 6c 65 2e 3c 62 72  me Shapefile.<br
9c60: 3e 0d 0a 4e 6f 74 65 3a 20 65 78 61 63 74 6c 79  >..Note: exactly
9c70: 20 61 73 20 72 65 71 75 69 72 65 64 20 62 79 20   as required by 
9c80: 3c 62 3e 3c 69 3e 49 6d 70 6f 72 74 53 48 50 3c  <b><i>ImportSHP<
9c90: 2f 69 3e 3c 2f 62 3e 28 29 20 3c 62 3e 3c 69 3e  /i></b>() <b><i>
9ca0: 66 69 6c 65 6e 61 6d 65 3c 2f 69 3e 3c 2f 62 3e  filename</i></b>
9cb0: 20 6d 75 73 74 20 6f 6d 69 74 20 61 6e 79 20 3c   must omit any <
9cc0: 62 3e 2e 73 68 70 3c 2f 62 3e 2c 20 3c 62 3e 2e  b>.shp</b>, <b>.
9cd0: 73 68 78 3c 2f 62 3e 2c 20 3c 62 3e 2e 64 62 66  shx</b>, <b>.dbf
9ce0: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 2e 70 72 6a 3c  </b> or <b>.prj<
9cf0: 2f 62 3e 20 73 75 66 66 69 78 2e 3c 2f 6c 69 3e  /b> suffix.</li>
9d00: 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74  ..</ul></td>..<t
9d10: 64 3e 0d 0a 57 69 6c 6c 20 70 6f 73 73 69 62 6c  d>..Will possibl
9d20: 79 20 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e  y return the <b>
9d30: 53 52 49 44 20 76 61 6c 75 65 3c 2f 62 3e 20 63  SRID value</b> c
9d40: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20  orresponding to 
9d50: 74 68 65 20 43 52 53 20 64 65 66 69 6e 65 64 20  the CRS defined 
9d60: 62 79 20 74 68 65 20 2e 50 52 4a 20 6d 65 6d 62  by the .PRJ memb
9d70: 65 72 20 6f 66 20 74 68 65 20 53 68 61 70 65 66  er of the Shapef
9d80: 69 6c 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 3c  ile.<br>..<b>-1<
9d90: 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75  /b> will be retu
9da0: 72 6e 65 64 20 69 66 20 6e 6f 20 43 52 53 20 73  rned if no CRS s
9db0: 75 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a  upported by PROJ
9dc0: 2e 36 20 6d 61 74 63 68 65 73 20 50 52 4a 20 6d  .6 matches PRJ m
9dd0: 65 6d 62 65 72 20 6f 66 20 74 68 65 20 53 68 61  ember of the Sha
9de0: 70 65 66 69 6c 65 2e 3c 62 72 3e 0d 0a 3c 62 3e  pefile.<br>..<b>
9df0: 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  NULL</b> will be
9e00: 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 69 6e 76   returned on inv
9e10: 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 2e 3c 68  alid argument.<h
9e20: 72 3e 0d 0a 3c 75 3e 50 6c 65 61 73 65 20 6e 6f  r>..<u>Please no
9e30: 74 65 20 77 65 6c 6c 3c 2f 75 3e 3a 20 74 68 69  te well</u>: thi
9e40: 73 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 6f  s SQL function o
9e50: 70 65 6e 73 20 74 68 65 20 64 6f 6f 72 20 74 6f  pens the door to
9e60: 20 6d 61 6e 79 20 70 6f 74 65 6e 74 69 61 6c 20   many potential 
9e70: 73 65 63 75 72 69 74 79 20 69 73 73 75 65 73 2c  security issues,
9e80: 20 61 6e 64 20 74 68 75 73 20 69 73 20 61 6c 77   and thus is alw
9e90: 61 79 73 20 3c 69 3e 64 69 73 61 62 6c 65 64 20  ays <i>disabled 
9ea0: 62 79 20 64 65 66 61 75 6c 74 3c 2f 69 3e 2e 3c  by default</i>.<
9eb0: 62 72 3e 0d 0a 45 78 70 6c 69 63 69 74 6c 79 20  br>..Explicitly 
9ec0: 73 65 74 74 69 6e 67 20 74 68 65 20 65 6e 76 69  setting the envi
9ed0: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
9ee0: 20 3c 62 3e 53 50 41 54 49 41 4c 49 54 45 5f 53   <b>SPATIALITE_S
9ef0: 45 43 55 52 49 54 59 3d 72 65 6c 61 78 65 64 3c  ECURITY=relaxed<
9f00: 2f 62 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 6c  /b> is absolutel
9f10: 79 20 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72  y required in or
9f20: 64 65 72 20 74 6f 20 65 6e 61 62 6c 65 20 74 68  der to enable th
9f30: 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 2f  is function...</
9f40: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  td></tr>..</tabl
9f50: 65 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63  e><br>..<table c
9f60: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63  ellspacing="8" c
9f70: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 31 36 22 20  ellpadding="16" 
9f80: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 65 39  bgcolor="#ffffe9
9f90: 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62  ">..<tr><td>..<b
9fa0: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e  ><u>Note</u></b>
9fb0: 3a 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20  : all the above 
9fc0: 53 51 4c 20 46 75 6e 63 74 69 6f 6e 73 20 77 69  SQL Functions wi
9fd0: 6c 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  ll be available 
9fe0: 6f 6e 6c 79 20 77 68 65 6e 20 53 70 61 74 69 61  only when Spatia
9ff0: 6c 69 74 65 2d 35 2e 30 2e 30 20 68 61 73 20 62  lite-5.0.0 has b
a000: 65 65 6e 20 62 75 69 6c 74 20 61 67 61 69 6e 73  een built agains
a010: 74 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20  t <b>PROJ.6</b> 
a020: 28 6f 72 20 61 6e 79 20 73 75 62 73 65 71 75 65  (or any subseque
a030: 6e 74 20 76 65 72 73 69 6f 6e 29 2e 3c 62 72 3e  nt version).<br>
a040: 0d 0a 49 66 20 53 70 61 74 69 61 4c 69 74 65 2d  ..If SpatiaLite-
a050: 35 2e 30 2e 30 20 68 61 73 20 62 65 65 6e 20 62  5.0.0 has been b
a060: 75 69 6c 74 20 69 6e 73 74 65 61 64 20 61 67 61  uilt instead aga
a070: 69 6e 73 74 20 61 6e 79 20 70 72 65 76 69 6f 75  inst any previou
a080: 73 20 76 65 72 73 69 6f 6e 20 28 61 73 20 65 2e  s version (as e.
a090: 67 2e 20 3c 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e  g. <b>PROJ.4</b>
a0a0: 29 20 61 6e 79 20 61 74 74 65 6d 70 74 20 74 6f  ) any attempt to
a0b0: 20 63 61 6c 6c 20 6f 6e 65 20 6f 66 20 74 68 65   call one of the
a0c0: 73 65 20 53 51 4c 20 46 75 6e 63 74 69 6f 6e 73  se SQL Functions
a0d0: 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 72 65 74   will simply ret
a0e0: 75 72 6e 20 61 20 3c 62 3e 3c 69 3e 3c 75 3e 6e  urn a <b><i><u>n
a0f0: 6f 20 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 3c  o such function<
a100: 2f 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 53 51 4c 20  /u></i></b> SQL 
a110: 65 72 72 6f 72 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74  error...</td></t
a120: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e  r>..</table><br>
a130: 0d 0a 3c 62 3e 50 72 61 63 74 69 63 61 6c 20 65  ..<b>Practical e
a140: 78 61 6d 70 6c 65 73 3a 3c 2f 62 3e 0d 0a 3c 76  xamples:</b>..<v
a150: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
a160: 20 50 52 4f 4a 5f 47 65 74 44 61 74 61 62 61 73   PROJ_GetDatabas
a170: 65 50 61 74 68 28 29 3b 20 20 2d 2d 20 72 65 74  ePath();  -- ret
a180: 72 69 65 76 69 6e 67 20 74 68 65 20 63 75 72 72  rieving the curr
a190: 65 6e 74 6c 79 20 73 65 74 20 50 52 4f 4a 27 73  ently set PROJ's
a1a0: 20 6f 77 6e 20 64 61 74 61 62 61 73 65 0d 0a 2d   own database..-
a1b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a1c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2f  -------------../
a1d0: 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f  usr/local/share/
a1e0: 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 0d 0a 0d 0a  proj/proj.db....
a1f0: 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f 53 65  ..SELECT PROJ_Se
a200: 74 44 61 74 61 62 61 73 65 50 61 74 68 28 27 2f  tDatabasePath('/
a210: 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e 6f 74 5f  home/sandro/not_
a220: 65 78 69 73 74 69 6e 67 5f 70 72 6f 6a 2e 64 62  existing_proj.db
a230: 27 29 3b 20 2d 2d 20 6e 6f 6e 20 65 78 69 73 74  '); -- non exist
a240: 69 6e 67 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d  ing database..--
a250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a260: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55  ------------..NU
a270: 4c 4c 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 50  LL......SELECT P
a280: 52 4f 4a 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ROJ_GetLastError
a290: 4d 73 67 28 29 3b 20 2d 2d 20 72 65 74 72 69 65  Msg(); -- retrie
a2a0: 76 69 6e 67 20 74 68 65 20 66 61 69 6c 75 72 65  ving the failure
a2b0: 20 63 61 75 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d   cause..--------
a2c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a2d0: 2d 2d 2d 2d 2d 2d 0d 0a 70 72 6f 6a 5f 63 6f 6e  ------..proj_con
a2e0: 74 65 78 74 5f 73 65 74 5f 64 61 74 61 62 61 73  text_set_databas
a2f0: 65 5f 70 61 74 68 3a 20 4f 70 65 6e 20 6f 66 20  e_path: Open of 
a300: 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e 6f 74  /home/sandro/not
a310: 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f 6a 2e 64  _existing_proj.d
a320: 62 20 66 61 69 6c 65 64 0d 0a 0d 0a 0d 0a 53 45  b failed......SE
a330: 4c 45 43 54 20 50 52 4f 4a 5f 53 65 74 44 61 74  LECT PROJ_SetDat
a340: 61 62 61 73 65 50 61 74 68 28 27 2f 68 6f 6d 65  abasePath('/home
a350: 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72  /sandro/valid_pr
a360: 6f 6a 2e 64 62 27 29 3b 20 2d 2d 20 76 61 6c 69  oj.db'); -- vali
a370: 64 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d  d database..----
a380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a390: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2f 68 6f 6d  ----------../hom
a3a0: 65 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70  e/sandro/valid_p
a3b0: 72 6f 6a 2e 64 62 0d 0a 0d 0a 0d 0a 53 45 4c 45  roj.db......SELE
a3c0: 43 54 20 50 52 4f 4a 5f 41 73 50 72 6f 6a 53 74  CT PROJ_AsProjSt
a3d0: 72 69 6e 67 28 27 45 50 53 47 27 2c 20 33 32 36  ring('EPSG', 326
a3e0: 33 32 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  32);..----------
a3f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a400: 2d 2d 2d 2d 0d 0a 2b 70 72 6f 6a 3d 75 74 6d 20  ----..+proj=utm 
a410: 2b 7a 6f 6e 65 3d 33 32 20 2b 64 61 74 75 6d 3d  +zone=32 +datum=
a420: 57 47 53 38 34 20 2b 75 6e 69 74 73 3d 6d 20 2b  WGS84 +units=m +
a430: 6e 6f 5f 64 65 66 73 20 2b 74 79 70 65 3d 63 72  no_defs +type=cr
a440: 73 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52  s......SELECT PR
a450: 4f 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 27 2c  OJ_AsWKT('EPSG',
a460: 20 34 33 32 36 29 3b 20 2d 2d 20 64 65 66 61 75   4326); -- defau
a470: 6c 74 20 73 65 74 74 69 6e 67 73 3a 20 49 53 4f  lt settings: ISO
a480: 2d 32 30 31 38 20 73 74 79 6c 65 2c 20 69 6e 64  -2018 style, ind
a490: 65 6e 74 65 64 20 77 69 74 68 20 69 6e 64 65 6e  ented with inden
a4a0: 74 61 74 69 6f 6e 20 34 0d 0a 2d 2d 2d 2d 2d 2d  tation 4..------
a4b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a4c0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 47 45 4f 44 43 52  --------..GEODCR
a4d0: 53 5b 22 57 47 53 20 38 34 22 2c 0d 0a 20 20 20  S["WGS 84",..   
a4e0: 20 44 41 54 55 4d 5b 22 57 6f 72 6c 64 20 47 65   DATUM["World Ge
a4f0: 6f 64 65 74 69 63 20 53 79 73 74 65 6d 20 31 39  odetic System 19
a500: 38 34 22 2c 0d 0a 20 20 20 20 20 20 20 20 45 4c  84",..        EL
a510: 4c 49 50 53 4f 49 44 5b 22 57 47 53 20 38 34 22  LIPSOID["WGS 84"
a520: 2c 36 33 37 38 31 33 37 2c 32 39 38 2e 32 35 37  ,6378137,298.257
a530: 32 32 33 35 36 33 2c 0d 0a 20 20 20 20 20 20 20  223563,..       
a540: 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b       LENGTHUNIT[
a550: 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c 0d 0a 20  "metre",1]]],.. 
a560: 20 20 20 50 52 49 4d 45 4d 5b 22 47 72 65 65 6e     PRIMEM["Green
a570: 77 69 63 68 22 2c 30 2c 0d 0a 20 20 20 20 20 20  wich",0,..      
a580: 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67    ANGLEUNIT["deg
a590: 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32  ree",0.017453292
a5a0: 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20  5199433]],..    
a5b0: 43 53 5b 65 6c 6c 69 70 73 6f 69 64 61 6c 2c 32  CS[ellipsoidal,2
a5c0: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53  ],..        AXIS
a5d0: 5b 22 67 65 6f 64 65 74 69 63 20 6c 61 74 69 74  ["geodetic latit
a5e0: 75 64 65 20 28 4c 61 74 29 22 2c 6e 6f 72 74 68  ude (Lat)",north
a5f0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f  ,..            O
a600: 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 20 20 20 20  RDER[1],..      
a610: 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b        ANGLEUNIT[
a620: 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35  "degree",0.01745
a630: 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a  32925199433]],..
a640: 20 20 20 20 20 20 20 20 41 58 49 53 5b 22 67 65          AXIS["ge
a650: 6f 64 65 74 69 63 20 6c 6f 6e 67 69 74 75 64 65  odetic longitude
a660: 20 28 4c 6f 6e 29 22 2c 65 61 73 74 2c 0d 0a 20   (Lon)",east,.. 
a670: 20 20 20 20 20 20 20 20 20 20 20 4f 52 44 45 52             ORDER
a680: 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20  [2],..          
a690: 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67    ANGLEUNIT["deg
a6a0: 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32  ree",0.017453292
a6b0: 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20  5199433]],..    
a6c0: 41 52 45 41 5b 22 57 6f 72 6c 64 22 5d 2c 0d 0a  AREA["World"],..
a6d0: 20 20 20 20 42 42 4f 58 5b 2d 39 30 2c 2d 31 38      BBOX[-90,-18
a6e0: 30 2c 39 30 2c 31 38 30 5d 2c 0d 0a 20 20 20 20  0,90,180],..    
a6f0: 49 44 5b 22 45 50 53 47 22 2c 34 33 32 36 5d 5d  ID["EPSG",4326]]
a700: 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f  ......SELECT PRO
a710: 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 27 2c 20  J_AsWKT('EPSG', 
a720: 34 33 32 36 2c 20 27 45 53 52 49 27 2c 20 30 2c  4326, 'ESRI', 0,
a730: 20 30 29 3b 20 2d 2d 20 45 53 52 49 20 73 74 79   0); -- ESRI sty
a740: 6c 65 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 6c  le, monolithic l
a750: 69 6e 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ine..-----------
a760: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a770: 2d 2d 2d 0d 0a 47 45 4f 47 43 53 5b 22 47 43 53  ---..GEOGCS["GCS
a780: 5f 57 47 53 5f 31 39 38 34 22 2c 44 41 54 55 4d  _WGS_1984",DATUM
a790: 5b 22 44 5f 57 47 53 5f 31 39 38 34 22 2c 53 50  ["D_WGS_1984",SP
a7a0: 48 45 52 4f 49 44 5b 22 57 47 53 5f 31 39 38 34  HEROID["WGS_1984
a7b0: 22 2c 36 33 37 38 31 33 37 2e 30 2c 32 39 38 2e  ",6378137.0,298.
a7c0: 32 35 37 32 32 33 35 36 33 5d 5d 2c 50 52 49 4d  257223563]],PRIM
a7d0: 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c 30  EM["Greenwich",0
a7e0: 2e 30 5d 2c 55 4e 49 54 5b 22 44 65 67 72 65 65  .0],UNIT["Degree
a7f0: 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 39  ",0.017453292519
a800: 39 34 33 33 5d 5d 0d 0a 0d 0a 0d 0a 53 45 4c 45  9433]]......SELE
a810: 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69  CT PROJ_GuessSri
a820: 64 46 72 6f 6d 57 4b 54 28 27 47 45 4f 47 43 53  dFromWKT('GEOGCS
a830: 5b 22 47 43 53 5f 4d 6f 6e 74 65 5f 4d 61 72 69  ["GCS_Monte_Mari
a840: 6f 5f 52 6f 6d 65 22 2c 44 41 54 55 4d 5b 22 44  o_Rome",DATUM["D
a850: 5f 4d 6f 6e 74 65 5f 4d 61 72 69 6f 22 2c 53 50  _Monte_Mario",SP
a860: 48 45 52 4f 49 44 5b 22 49 6e 74 65 72 6e 61 74  HEROID["Internat
a870: 69 6f 6e 61 6c 5f 31 39 32 34 22 2c 36 33 37 38  ional_1924",6378
a880: 33 38 38 2e 30 2c 32 39 37 2e 30 5d 5d 2c 50 52  388.0,297.0]],PR
a890: 49 4d 45 4d 5b 22 52 6f 6d 65 22 2c 31 32 2e 34  IMEM["Rome",12.4
a8a0: 35 32 33 33 33 33 33 33 33 33 33 33 5d 2c 55 4e  523333333333],UN
a8b0: 49 54 5b 22 44 65 67 72 65 65 22 2c 30 2e 30 31  IT["Degree",0.01
a8c0: 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d  74532925199433]]
a8d0: 27 29 3b 20 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  '); ..----------
a8e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a8f0: 2d 2d 2d 2d 0d 0a 34 38 30 36 0d 0a 0d 0a 0d 0a  ----..4806......
a900: 53 45 4c 45 43 54 20 50 52 4f 4a 5f 47 75 65 73  SELECT PROJ_Gues
a910: 73 53 72 69 64 46 72 6f 6d 53 48 50 28 27 2f 68  sSridFromSHP('/h
a920: 6f 6d 65 2f 73 61 6e 64 72 6f 2f 74 75 73 63 61  ome/sandro/tusca
a930: 6e 79 5f 73 68 70 2f 70 72 6f 76 32 30 31 31 27  ny_shp/prov2011'
a940: 29 3b 20 2d 2d 20 72 65 6d 65 6d 62 65 72 3a 20  ); -- remember: 
a950: 72 65 71 75 69 72 65 73 20 74 6f 20 65 78 70 6c  requires to expl
a960: 69 63 69 74 6c 79 20 73 65 74 20 53 50 41 54 49  icitly set SPATI
a970: 41 4c 49 54 45 5f 53 45 43 55 52 49 54 59 3d 72  ALITE_SECURITY=r
a980: 65 6c 61 78 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  elaxed..--------
a990: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
a9a0: 2d 2d 2d 2d 2d 2d 0d 0a 33 30 30 33 0d 0a 3c 2f  ------..3003..</
a9b0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 62 72 3e 0d  verbatim>..<br>.
a9c0: 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<hr><br>..<tabl
a9d0: 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38  e cellspacing="8
a9e0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38  " cellpadding="8
a9f0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 65 30  " bgcolor="#ffe0
aa00: 65 39 22 20 77 69 64 74 68 3d 22 31 30 30 25 22  e9" width="100%"
aa10: 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 31  >..<tr><th>..<h1
aa20: 3e 49 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 69 63  >Important notic
aa30: 65 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 75 73  e for Windows us
aa40: 65 72 73 3c 2f 68 31 3e 0d 0a 3c 2f 74 68 3e 3c  ers</h1>..</th><
aa50: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a  /tr>..<tr><td>..
aa60: 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 63 72  <b>PROJ.6</b> cr
aa70: 69 74 69 63 61 6c 6c 79 20 64 65 70 65 6e 64 73  itically depends
aa80: 20 6f 6e 20 69 74 73 20 6f 77 6e 20 70 72 69 76   on its own priv
aa90: 61 74 65 20 53 51 4c 69 74 65 20 64 61 74 61 62  ate SQLite datab
aaa0: 61 73 65 20 28 3c 62 3e 70 72 6f 6a 2e 64 62 3c  ase (<b>proj.db<
aab0: 2f 62 3e 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20  /b>) containing 
aac0: 61 6c 6c 20 72 65 6c 65 76 61 6e 74 20 64 65 66  all relevant def
aad0: 69 6e 69 74 69 6f 6e 73 20 61 62 6f 75 74 20 45  initions about E
aae0: 6c 6c 69 70 73 6f 69 64 73 2c 20 50 72 69 6d 65  llipsoids, Prime
aaf0: 20 4d 65 72 69 64 69 61 6e 73 2c 20 43 52 53 65   Meridians, CRSe
ab00: 73 2c 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f  s, Transformatio
ab10: 6e 73 20 61 6e 64 20 61 6c 69 6b 65 2e 3c 62 72  ns and alike.<br
ab20: 3e 0d 0a 49 66 20 50 52 4f 4a 2e 36 20 69 73 20  >..If PROJ.6 is 
ab30: 75 6e 61 62 6c 65 20 74 6f 20 63 6f 72 72 65 63  unable to correc
ab40: 74 6c 79 20 65 73 74 61 62 6c 69 73 68 20 61 20  tly establish a 
ab50: 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 74 68  connection to th
ab60: 69 73 20 64 61 74 61 62 61 73 65 20 69 74 20 77  is database it w
ab70: 69 6c 6c 20 62 65 20 73 65 76 65 72 65 6c 79 20  ill be severely 
ab80: 6c 69 6d 69 74 65 64 20 61 6e 64 20 77 69 6c 6c  limited and will
ab90: 20 6e 6f 74 20 62 65 20 61 62 6c 65 20 74 6f 20   not be able to 
aba0: 63 6f 72 72 65 63 74 6c 79 20 62 65 68 61 76 65  correctly behave
abb0: 20 61 73 20 65 78 70 65 63 74 65 64 2e 3c 62 72   as expected.<br
abc0: 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ><br>..<ul>..<li
abd0: 3e 3c 62 3e 3c 75 3e 3c 69 3e 53 68 6f 72 74 20  ><b><u><i>Short 
abe0: 63 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 69 3e 3c 2f  conclusion</i></
abf0: 75 3e 3c 2f 62 3e 3a 20 69 6e 73 74 61 6c 6c 69  u></b>: installi
ac00: 6e 67 20 74 68 65 20 73 6f 66 74 77 61 72 65 20  ng the software 
ac10: 61 6c 6f 6e 65 20 69 73 20 6e 6f 74 20 65 6e 6f  alone is not eno
ac20: 75 67 68 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 52  ugh.<br>..The PR
ac30: 4f 4a 2e 36 20 70 72 69 76 61 74 65 20 64 61 74  OJ.6 private dat
ac40: 61 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62  abase <b>proj.db
ac50: 3c 2f 62 3e 20 6d 75 73 74 20 62 65 20 70 72 6f  </b> must be pro
ac60: 70 65 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20  perly installed 
ac70: 61 73 20 77 65 6c 6c 2c 20 69 6e 20 6f 72 64 65  as well, in orde
ac80: 72 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74  r to ensure that
ac90: 20 61 6e 79 74 68 69 6e 67 20 72 75 6e 73 20 73   anything runs s
aca0: 6d 6f 6f 74 68 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c  moothly.</li>..<
acb0: 2f 75 6c 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 69  /ul><br>..This i
acc0: 73 6e 27 74 20 75 73 75 61 6c 6c 79 20 61 20 62  sn't usually a b
acd0: 69 67 20 69 73 73 75 65 20 6f 6e 20 4c 69 6e 75  ig issue on Linu
ace0: 78 20 61 6e 64 20 55 6e 69 78 2d 6c 69 6b 65 20  x and Unix-like 
acf0: 70 6c 61 74 66 6f 72 6d 73 2c 20 77 68 65 72 65  platforms, where
ad00: 20 61 20 72 61 74 69 6f 6e 61 6c 20 61 6e 64 20   a rational and 
ad10: 76 65 72 79 20 63 6c 65 61 72 20 66 69 6c 65 73  very clear files
ad20: 79 73 74 65 6d 20 6c 61 79 6f 75 74 20 65 78 69  ystem layout exi
ad30: 73 74 73 2e 3c 62 72 3e 0d 0a 4f 6e 20 74 68 65  sts.<br>..On the
ad40: 73 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73  se operating sys
ad50: 74 65 6d 73 20 74 68 65 20 70 61 63 6b 61 67 65  tems the package
ad60: 20 6d 61 6e 61 67 65 72 20 28 6f 72 20 3c 62 3e   manager (or <b>
ad70: 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 3c 2f 62 3e  make install</b>
ad80: 29 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63  ) will automatic
ad90: 61 6c 6c 79 20 74 61 6b 65 20 63 61 72 65 20 74  ally take care t
ada0: 6f 20 69 6e 73 74 61 6c 6c 20 3c 62 3e 70 72 6f  o install <b>pro
adb0: 6a 2e 64 62 3c 2f 62 3e 20 6f 6e 20 74 68 65 20  j.db</b> on the 
adc0: 6d 6f 73 74 20 61 70 70 72 6f 70 72 69 61 74 65  most appropriate
add0: 20 64 69 72 65 63 74 6f 72 79 20 28 75 73 75 61   directory (usua
ade0: 6c 6c 79 20 61 73 20 3c 62 3e 2f 75 73 72 2f 73  lly as <b>/usr/s
adf0: 68 61 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64  hare/proj/proj.d
ae00: 62 3c 2f 62 3e 20 6f 72 20 61 73 20 3c 62 3e 2f  b</b> or as <b>/
ae10: 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f  usr/local/share/
ae20: 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 3c 2f 62 3e  proj/proj.db</b>
ae30: 29 20 61 6e 64 20 74 68 61 74 27 73 20 61 6c 6c  ) and that's all
ae40: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 69 6e 67  .<br><br>..Thing
ae50: 73 20 61 72 65 20 75 6e 68 61 70 70 69 6c 79 20  s are unhappily 
ae60: 61 20 6c 69 74 74 6c 65 20 62 69 74 20 6d 6f 72  a little bit mor
ae70: 65 20 64 69 66 66 69 63 75 6c 74 20 6f 6e 20 57  e difficult on W
ae80: 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73  indows platforms
ae90: 2e 0d 0a 54 68 65 20 75 73 65 72 20 69 74 73 65  ...The user itse
aea0: 6c 66 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c  lf is responsibl
aeb0: 65 20 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 69  e for properly i
aec0: 6e 73 74 61 6c 6c 69 6e 67 20 3c 62 3e 70 72 6f  nstalling <b>pro
aed0: 6a 2e 64 62 3c 2f 62 3e 0d 0a 53 6f 20 69 74 20  j.db</b>..So it 
aee0: 62 65 63 6f 6d 65 73 20 63 72 69 74 69 63 61 6c  becomes critical
aef0: 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 74   understanding t
af00: 68 65 20 62 61 73 69 63 20 72 75 6c 65 73 20 61  he basic rules a
af10: 64 6f 70 74 65 64 20 62 79 20 3c 62 3e 6c 69 62  dopted by <b>lib
af20: 73 70 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 69  spatialite</b> i
af30: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65  n order to prope
af40: 72 6c 79 20 6c 6f 63 61 74 65 20 3c 62 3e 70 72  rly locate <b>pr
af50: 6f 6a 2e 64 62 3c 2f 62 3e 20 6f 6e 20 57 69 6e  oj.db</b> on Win
af60: 64 6f 77 73 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  dows...</td></tr
af70: 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 32  >..<tr><th>..<h2
af80: 3e 57 68 65 72 65 20 70 72 6f 6a 2e 64 62 20 69  >Where proj.db i
af90: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  s expected to be
afa0: 20 66 6f 75 6e 64 20 6f 6e 20 57 69 6e 64 6f 77   found on Window
afb0: 73 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  s</h2>..</td></t
afc0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 6f  r>..<tr><td>..<o
afd0: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73  l>..<li>the firs
afe0: 74 20 70 6c 61 63 65 20 77 68 65 72 65 20 3c 62  t place where <b
aff0: 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c  >proj.db</b> wil
b000: 6c 20 62 65 20 73 65 61 72 63 68 65 64 20 69 73  l be searched is
b010: 20 74 68 65 20 73 61 6d 65 20 66 6f 6c 64 65 72   the same folder
b020: 20 66 6f 72 6d 20 77 68 65 72 65 20 74 68 65 20   form where the 
b030: 3c 62 3e 45 58 45 3c 2f 62 3e 20 62 69 6e 61 72  <b>EXE</b> binar
b040: 79 20 77 61 73 20 69 6e 69 74 69 61 6c 6c 79 20  y was initially 
b050: 6c 6f 61 64 65 64 2e 3c 62 72 3e 0d 0a 3c 69 3e  loaded.<br>..<i>
b060: 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f  <u>Example</i></
b070: 75 3e 3a 20 61 73 73 75 6d 69 6e 67 20 74 68 61  u>: assuming tha
b080: 74 20 79 6f 75 20 61 72 65 20 63 75 72 72 65 6e  t you are curren
b090: 74 6c 79 20 65 78 65 63 75 74 69 6e 67 20 3c 62  tly executing <b
b0a0: 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74  >C:\myprogs\spat
b0b0: 69 61 6c 69 74 65 5c 62 69 6e 5c 73 70 61 74 69  ialite\bin\spati
b0c0: 61 6c 69 74 65 2e 65 78 65 3c 2f 62 3e 0d 0a 3c  alite.exe</b>..<
b0d0: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 61 6e  ul>..<li>then an
b0e0: 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65   attempt will be
b0f0: 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74   made to connect
b100: 20 3c 62 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73   <b>C:\myprogs\s
b110: 70 61 74 69 61 6c 69 74 65 5c 62 69 6e 5c 70 72  patialite\bin\pr
b120: 6f 6a 2e 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a  oj.db</b></li>..
b130: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
b140: 61 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74  a second attempt
b150: 20 77 69 6c 6c 20 62 65 20 6d 61 64 65 20 6f 6e   will be made on
b160: 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 3c   behalf of the <
b170: 62 3e 50 75 62 6c 69 63 3c 2f 62 3e 20 66 6f 6c  b>Public</b> fol
b180: 64 65 72 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e  der.<br>..<i><u>
b190: 45 78 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a  Example</u></i>:
b1a0: 20 61 6e 20 61 74 74 65 6d 70 74 20 77 69 6c 6c   an attempt will
b1b0: 20 62 65 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e   be made to conn
b1c0: 65 63 74 20 3c 62 3e 43 3a 5c 55 73 65 72 73 5c  ect <b>C:\Users\
b1d0: 50 75 62 6c 69 63 5c 73 70 61 74 69 61 6c 69 74  Public\spatialit
b1e0: 65 5c 70 72 6f 6a 5c 70 72 6f 6a 2e 64 62 3c 2f  e\proj\proj.db</
b1f0: 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 74  b></li>..<li>a t
b200: 68 69 72 64 20 28 61 6e 64 20 6c 61 73 74 29 20  hird (and last) 
b210: 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20  attempt will be 
b220: 6d 61 64 65 20 6f 6e 20 62 65 68 61 6c 66 20 6f  made on behalf o
b230: 66 20 74 68 65 20 3c 62 3e 55 73 65 72 3c 2f 62  f the <b>User</b
b240: 3e 20 66 6f 6c 64 65 72 2e 3c 62 72 3e 0d 0a 3c  > folder.<br>..<
b250: 69 3e 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e  i><u>Example</i>
b260: 3c 2f 75 3e 3a 20 61 6e 20 61 74 74 65 6d 70 74  </u>: an attempt
b270: 20 77 69 6c 6c 20 62 65 20 6d 61 64 65 20 74 6f   will be made to
b280: 20 63 6f 6e 6e 65 63 74 20 3c 62 3e 43 3a 5c 55   connect <b>C:\U
b290: 73 65 72 73 5c 73 61 6e 64 72 6f 5c 73 70 61 74  sers\sandro\spat
b2a0: 69 61 6c 69 74 65 5c 70 72 6f 6a 5c 70 72 6f 6a  ialite\proj\proj
b2b0: 2e 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  .db</b></li>..</
b2c0: 6f 6c 3e 0d 0a 3c 68 33 3e 41 6e 20 75 73 65 66  ol>..<h3>An usef
b2d0: 75 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 63 68  ul diagnostic ch
b2e0: 65 63 6b 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61  eck</h3>..<verba
b2f0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 50 52 4f  tim>..SELECT PRO
b300: 4a 5f 47 65 74 44 61 74 61 62 61 73 65 50 61 74  J_GetDatabasePat
b310: 68 28 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  h();..</verbatim
b320: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20  >..<ul>..<li>if 
b330: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 73 20 72  <b>NULL</b> is r
b340: 65 74 75 72 6e 65 64 2c 20 74 68 65 6e 20 50 52  eturned, then PR
b350: 4f 4a 2e 36 20 69 73 20 64 65 66 69 6e 69 74 65  OJ.6 is definite
b360: 6c 79 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e  ly unable to con
b370: 6e 65 63 74 20 74 6f 20 69 74 73 20 6f 77 6e 20  nect to its own 
b380: 70 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 64  private SQLite d
b390: 61 74 61 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e  atabase <b>proj.
b3a0: 64 62 3c 2f 62 3e 3c 62 72 3e 0d 0a 59 6f 75 20  db</b><br>..You 
b3b0: 68 61 76 65 20 74 6f 20 63 61 72 65 66 75 6c 6c  have to carefull
b3c0: 79 20 76 65 72 69 66 79 20 74 68 61 74 20 69 74  y verify that it
b3d0: 27 73 20 72 65 61 6c 6c 79 20 69 6e 73 74 61 6c  's really instal
b3e0: 6c 65 64 20 6f 6e 20 6f 6e 65 20 6f 66 20 74 68  led on one of th
b3f0: 65 20 65 78 70 65 63 74 65 64 20 73 74 61 6e 64  e expected stand
b400: 61 72 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 3c 2f  ard locations.</
b410: 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 77 69  li>..<li>otherwi
b420: 73 65 20 74 68 65 20 70 61 74 68 20 6c 65 61 64  se the path lead
b430: 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65  ing to the curre
b440: 6e 74 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 3c  ntly connected <
b450: 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69  b>proj.db</b> wi
b460: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c  ll be returned.<
b470: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d  /li>..</ul><br>.
b480: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74  .</td></tr>..</t
b490: 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  able><br><br>..<
b4a0: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e  table cellspacin
b4b0: 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="8" cellpaddin
b4c0: 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23  g="8" bgcolor="#
b4d0: 63 39 66 66 66 30 22 3e 0d 0a 3c 74 72 3e 3c 74  c9fff0">..<tr><t
b4e0: 68 3e 0d 0a 3c 68 32 3e 55 73 69 6e 67 20 74 68  h>..<h2>Using th
b4f0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  e environment va
b500: 72 69 61 62 6c 65 20 50 52 4f 4a 5f 4c 49 42 3c  riable PROJ_LIB<
b510: 2f 68 32 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e  /h2>..</th></tr>
b520: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 50  ..<tr><td>..<b>P
b530: 52 4f 4a 5f 4c 49 42 3c 2f 62 3e 20 69 73 20 61  ROJ_LIB</b> is a
b540: 20 73 74 61 6e 64 61 72 64 20 65 6e 76 69 72 6f   standard enviro
b550: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73  nment variable s
b560: 75 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a  upported by PROJ
b570: 20 69 74 73 65 6c 66 2e 0d 0a 3c 75 6c 3e 0d 0a   itself...<ul>..
b580: 3c 6c 69 3e 74 68 65 20 3c 62 3e 61 62 73 6f 6c  <li>the <b>absol
b590: 75 74 65 3c 2f 62 3e 20 70 61 74 68 20 74 6f 20  ute</b> path to 
b5a0: 74 68 65 20 64 69 72 74 6f 72 79 20 63 6f 6e 74  the dirtory cont
b5b0: 61 69 6e 69 6e 67 20 74 68 65 20 3c 62 3e 70 72  aining the <b>pr
b5c0: 6f 6a 2e 64 62 3c 2f 62 3e 20 73 68 6f 75 6c 64  oj.db</b> should
b5d0: 20 62 65 20 75 73 65 64 3c 2f 6c 69 3e 0d 0a 3c   be used</li>..<
b5e0: 2f 75 6c 3e 3c 62 72 3e 0d 0a 57 68 65 6e 20 3c  /ul><br>..When <
b5f0: 62 3e 50 52 4f 4a 5f 4c 49 42 3c 2f 62 3e 20 69  b>PROJ_LIB</b> i
b600: 73 20 73 65 74 2c 20 74 68 65 6e 20 50 52 4f 4a  s set, then PROJ
b610: 2e 36 20 77 69 6c 6c 20 64 69 72 65 63 74 6c 79  .6 will directly
b620: 20 75 73 65 20 69 74 73 20 6f 77 6e 20 70 72 69   use its own pri
b630: 76 61 74 65 20 64 61 74 61 62 61 73 65 20 28 61  vate database (a
b640: 6e 64 20 77 68 65 6e 20 6e 65 65 64 65 64 20 61  nd when needed a
b650: 6e 79 20 67 72 69 64 73 29 20 69 6e 20 74 68 65  ny grids) in the
b660: 20 64 69 72 65 63 74 6f 72 79 20 72 65 66 65 72   directory refer
b670: 65 6e 63 65 64 20 62 79 20 74 68 65 20 76 61 72  enced by the var
b680: 69 61 62 6c 65 2e 3c 62 72 3e 0d 0a 53 75 63 68  iable.<br>..Such
b690: 20 61 20 63 61 70 61 62 69 6c 69 74 79 20 69 73   a capability is
b6a0: 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 62 6f   supported on bo
b6b0: 74 68 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 4c  th Windows and L
b6c0: 69 6e 75 78 20 28 61 6e 64 20 6f 6e 20 61 6e 79  inux (and on any
b6d0: 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 29   other platform)
b6e0: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75  .<br><br>..<i><u
b6f0: 3e 4c 69 6e 75 78 20 65 78 61 6d 70 6c 65 3c 2f  >Linux example</
b700: 75 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  u></i>:..<ul>..<
b710: 6c 69 3e 3c 62 3e 65 78 70 6f 72 74 20 22 50 52  li><b>export "PR
b720: 4f 4a 5f 4c 49 42 3d 2f 68 6f 6d 65 2f 73 61 6e  OJ_LIB=/home/san
b730: 64 72 6f 2f 70 72 6f 6a 22 3c 62 72 3e 0d 0a 65  dro/proj"<br>..e
b740: 63 68 6f 20 24 50 52 4f 4a 5f 4c 49 42 3c 62 72  cho $PROJ_LIB<br
b750: 3e 0d 0a 73 70 61 74 69 61 6c 69 74 65 3c 62 3e  >..spatialite<b>
b760: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e  </li>..</ul><br>
b770: 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 57 69 6e 64  <br>..<i><u>Wind
b780: 6f 77 73 20 65 78 61 6d 70 6c 65 3c 2f 75 3e 3c  ows example</u><
b790: 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /i>:..<ul>..<li>
b7a0: 3c 62 3e 53 45 54 20 50 52 4f 4a 5f 4c 49 42 3d  <b>SET PROJ_LIB=
b7b0: 43 3a 5c 55 73 65 72 73 5c 73 61 6e 64 72 6f 5c  C:\Users\sandro\
b7c0: 70 72 6f 6a 3c 62 72 3e 0d 0a 65 63 68 6f 20 25  proj<br>..echo %
b7d0: 50 52 4f 4a 5f 4c 49 42 25 3c 62 72 3e 0d 0a 73  PROJ_LIB%<br>..s
b7e0: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 62 3e  patialite_gui<b>
b7f0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e  </li>..</ul><br>
b800: 3c 62 72 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e  <br>..</th></tr>
b810: 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a  ..</table><br>..
b820: 3c 68 72 3e 0d 0a 3c 68 31 3e 50 52 4f 4a 2e 36  <hr>..<h1>PROJ.6
b830: 20 73 75 70 70 6f 72 74 20 6f 6e 20 73 70 61 74   support on spat
b840: 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 31 3e 0d  ialite_gui</h1>.
b850: 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63  .<table cellspac
b860: 69 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64  ing="8" cellpadd
b870: 69 6e 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d  ing="8" bgcolor=
b880: 22 23 65 38 66 66 65 38 22 20 62 6f 72 64 65 72  "#e8ffe8" border
b890: 3d 22 31 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d  ="1">..<tr><td>.
b8a0: 0a 54 68 65 20 47 55 49 20 74 6f 6f 6c 20 6e 6f  .The GUI tool no
b8b0: 77 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 65 77  w contains a new
b8c0: 20 66 65 61 74 75 72 65 20 69 6e 74 65 6e 64 65   feature intende
b8d0: 64 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 73 20  d to make it as 
b8e0: 65 61 73 79 20 61 73 20 70 6f 73 73 69 62 6c 65  easy as possible
b8f0: 20 74 6f 20 73 65 74 20 3c 62 3e 50 52 4f 4a 5f   to set <b>PROJ_
b900: 4c 49 42 3c 2f 62 3e 20 75 73 65 64 20 62 79 20  LIB</b> used by 
b910: 50 52 4f 4a 2e 36 3c 62 72 3e 3c 62 72 3e 0d 0a  PROJ.6<br><br>..
b920: 54 68 65 20 6d 61 69 6e 20 6d 65 6e 75 20 6e 6f  The main menu no
b930: 77 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 3c 62  w contains an <b
b940: 3e 3c 69 3e 45 78 74 65 72 6e 61 6c 20 76 61 72  ><i>External var
b950: 69 61 62 6c 65 20 50 52 4f 4a 5f 4c 49 42 3c 2f  iable PROJ_LIB</
b960: 69 3e 3c 2f 62 3e 20 69 74 65 6d 2e 3c 62 72 3e  i></b> item.<br>
b970: 0d 0a 41 66 74 65 72 20 61 63 74 69 76 61 74 69  ..After activati
b980: 6e 67 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  ng the correspon
b990: 64 69 6e 67 20 6f 70 74 69 6f 6e 20 61 20 73 74  ding option a st
b9a0: 61 6e 64 61 72 64 20 3c 62 3e 3c 69 3e 46 69 6c  andard <b><i>Fil
b9b0: 65 20 53 65 6c 65 63 74 69 6f 6e 20 44 69 61 6c  e Selection Dial
b9c0: 6f 67 20 3c 2f 69 3e 3c 2f 62 3e 20 77 69 6c 6c  og </i></b> will
b9d0: 20 62 65 20 73 68 6f 77 6e 2c 20 74 68 75 73 20   be shown, thus 
b9e0: 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 75 73 65  enabling the use
b9f0: 72 20 74 6f 20 6c 6f 63 61 74 65 20 74 68 65 20  r to locate the 
ba00: 70 72 69 76 61 74 65 20 3c 62 3e 70 72 6f 6a 2e  private <b>proj.
ba10: 64 62 3c 2f 62 3e 20 64 61 74 61 62 61 73 65 20  db</b> database 
ba20: 6f 66 20 50 52 4f 4a 2e 36 20 69 6e 20 74 68 65  of PROJ.6 in the
ba30: 20 66 69 6c 65 2d 73 79 73 74 65 6d 2e 3c 62 72   file-system.<br
ba40: 3e 3c 62 72 3e 0d 0a 4f 6e 63 65 20 74 68 65 20  ><br>..Once the 
ba50: 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 68  <b>proj.db</b> h
ba60: 61 73 20 62 65 65 6e 20 63 6f 72 72 65 63 74 6c  as been correctl
ba70: 79 20 6c 6f 63 61 74 65 64 2c 20 3c 62 3e 73 70  y located, <b>sp
ba80: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
ba90: 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61   will automatica
baa0: 6c 6c 79 20 73 65 74 20 74 68 65 20 3c 62 3e 50  lly set the <b>P
bab0: 52 4f 4a 5f 4c 49 42 3c 2f 62 3e 20 76 61 72 69  ROJ_LIB</b> vari
bac0: 61 62 6c 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41  able.<br><br>..A
bad0: 6e 64 20 74 68 61 74 27 73 20 6e 6f 74 20 61 6c  nd that's not al
bae0: 6c 3b 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  l; <b>spatialite
baf0: 5f 67 75 69 3c 2f 62 3e 20 77 69 6c 6c 20 72 65  _gui</b> will re
bb00: 61 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 76  ad the current v
bb10: 61 6c 75 65 20 6f 66 20 3c 62 3e 50 52 4f 4a 5f  alue of <b>PROJ_
bb20: 4c 49 42 3c 2f 62 3e 20 77 68 65 6e 20 73 74 61  LIB</b> when sta
bb30: 72 74 65 64 2c 20 73 6f 20 74 68 61 74 20 77 69  rted, so that wi
bb40: 6c 6c 20 62 65 20 61 20 6f 6e 65 20 74 69 6d 65  ll be a one time
bb50: 20 61 66 66 61 69 72 2e 0d 0a 3c 2f 74 64 3e 0d   affair...</td>.
bb60: 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  .<td>..<img src=
bb70: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
bb80: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
bb90: 6e 73 2f 70 72 6f 6a 36 70 69 63 73 2f 67 75 69  ns/proj6pics/gui
bba0: 2d 70 72 6f 6a 36 2e 70 6e 67 22 20 61 6c 74 3d  -proj6.png" alt=
bbb0: 22 67 75 69 20 70 72 6f 6a 36 22 3e 0d 0a 3c 2f  "gui proj6">..</
bbc0: 74 64 3e 3c 2f 74 72 3e 3c 74 72 3e 3c 74 64 3e  td></tr><tr><td>
bbd0: 0d 0a 54 68 65 72 65 20 69 73 20 61 20 66 75 72  ..There is a fur
bbe0: 74 68 65 72 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ther enhancement
bbf0: 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20   available when 
bc00: 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75  <b>spatialite_gu
bc10: 69 3c 2f 62 3e 20 69 73 20 75 73 69 6e 67 20 50  i</b> is using P
bc20: 52 4f 4a 2e 36 3c 62 72 3e 0d 0a 49 74 27 73 20  ROJ.6<br>..It's 
bc30: 61 20 76 65 72 79 20 6c 69 74 74 6c 65 20 65 76  a very little ev
bc40: 69 64 65 6e 74 20 69 6e 6e 6f 76 61 74 69 6f 6e  ident innovation
bc50: 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 70 72  , but it will pr
bc60: 6f 62 61 62 6c 79 20 62 65 20 68 69 67 68 6c 79  obably be highly
bc70: 20 61 70 70 72 65 63 69 61 74 65 64 20 62 79 20   appreciated by 
bc80: 6d 61 6e 79 20 75 73 65 72 73 2e 3c 62 72 3e 3c  many users.<br><
bc90: 62 72 3e 0d 0a 57 68 65 6e 20 6c 6f 61 64 69 6e  br>..When loadin
bca0: 67 20 61 20 53 68 61 70 65 66 69 6c 65 2c 20 74  g a Shapefile, t
bcb0: 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c  he appropriate <
bcc0: 62 3e 53 52 49 44 20 76 61 6c 75 65 3c 2f 62 3e  b>SRID value</b>
bcd0: 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74   will be automat
bce0: 69 63 61 6c 6c 79 20 64 65 74 65 72 6d 69 6e 65  ically determine
bcf0: 64 20 62 79 20 65 78 61 6d 69 6e 69 6e 67 20 74  d by examining t
bd00: 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68  he content of th
bd10: 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 3c 62 3e 2e  e companion <b>.
bd20: 70 72 6a 3c 2f 62 3e 20 66 69 6c 65 20 28 69 66  prj</b> file (if
bd30: 20 69 74 20 65 78 69 73 74 73 29 2e 0d 0a 3c 2f   it exists)...</
bd40: 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20  td>..<td>..<img 
bd50: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
bd60: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
bd70: 61 2d 73 69 6e 73 2f 70 72 6f 6a 36 70 69 63 73  a-sins/proj6pics
bd80: 2f 6c 6f 61 64 2d 73 68 70 2d 70 72 6f 6a 36 2e  /load-shp-proj6.
bd90: 70 6e 67 22 20 61 6c 74 3d 22 67 75 69 20 70 72  png" alt="gui pr
bda0: 6f 6a 36 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  oj6">..</td></tr
bdb0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d  >..</table><br>.
bdc0: 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72  .<hr><br>..<a hr
bdd0: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  ef="https://www.
bde0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73  gaia-gis.it/foss
bdf0: 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65  il/libspatialite
be00: 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30  /wiki?name=4.3.0
be10: 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a  -doc">back</a>.Z
be20: 20 36 36 37 32 35 32 35 64 65 35 63 34 65 39 39   6672525de5c4e99
be30: 39 35 64 35 33 66 31 64 61 36 34 32 64 65 38 33  95d53f1da642de83
be40: 33 0a                                            3.