Wiki page
[PROJ.6] by
sandro
2019-05-01 11:52:44.
0000: 44 20 32 30 31 39 2d 30 35 2d 30 31 54 31 31 3a D 2019-05-01T11:
0010: 35 32 3a 34 34 2e 38 39 36 0a 4c 20 50 52 4f 4a 52:44.896.L PROJ
0020: 2e 36 0a 50 20 62 66 64 36 37 38 37 30 32 36 39 .6.P bfd67870269
0030: 61 32 63 65 33 66 30 39 33 37 34 61 35 32 61 34 a2ce3f09374a52a4
0040: 35 38 31 39 63 66 31 66 61 32 32 64 62 0a 55 20 5819cf1fa22db.U
0050: 73 61 6e 64 72 6f 0a 57 20 33 33 35 39 32 0a 3c sandro.W 33592.<
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 74 68 65 72 65 20 69 ages, so there i
01a0: 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 77 61 73 s no need to was
01b0: 74 65 20 74 69 6d 65 20 69 6e 20 66 75 74 68 65 te time in futhe
01c0: 72 20 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 2e r presentations.
01d0: 3c 62 72 3e 0d 0a 57 65 20 6a 75 73 74 20 6e 65 <br>..We just ne
01e0: 65 64 20 61 20 62 69 74 20 6f 66 20 68 69 73 74 ed a bit of hist
01f0: 6f 72 79 20 74 6f 20 66 75 6c 6c 79 20 75 6e 64 ory to fully und
0200: 65 72 73 74 61 6e 64 20 74 68 65 20 63 75 72 72 erstand the curr
0210: 65 6e 74 20 73 74 61 74 65 20 6f 66 20 74 68 65 ent state of the
0220: 20 61 72 74 20 6f 66 20 74 68 69 73 20 6c 69 62 art of this lib
0230: 72 61 72 79 3a 3c 62 72 3e 0d 0a 3c 68 33 3e 50 rary:<br>..<h3>P
0240: 61 73 74 20 48 69 73 74 6f 72 79 3c 2f 68 33 3e ast History</h3>
0250: 0d 0a 3c 62 3e 3c 75 3e 54 69 6d 65 6c 69 6e 65 ..<b><u>Timeline
0260: 3c 2f 75 3e 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d </u></b>:..<ul>.
0270: 0a 3c 6c 69 3e 56 65 72 79 20 66 65 77 20 75 73 .<li>Very few us
0280: 65 72 73 20 61 6e 64 20 64 65 76 65 6c 6f 70 65 ers and develope
0290: 72 73 20 64 6f 20 72 65 61 6c 6c 79 20 72 65 61 rs do really rea
02a0: 6c 69 7a 65 20 68 6f 77 20 61 6e 63 69 65 6e 74 lize how ancient
02b0: 20 69 73 20 50 52 4f 4a 2c 20 61 6e 64 20 68 6f is PROJ, and ho
02c0: 77 20 66 61 72 20 69 6e 20 74 69 6d 65 20 69 74 w far in time it
02d0: 20 73 74 61 72 74 65 64 20 6d 6f 76 69 6e 67 20 started moving
02e0: 69 74 73 20 66 69 72 73 74 20 73 74 65 70 73 2e its first steps.
02f0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 </li>..<li>in <b
0300: 3e 31 39 38 30 3c 2f 62 3e 20 28 61 62 6f 75 74 >1980</b> (about
0310: 20 34 30 20 79 65 61 72 73 20 61 67 6f 29 20 47 40 years ago) G
0320: 65 72 61 6c 64 20 45 76 65 6e 64 65 6e 20 73 74 erald Evenden st
0330: 61 72 74 65 64 20 77 6f 72 6b 69 6e 67 20 6f 6e arted working on
0340: 20 74 68 65 20 76 65 72 79 20 66 69 72 73 74 20 the very first
0350: 50 52 4f 4a 20 76 65 72 73 69 6f 6e 2c 20 61 6e PROJ version, an
0360: 64 20 61 74 20 74 68 65 20 74 69 6d 65 20 69 74 d at the time it
0370: 20 77 61 73 20 61 20 52 61 74 66 6f 72 20 70 72 was a Ratfor pr
0380: 6f 67 72 61 6d 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 ogram.</li>..<li
0390: 3e 69 6e 20 3c 62 3e 31 39 38 35 3c 2f 62 3e 20 >in <b>1985</b>
03a0: 74 68 65 20 63 6f 64 65 20 77 61 73 20 63 6f 6d the code was com
03b0: 70 6c 65 74 65 6c 79 20 72 65 77 72 69 74 74 65 pletely rewritte
03c0: 6e 20 69 6e 20 43 20 74 6f 20 72 75 6e 20 6f 6e n in C to run on
03d0: 20 55 4e 49 58 20 73 79 73 74 65 6d 73 2c 20 61 UNIX systems, a
03e0: 6e 64 20 69 74 20 77 61 73 20 6e 61 6d 65 64 20 nd it was named
03f0: 3c 62 3e 50 52 4f 4a 2e 32 3c 2f 62 3e 2e 3c 2f <b>PROJ.2</b>.</
0400: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e 31 li>..<li>in <b>1
0410: 39 39 30 3c 2f 62 3e 20 77 61 73 20 72 65 6c 65 990</b> was rele
0420: 61 73 65 64 20 61 6e 20 75 70 64 61 74 65 64 20 ased an updated
0430: 76 65 72 73 69 6f 6e 20 6e 61 6d 65 64 20 3c 62 version named <b
0440: 3e 50 52 4f 4a 2e 33 3c 2f 6c 69 3e 0d 0a 3c 6c >PROJ.3</li>..<l
0450: 69 3e 69 6e 20 3c 62 3e 31 39 39 34 3c 2f 62 3e i>in <b>1994</b>
0460: 20 61 20 6d 6f 72 65 20 61 64 76 61 6e 63 65 64 a more advanced
0470: 20 76 65 72 73 69 6f 6e 20 77 61 73 20 72 65 6c version was rel
0480: 65 61 73 65 64 2c 20 61 6e 64 20 69 74 20 77 61 eased, and it wa
0490: 73 20 6f 62 76 69 6f 75 73 6c 79 20 6e 61 6d 65 s obviously name
04a0: 64 20 3c 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e 3c d <b>PROJ.4</b><
04b0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e /li>..<li>in <b>
04c0: 31 39 39 35 3c 2f 62 3e 20 45 76 65 6e 64 65 6e 1995</b> Evenden
04d0: 20 73 74 6f 70 70 65 64 20 61 6e 79 20 66 75 72 stopped any fur
04e0: 74 68 65 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 ther development
04f0: 20 61 63 74 69 76 69 74 79 20 61 6e 64 20 74 68 activity and th
0500: 65 20 70 72 6f 6a 65 63 74 20 62 65 63 6f 6d 65 e project become
0510: 20 69 6e 61 63 74 69 76 65 20 66 6f 72 20 73 65 inactive for se
0520: 76 65 72 61 6c 20 79 65 61 72 73 2e 3c 2f 6c 69 veral years.</li
0530: 3e 0d 0a 3c 6c 69 3e 69 6e 20 3c 62 3e 32 30 30 >..<li>in <b>200
0540: 30 3c 2f 62 3e 20 46 72 61 6e 6b 20 57 61 72 6d 0</b> Frank Warm
0550: 65 72 64 61 6d 20 62 61 63 61 6d 65 20 74 68 65 erdam bacame the
0560: 20 6e 65 77 20 6d 61 69 6e 74 61 69 6e 65 72 20 new maintainer
0570: 61 6e 64 20 72 65 6c 65 61 73 65 64 20 76 65 72 and released ver
0580: 73 69 6f 6e 20 3c 62 3e 34 2e 34 3c 2f 62 3e 3c sion <b>4.4</b><
0590: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 66 74 65 72 20 /li>..<li>After
05a0: 74 68 69 73 20 72 65 62 6f 72 6e 20 74 68 65 20 this reborn the
05b0: 72 65 76 69 74 61 6c 69 7a 65 64 20 70 72 6f 6a revitalized proj
05c0: 65 63 74 20 63 6f 6e 74 69 6e 75 65 64 20 74 6f ect continued to
05d0: 20 62 65 20 72 65 67 75 6c 61 72 6c 79 20 6d 61 be regularly ma
05e0: 69 6e 74 61 69 6e 65 64 2c 20 62 75 74 20 6e 6f intained, but no
05f0: 20 66 75 72 74 68 65 72 20 72 65 6c 65 76 61 6e further relevan
0600: 74 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 77 t improvements w
0610: 65 72 65 20 69 6e 74 72 6f 64 75 63 65 64 2e 3c ere introduced.<
0620: 62 72 3e 0d 0a 50 52 4f 4a 2e 34 20 6a 75 73 74 br>..PROJ.4 just
0630: 20 63 6f 6e 74 69 6e 75 65 64 20 69 74 73 20 76 continued its v
0640: 65 72 79 20 70 6c 61 63 69 64 20 65 76 6f 6c 75 ery placid evolu
0650: 74 69 6f 6e 20 69 6e 20 61 20 73 75 62 73 74 61 tion in a substa
0660: 6e 74 69 61 6c 6c 79 20 63 6f 6e 73 65 72 76 61 ntially conserva
0670: 74 69 76 65 20 77 61 79 2e 3c 2f 6c 69 3e 0d 0a tive way.</li>..
0680: 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 </ul><br>..<b><u
0690: 3e 53 68 6f 72 74 20 63 6f 6e 63 6c 75 73 69 6f >Short conclusio
06a0: 6e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 20 66 n</u></b>: the f
06b0: 6f 75 72 74 68 20 76 65 72 73 69 6f 6e 20 6f 66 ourth version of
06c0: 20 50 52 4f 4a 20 28 61 6b 61 20 3c 62 3e 50 52 PROJ (aka <b>PR
06d0: 4f 4a 2e 34 3c 2f 62 3e 29 20 6c 61 73 74 65 64 OJ.4</b>) lasted
06e0: 20 66 6f 72 20 61 62 6f 75 74 20 74 77 6f 20 64 for about two d
06f0: 65 63 61 64 65 73 2c 20 61 20 76 65 72 79 20 75 ecades, a very u
0700: 6e 63 6f 6d 6d 6f 6e 20 73 69 74 75 61 74 69 6f ncommon situatio
0710: 6e 2e 3c 62 72 3e 0d 0a 41 6e 64 20 63 6f 6e 73 n.<br>..And cons
0720: 65 71 75 65 6e 74 6c 79 20 61 20 66 75 6c 6c 20 equently a full
0730: 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 64 65 generation of de
0740: 76 65 6c 6f 70 65 72 73 20 61 6e 64 20 75 73 65 velopers and use
0750: 72 73 20 62 65 63 61 6d 65 20 73 69 6e 63 65 72 rs became sincer
0760: 65 6c 79 20 63 6f 6e 76 69 6e 63 65 64 20 74 68 ely convinced th
0770: 61 74 20 50 52 4f 4a 2e 34 20 77 61 73 20 74 68 at PROJ.4 was th
0780: 65 20 72 65 61 6c 20 6e 61 6d 65 20 6f 66 20 74 e real name of t
0790: 68 65 20 6c 69 62 72 61 72 79 2e 0d 0a 3c 68 33 he library...<h3
07a0: 3e 54 68 65 20 72 65 76 6f 6c 75 74 69 6f 6e 20 >The revolution
07b0: 63 6f 6d 65 73 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c comes</h3>..<b><
07c0: 75 3e 54 69 6d 65 6c 69 6e 65 3c 2f 75 3e 3c 2f u>Timeline</u></
07d0: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 b>:..<ul>..<li>i
07e0: 6e 20 3c 62 3e 32 30 31 38 3c 2f 62 3e 20 45 76 n <b>2018</b> Ev
07f0: 65 6e 20 52 6f 75 61 75 6c 74 2c 20 4b 72 69 73 en Rouault, Kris
0800: 74 69 61 6e 20 45 76 65 72 73 20 61 6e 64 20 6f tian Evers and o
0810: 74 68 65 72 73 20 73 74 61 72 74 20 64 65 76 65 thers start deve
0820: 6c 6f 70 69 6e 67 20 61 20 72 65 76 6f 6c 75 74 loping a revolut
0830: 69 6f 6e 69 7a 65 64 20 50 52 4f 4a 20 73 75 70 ionized PROJ sup
0840: 70 6f 72 74 69 6e 67 20 6d 61 6e 79 20 72 65 6c porting many rel
0850: 65 76 61 6e 74 20 69 6e 6e 6f 76 61 74 69 6f 6e evant innovation
0860: 73 2e 3c 62 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 2e s.<br>..<b>PROJ.
0870: 35 3c 2f 62 3e 20 69 73 20 69 6e 74 65 6e 64 65 5</b> is intende
0880: 64 20 74 6f 20 62 65 20 74 68 65 20 66 69 72 73 d to be the firs
0890: 74 20 70 72 65 6c 69 6d 69 6e 61 72 79 20 73 74 t preliminary st
08a0: 65 70 20 6f 66 20 61 20 6d 6f 72 65 20 63 6f 6d ep of a more com
08b0: 70 6c 65 78 20 65 76 6f 6c 75 74 69 6f 6e 20 73 plex evolution s
08c0: 63 68 65 6d 61 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 chema.</li>..<li
08d0: 3e 6f 6e 20 3c 62 3e 4d 61 72 63 68 20 32 30 31 >on <b>March 201
08e0: 39 3c 2f 62 3e 20 61 20 6d 6f 72 65 20 6d 61 74 9</b> a more mat
08f0: 75 72 65 20 76 65 72 73 69 6f 6e 20 69 73 20 72 ure version is r
0900: 65 6c 65 61 73 65 64 2c 20 61 6e 64 20 69 74 27 eleased, and it'
0910: 73 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 3c s <b>PROJ.6</b><
0920: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 65 78 74 20 79 /li>..<li>Next y
0930: 65 61 72 20 28 32 30 32 30 29 20 3c 62 3e 50 52 ear (2020) <b>PR
0940: 4f 4a 2e 37 3c 2f 62 3e 20 69 73 20 65 78 70 65 OJ.7</b> is expe
0950: 63 74 65 64 20 74 6f 20 62 65 20 72 65 6c 65 61 cted to be relea
0960: 73 65 64 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c sed, and it will
0970: 20 66 75 6c 6c 79 20 63 6f 6d 70 6c 65 74 65 20 fully complete
0980: 74 68 65 20 74 72 61 6e 73 69 74 69 6f 6e 20 62 the transition b
0990: 65 74 77 65 65 6e 20 74 68 65 20 6f 6c 64 20 61 etween the old a
09a0: 6e 64 20 6e 65 77 20 61 72 63 68 69 74 65 63 74 nd new architect
09b0: 75 72 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c ures.</li>..</ul
09c0: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4e >..<br>..<b><u>N
09d0: 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 ote</u></b>: the
09e0: 20 77 68 6f 6c 65 20 74 72 61 6e 73 69 74 69 6f whole transitio
09f0: 6e 20 69 6d 70 6c 69 65 73 20 6d 61 6e 79 20 72 n implies many r
0a00: 65 6c 65 76 61 6e 74 20 63 68 61 6e 67 65 73 2c elevant changes,
0a10: 20 73 6f 20 74 68 61 74 20 61 20 64 65 65 70 6c so that a deepl
0a20: 79 20 72 65 76 69 73 65 64 20 41 50 49 20 77 69 y revised API wi
0a30: 6c 6c 20 62 65 20 72 65 71 75 69 72 65 64 2e 0d ll be required..
0a40: 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c .In other words,
0a50: 20 74 68 65 20 6f 6c 64 20 3c 62 3e 50 52 4f 4a the old <b>PROJ
0a60: 2e 34 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20 6e .4</b> and the n
0a70: 65 77 20 3c 62 3e 50 52 4f 4a 2e 37 3c 2f 62 3e ew <b>PROJ.7</b>
0a80: 20 77 69 6c 6c 20 73 75 70 70 6f 72 74 20 74 77 will support tw
0a90: 6f 20 64 69 66 66 65 72 65 6e 74 20 41 50 49 73 o different APIs
0aa0: 2c 20 74 68 75 73 20 61 62 72 75 70 74 6c 79 20 , thus abruptly
0ab0: 62 72 65 61 6b 69 6e 67 20 63 72 6f 73 73 2d 76 breaking cross-v
0ac0: 65 72 73 69 6f 6e 20 63 6f 6d 70 61 74 69 62 69 ersion compatibi
0ad0: 6c 69 74 79 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 lity.<br>..This
0ae0: 69 73 20 61 6e 20 75 6d 70 6c 65 61 73 61 6e 74 is an umpleasant
0af0: 20 6e 65 77 2c 20 62 65 63 61 75 73 65 20 69 74 new, because it
0b00: 20 70 72 61 63 74 69 63 61 6c 6c 79 20 6d 65 61 practically mea
0b10: 6e 73 20 74 68 61 74 20 61 6c 6c 20 73 6f 66 74 ns that all soft
0b20: 77 61 72 65 20 6d 6f 64 75 6c 65 73 20 64 65 70 ware modules dep
0b30: 65 6e 64 69 6e 67 20 6f 6e 20 50 52 4f 4a 20 28 ending on PROJ (
0b40: 74 68 69 73 20 69 6e 63 6c 75 64 69 6e 67 20 53 this including S
0b50: 70 61 74 69 61 4c 69 74 65 29 20 77 69 6c 6c 20 patiaLite) will
0b60: 72 65 71 75 69 72 65 20 61 20 6e 6f 74 20 61 74 require a not at
0b70: 20 61 6c 6c 20 74 72 69 76 69 61 6c 20 72 65 77 all trivial rew
0b80: 72 69 74 65 20 69 6e 20 6f 72 64 65 72 20 74 6f rite in order to
0b90: 20 66 75 6c 66 69 6c 6c 20 74 68 65 20 6e 65 77 fulfill the new
0ba0: 20 41 50 49 20 72 65 71 75 69 72 65 6d 65 6e 74 API requirement
0bb0: 73 2e 3c 62 72 3e 0d 0a 42 75 74 20 77 68 65 6e s.<br>..But when
0bc0: 20 79 6f 75 20 63 6f 6e 73 69 64 65 72 20 74 68 you consider th
0bd0: 61 74 27 73 20 74 68 65 20 66 69 72 73 74 20 74 at's the first t
0be0: 69 6d 65 20 69 6e 20 69 74 73 20 76 65 72 79 20 ime in its very
0bf0: 6c 6f 6e 67 20 6c 69 66 65 20 74 68 61 74 20 50 long life that P
0c00: 52 4f 4a 20 72 65 71 75 69 72 65 73 20 61 6e 20 ROJ requires an
0c10: 65 78 74 72 61 20 65 66 66 6f 72 74 20 69 6e 20 extra effort in
0c20: 6f 72 64 65 72 20 74 6f 20 69 6e 74 72 6f 64 75 order to introdu
0c30: 63 65 20 73 6f 20 6d 61 6e 79 20 75 73 65 66 75 ce so many usefu
0c40: 6c 20 69 6e 6e 6f 76 61 74 69 6f 6e 73 2c 20 74 l innovations, t
0c50: 68 69 73 20 75 6e 65 78 70 65 63 74 65 64 20 41 his unexpected A
0c60: 50 49 20 62 72 65 61 6b 61 67 65 20 6c 6f 6f 6b PI breakage look
0c70: 73 20 66 75 6c 6c 79 20 6a 75 73 74 69 66 69 65 s fully justifie
0c80: 64 20 61 6e 64 20 61 62 73 6f 6c 75 74 65 6c 79 d and absolutely
0c90: 20 72 65 61 73 6f 6e 61 62 6c 65 2e 3c 62 72 3e reasonable.<br>
0ca0: 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4d 6f 72 65 <br>..<b><u>More
0cb0: 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 20 74 details about t
0cc0: 68 65 20 41 50 49 20 62 72 65 61 6b 61 67 65 3c he API breakage<
0cd0: 2f 75 3e 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a /u></b>:..<ul>..
0ce0: 3c 6c 69 3e 3c 62 3e 50 52 4f 4a 2e 35 3c 2f 62 <li><b>PROJ.5</b
0cf0: 3e 20 73 74 61 72 74 65 64 20 69 6e 74 72 6f 64 > started introd
0d00: 75 63 69 6e 67 20 74 68 65 20 6e 65 77 20 41 50 ucing the new AP
0d10: 49 2c 20 62 75 74 20 77 61 73 20 73 74 69 6c 6c I, but was still
0d20: 20 61 62 6c 65 20 74 6f 20 73 75 70 70 6f 72 74 able to support
0d30: 20 74 68 65 20 6f 6c 64 20 74 72 61 64 69 74 69 the old traditi
0d40: 6f 6e 61 6c 20 41 50 49 20 77 69 74 68 6f 75 74 onal API without
0d50: 20 61 6e 79 20 63 6f 6d 70 6c 61 69 6e 74 2e 3c any complaint.<
0d60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 52 4f /li>..<li><b>PRO
0d70: 4a 2e 36 3c 2f 62 3e 20 68 61 76 65 20 64 65 70 J.6</b> have dep
0d80: 72 65 63 65 74 65 64 20 74 68 65 20 6f 6c 64 20 receted the old
0d90: 74 72 61 64 69 74 69 6f 6e 61 6c 20 41 50 49 2e traditional API.
0da0: 3c 62 72 3e 0d 0a 49 74 20 73 74 69 6c 6c 20 63 <br>..It still c
0db0: 6f 6e 74 69 6e 75 65 73 20 74 6f 20 62 65 20 72 ontinues to be r
0dc0: 65 6c 75 63 74 61 6e 63 74 6c 79 20 73 75 70 70 eluctanctly supp
0dd0: 6f 72 74 65 64 2c 20 62 75 74 20 74 68 65 20 6c orted, but the l
0de0: 69 62 72 61 72 79 20 72 65 71 75 69 72 65 73 20 ibrary requires
0df0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 62 to be compiled b
0e00: 79 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 66 y explicitly def
0e10: 69 6e 69 6e 67 20 61 20 3c 62 3e 2d 44 41 43 43 ining a <b>-DACC
0e20: 45 50 54 5f 55 53 45 5f 4f 46 5f 44 45 50 52 45 EPT_USE_OF_DEPRE
0e30: 43 41 54 45 44 5f 50 52 4f 4a 5f 41 50 49 5f 48 CATED_PROJ_API_H
0e40: 3d 31 3c 2f 62 3e 20 64 69 72 65 63 74 69 76 65 =1</b> directive
0e50: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 66 66 in order to eff
0e60: 65 63 74 69 76 65 6c 79 20 65 6e 61 62 6c 65 20 ectively enable
0e70: 74 68 69 73 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 this option.</li
0e80: 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c >..<li>and final
0e90: 6c 79 20 74 68 65 20 6e 65 78 74 2d 74 6f 2d 63 ly the next-to-c
0ea0: 6f 6d 65 20 3c 62 3e 50 52 4f 4a 2e 37 3c 2f 62 ome <b>PROJ.7</b
0eb0: 3e 20 77 69 6c 6c 20 63 6f 6d 70 6c 65 74 65 6c > will completel
0ec0: 79 20 67 65 74 20 72 69 64 20 6f 66 20 74 68 65 y get rid of the
0ed0: 20 6f 6c 64 20 41 50 49 2e 3c 2f 6c 69 3e 0d 0a old API.</li>..
0ee0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 72 </ul>..<br>..<hr
0ef0: 3e 0d 0a 3c 68 31 3e 57 68 61 74 27 73 20 6e 65 >..<h1>What's ne
0f00: 77 20 69 6e 20 50 52 4f 4a 2e 36 3c 2f 68 31 3e w in PROJ.6</h1>
0f10: 0d 0a 3c 68 33 3e 46 75 6c 6c 79 20 73 75 70 70 ..<h3>Fully supp
0f20: 6f 72 74 69 6e 67 20 49 53 4f 2d 31 39 31 31 31 orting ISO-19111
0f30: 3a 32 30 31 39 20 57 4b 54 3c 2f 68 33 3e 0d 0a :2019 WKT</h3>..
0f40: 4f 6c 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 Old versions of
0f50: 50 52 4f 4a 20 28 69 6e 63 6c 75 64 69 6e 67 20 PROJ (including
0f60: 3c 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e 29 20 72 <b>PROJ.4</b>) r
0f70: 65 71 75 69 72 65 64 20 74 6f 20 64 65 66 69 6e equired to defin
0f80: 65 20 65 61 63 68 20 3c 62 3e 43 52 53 3c 2f 62 e each <b>CRS</b
0f90: 3e 20 28 3c 69 3e 43 6f 6f 72 64 69 6e 61 74 65 > (<i>Coordinate
0fa0: 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 Reference Syste
0fb0: 6d 3c 2f 69 3e 29 20 62 79 20 61 20 63 6f 72 72 m</i>) by a corr
0fc0: 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 70 72 6f esponding <b>pro
0fd0: 6a 2d 73 74 72 69 6e 67 3c 2f 62 3e 2e 0d 0a 54 j-string</b>...T
0fe0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
0ff0: 6c 65 20 65 78 65 6d 70 6c 69 66 69 65 73 20 74 le exemplifies t
1000: 68 65 20 63 61 73 65 20 6f 66 20 66 65 77 20 43 he case of few C
1010: 52 53 65 73 3a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c RSes:<br><br>..<
1020: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e table cellspacin
1030: 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e g="8" cellpaddin
1040: 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 g="8" bgcolor="#
1050: 65 38 66 66 65 38 22 20 62 6f 72 64 65 72 3d 22 e8ffe8" border="
1060: 31 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 1">..<tr><th bgc
1070: 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 53 olor="#ffb03e">S
1080: 52 49 44 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f RID</th><th bgco
1090: 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 43 52 lor="#ffb03e">CR
10a0: 53 20 4e 61 6d 65 3c 2f 74 68 3e 3c 74 68 20 62 S Name</th><th b
10b0: 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 gcolor="#ffb03e"
10c0: 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 3c 2f 74 68 >proj-string</th
10d0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 ></tr>..<tr><td
10e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
10f0: 30 33 3c 2f 74 64 3e 3c 74 64 3e 4d 6f 6e 74 65 03</td><td>Monte
1100: 20 4d 61 72 69 6f 20 2f 20 49 74 61 6c 79 20 7a Mario / Italy z
1110: 6f 6e 65 20 31 3c 2f 74 64 3e 0d 0a 3c 74 64 3e one 1</td>..<td>
1120: 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74 +proj=tmerc +lat
1130: 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b _0=0 +lon_0=9 +k
1140: 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30 =0.9996 +x_0=150
1150: 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 6c 0000 +y_0=0 +ell
1160: 70 73 3d 69 6e 74 6c 20 2b 74 6f 77 67 73 38 34 ps=intl +towgs84
1170: 3d 2d 31 30 34 2e 31 2c 2d 34 39 2e 31 2c 2d 39 =-104.1,-49.1,-9
1180: 2e 39 2c 30 2e 39 37 31 2c 2d 32 2e 39 31 37 2c .9,0.971,-2.917,
1190: 30 2e 37 31 34 2c 2d 31 31 2e 36 38 20 2b 75 6e 0.714,-11.68 +un
11a0: 69 74 73 3d 6d 20 2b 6e 6f 5f 64 65 66 73 3c 2f its=m +no_defs</
11b0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
11c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
11d0: 34 33 32 36 3c 2f 74 64 3e 3c 74 64 3e 57 47 53 4326</td><td>WGS
11e0: 20 38 34 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 2b 70 84</td>..<td>+p
11f0: 72 6f 6a 3d 6c 6f 6e 67 6c 61 74 20 2b 64 61 74 roj=longlat +dat
1200: 75 6d 3d 57 47 53 38 34 20 2b 6e 6f 5f 64 65 66 um=WGS84 +no_def
1210: 73 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 s</td></tr>..<tr
1220: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
1230: 74 22 3e 33 32 36 33 32 3c 2f 74 64 3e 3c 74 64 t">32632</td><td
1240: 3e 57 47 53 20 38 34 20 2f 20 55 54 4d 20 7a 6f >WGS 84 / UTM zo
1250: 6e 65 20 33 32 4e 3c 2f 74 64 3e 0d 0a 3c 74 64 ne 32N</td>..<td
1260: 3e 2b 70 72 6f 6a 3d 75 74 6d 20 2b 7a 6f 6e 65 >+proj=utm +zone
1270: 3d 33 32 20 2b 64 61 74 75 6d 3d 57 47 53 38 34 =32 +datum=WGS84
1280: 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e 6f 5f 64 65 +units=m +no_de
1290: 66 73 3c 2f 74 64 3e 0d 0a 3c 2f 74 61 62 6c 65 fs</td>..</table
12a0: 3e 0d 0a 3c 62 72 3e 0d 0a 4e 65 77 20 76 65 72 >..<br>..New ver
12b0: 73 69 6f 6e 73 20 6f 66 20 50 52 4f 4a 20 28 73 sions of PROJ (s
12c0: 74 61 72 74 69 6e 67 20 73 69 6e 63 65 20 3c 62 tarting since <b
12d0: 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 29 20 73 74 69 >PROJ.6</b>) sti
12e0: 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 73 ll continue to s
12f0: 75 70 70 6f 72 74 20 74 68 65 20 6f 6c 64 20 3c upport the old <
1300: 62 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 73 3c 2f b>proj-strings</
1310: 62 3e 2c 20 62 75 74 20 74 68 65 20 70 72 65 66 b>, but the pref
1320: 65 72 72 65 64 20 6e 6f 74 61 74 69 6f 6e 20 66 erred notation f
1330: 6f 72 20 64 65 66 69 6e 69 6e 67 20 61 6e 79 20 or defining any
1340: 43 52 53 20 69 73 20 6e 6f 77 20 63 6f 6e 66 6f CRS is now confo
1350: 72 6d 61 6e 74 20 74 6f 20 74 68 65 20 3c 62 3e rmant to the <b>
1360: 49 53 4f 2d 31 39 31 31 31 3a 32 30 31 39 3c 2f ISO-19111:2019</
1370: 62 3e 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61 6c b> international
1380: 20 73 74 61 6e 64 61 72 64 3c 62 72 3e 0d 0a 28 standard<br>..(
1390: 3c 69 3e 4f 47 43 20 41 62 73 74 72 61 63 74 20 <i>OGC Abstract
13a0: 53 70 65 63 69 66 69 63 61 74 69 6f 6e 20 54 6f Specification To
13b0: 70 69 63 20 32 3a 20 e2 80 9c 52 65 66 65 72 65 pic 2: ...Refere
13c0: 6e 63 69 6e 67 20 42 79 20 43 6f 6f 72 64 69 6e ncing By Coordin
13d0: 61 74 65 73 e2 80 9d 3c 2f 69 3e 29 2e 3c 62 72 ates...</i>).<br
13e0: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
13f0: 20 74 61 62 6c 65 20 65 78 65 6d 70 6c 69 66 69 table exemplifi
1400: 65 73 20 74 68 65 20 73 61 6d 65 20 43 52 53 65 es the same CRSe
1410: 73 20 61 73 20 61 62 6f 76 65 20 69 6e 20 74 68 s as above in th
1420: 65 20 49 53 4f 20 57 4b 54 20 6e 6f 74 61 74 69 e ISO WKT notati
1430: 6f 6e 3a 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c on:..<br><br>..<
1440: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e table cellspacin
1450: 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e g="8" cellpaddin
1460: 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 g="8" bgcolor="#
1470: 65 38 66 66 65 38 22 20 62 6f 72 64 65 72 3d 22 e8ffe8" border="
1480: 31 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 1">..<tr><th bgc
1490: 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 53 olor="#ffb03e">S
14a0: 52 49 44 3c 2f 74 68 3e 3c 74 64 3e 33 30 30 33 RID</th><td>3003
14b0: 3c 2f 74 64 3e 3c 74 64 3e 34 33 32 36 3c 2f 74 </td><td>4326</t
14c0: 64 3e 3c 74 64 3e 33 32 36 33 32 3c 2f 74 64 3e d><td>32632</td>
14d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 </tr>..<tr><th b
14e0: 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 gcolor="#ffb03e"
14f0: 3e 43 52 53 20 4e 61 6d 65 3c 2f 74 68 3e 3c 74 >CRS Name</th><t
1500: 64 3e 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 2f 20 d>Monte Mario /
1510: 49 74 61 6c 79 20 7a 6f 6e 65 20 31 3c 2f 74 64 Italy zone 1</td
1520: 3e 3c 2f 74 64 3e 3c 74 64 3e 57 47 53 20 38 34 ></td><td>WGS 84
1530: 3c 2f 74 64 3e 3c 74 64 3e 57 47 53 20 38 34 20 </td><td>WGS 84
1540: 2f 20 55 54 4d 20 7a 6f 6e 65 20 33 32 4e 3c 2f / UTM zone 32N</
1550: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
1560: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 h bgcolor="#ffb0
1570: 33 65 22 3e 49 53 4f 2d 32 30 31 38 20 57 4b 54 3e">ISO-2018 WKT
1580: 3c 2f 74 68 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 </th>..<td valig
1590: 6e 3d 22 74 6f 70 22 3e 3c 76 65 72 62 61 74 69 n="top"><verbati
15a0: 6d 3e 0d 0a 50 52 4f 4a 43 52 53 5b 22 4d 6f 6e m>..PROJCRS["Mon
15b0: 74 65 20 4d 61 72 69 6f 20 2f 20 49 74 61 6c 79 te Mario / Italy
15c0: 20 7a 6f 6e 65 20 31 22 2c 0d 0a 20 20 20 20 42 zone 1",.. B
15d0: 41 53 45 47 45 4f 44 43 52 53 5b 22 4d 6f 6e 74 ASEGEODCRS["Mont
15e0: 65 20 4d 61 72 69 6f 22 2c 0d 0a 20 20 20 20 20 e Mario",..
15f0: 20 20 20 44 41 54 55 4d 5b 22 4d 6f 6e 74 65 20 DATUM["Monte
1600: 4d 61 72 69 6f 22 2c 3c 62 72 3e 0d 0a 20 20 20 Mario",<br>..
1610: 20 20 20 20 20 20 20 20 20 45 4c 4c 49 50 53 4f ELLIPSO
1620: 49 44 5b 22 49 6e 74 65 72 6e 61 74 69 6f 6e 61 ID["Internationa
1630: 6c 20 31 39 32 34 22 2c 36 33 37 38 33 38 38 2c l 1924",6378388,
1640: 32 39 37 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 297,..
1650: 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 LENGTHUNIT
1660: 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c 0d 0a ["metre",1]]],..
1670: 20 20 20 20 20 20 20 20 50 52 49 4d 45 4d 5b 22 PRIMEM["
1680: 47 72 65 65 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 Greenwich",0,..
1690: 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 ANGLE
16a0: 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e UNIT["degree",0.
16b0: 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33 0174532925199433
16c0: 5d 5d 5d 2c 0d 0a 20 20 20 20 43 4f 4e 56 45 52 ]]],.. CONVER
16d0: 53 49 4f 4e 5b 22 49 74 61 6c 79 20 7a 6f 6e 65 SION["Italy zone
16e0: 20 31 22 2c 0d 0a 20 20 20 20 20 20 20 20 4d 45 1",.. ME
16f0: 54 48 4f 44 5b 22 54 72 61 6e 73 76 65 72 73 65 THOD["Transverse
1700: 20 4d 65 72 63 61 74 6f 72 22 2c 0d 0a 20 20 20 Mercator",..
1710: 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 53 ID["EPS
1720: 47 22 2c 39 38 30 37 5d 5d 2c 0d 0a 20 20 20 20 G",9807]],..
1730: 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 4c PARAMETER["L
1740: 61 74 69 74 75 64 65 20 6f 66 20 6e 61 74 75 72 atitude of natur
1750: 61 6c 20 6f 72 69 67 69 6e 22 2c 30 2c 0d 0a 20 al origin",0,..
1760: 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 ANGLE
1770: 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e UNIT["degree",0.
1780: 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33 0174532925199433
1790: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ],..
17a0: 49 44 5b 22 45 50 53 47 22 2c 38 38 30 31 5d 5d ID["EPSG",8801]]
17b0: 2c 0d 0a 20 20 20 20 20 20 20 20 50 41 52 41 4d ,.. PARAM
17c0: 45 54 45 52 5b 22 4c 6f 6e 67 69 74 75 64 65 20 ETER["Longitude
17d0: 6f 66 20 6e 61 74 75 72 61 6c 20 6f 72 69 67 69 of natural origi
17e0: 6e 22 2c 39 2c 0d 0a 20 20 20 20 20 20 20 20 20 n",9,..
17f0: 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 ANGLEUNIT["de
1800: 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 gree",0.01745329
1810: 32 35 31 39 39 34 33 33 5d 2c 0d 0a 20 20 20 20 25199433],..
1820: 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 ID["EPSG
1830: 22 2c 38 38 30 32 5d 5d 2c 0d 0a 20 20 20 20 20 ",8802]],..
1840: 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 53 63 PARAMETER["Sc
1850: 61 6c 65 20 66 61 63 74 6f 72 20 61 74 20 6e 61 ale factor at na
1860: 74 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c 30 2e tural origin",0.
1870: 39 39 39 36 2c 0d 0a 20 20 20 20 20 20 20 20 20 9996,..
1880: 20 20 20 53 43 41 4c 45 55 4e 49 54 5b 22 75 6e SCALEUNIT["un
1890: 69 74 79 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 ity",1],..
18a0: 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c ID["EPSG",
18b0: 38 38 30 35 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 8805]],..
18c0: 20 50 41 52 41 4d 45 54 45 52 5b 22 46 61 6c 73 PARAMETER["Fals
18d0: 65 20 65 61 73 74 69 6e 67 22 2c 31 35 30 30 30 e easting",15000
18e0: 30 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 00,..
18f0: 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 LENGTHUNIT["met
1900: 72 65 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20 re",1],..
1910: 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38 ID["EPSG",8
1920: 38 30 36 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 806]],..
1930: 50 41 52 41 4d 45 54 45 52 5b 22 46 61 6c 73 65 PARAMETER["False
1940: 20 6e 6f 72 74 68 69 6e 67 22 2c 30 2c 0d 0a 20 northing",0,..
1950: 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 LENGT
1960: 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d HUNIT["metre",1]
1970: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 ,.. I
1980: 44 5b 22 45 50 53 47 22 2c 38 38 30 37 5d 5d 5d D["EPSG",8807]]]
1990: 2c 0d 0a 20 20 20 20 43 53 5b 43 61 72 74 65 73 ,.. CS[Cartes
19a0: 69 61 6e 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 20 ian,2],..
19b0: 20 41 58 49 53 5b 22 65 61 73 74 69 6e 67 20 28 AXIS["easting (
19c0: 58 29 22 2c 65 61 73 74 2c 0d 0a 20 20 20 20 20 X)",east,..
19d0: 20 20 20 20 20 20 20 4f 52 44 45 52 5b 31 5d 2c ORDER[1],
19e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 .. LE
19f0: 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 NGTHUNIT["metre"
1a00: 2c 31 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 ,1]],.. A
1a10: 58 49 53 5b 22 6e 6f 72 74 68 69 6e 67 20 28 59 XIS["northing (Y
1a20: 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 20 20 )",north,..
1a30: 20 20 20 20 20 20 20 4f 52 44 45 52 5b 32 5d 2c ORDER[2],
1a40: 3c 62 72 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 <br>..
1a50: 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 LENGTHUNIT["me
1a60: 74 72 65 22 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 tre",1]],.. A
1a70: 52 45 41 5b 22 49 74 61 6c 79 20 2d 20 77 65 73 REA["Italy - wes
1a80: 74 20 6f 66 20 31 32 c2 b0 45 22 5d 2c 0d 0a 20 t of 12..E"],..
1a90: 20 20 20 42 42 4f 58 5b 33 36 2e 35 33 2c 35 2e BBOX[36.53,5.
1aa0: 39 34 2c 34 37 2e 30 34 2c 31 32 5d 2c 0d 0a 20 94,47.04,12],..
1ab0: 20 20 20 49 44 5b 22 45 50 53 47 22 2c 33 30 30 ID["EPSG",300
1ac0: 33 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 3]]..</verbatim>
1ad0: 3c 2f 74 64 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 </td>..<td valig
1ae0: 6e 3d 22 74 6f 70 22 3e 3c 76 65 72 62 61 74 69 n="top"><verbati
1af0: 6d 3e 0d 0a 47 45 4f 44 43 52 53 5b 22 57 47 53 m>..GEODCRS["WGS
1b00: 20 38 34 22 2c 0d 0a 20 20 20 20 44 41 54 55 4d 84",.. DATUM
1b10: 5b 22 57 6f 72 6c 64 20 47 65 6f 64 65 74 69 63 ["World Geodetic
1b20: 20 53 79 73 74 65 6d 20 31 39 38 34 22 2c 0d 0a System 1984",..
1b30: 20 20 20 20 20 20 20 20 45 4c 4c 49 50 53 4f 49 ELLIPSOI
1b40: 44 5b 22 57 47 53 20 38 34 22 2c 36 33 37 38 31 D["WGS 84",63781
1b50: 33 37 2c 32 39 38 2e 32 35 37 32 32 33 35 36 33 37,298.257223563
1b60: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c ,.. L
1b70: 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 ENGTHUNIT["metre
1b80: 22 2c 31 5d 5d 5d 2c 0d 0a 20 20 20 20 50 52 49 ",1]]],.. PRI
1b90: 4d 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c MEM["Greenwich",
1ba0: 30 2c 0d 0a 20 20 20 20 20 20 20 20 41 4e 47 4c 0,.. ANGL
1bb0: 45 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 EUNIT["degree",0
1bc0: 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 .017453292519943
1bd0: 33 5d 5d 2c 0d 0a 20 20 20 20 43 53 5b 65 6c 6c 3]],.. CS[ell
1be0: 69 70 73 6f 69 64 61 6c 2c 32 5d 2c 0d 0a 20 20 ipsoidal,2],..
1bf0: 20 20 20 20 20 20 41 58 49 53 5b 22 67 65 6f 64 AXIS["geod
1c00: 65 74 69 63 20 6c 61 74 69 74 75 64 65 20 28 4c etic latitude (L
1c10: 61 74 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 at)",north,..
1c20: 20 20 20 20 20 20 20 20 20 4f 52 44 45 52 5b 31 ORDER[1
1c30: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ],..
1c40: 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 ANGLEUNIT["degre
1c50: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 e",0.01745329251
1c60: 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20 20 20 99433]],..
1c70: 20 20 41 58 49 53 5b 22 67 65 6f 64 65 74 69 63 AXIS["geodetic
1c80: 20 6c 6f 6e 67 69 74 75 64 65 20 28 4c 6f 6e 29 longitude (Lon)
1c90: 22 2c 65 61 73 74 2c 0d 0a 20 20 20 20 20 20 20 ",east,..
1ca0: 20 20 20 20 20 4f 52 44 45 52 5b 32 5d 2c 0d 0a ORDER[2],..
1cb0: 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c ANGL
1cc0: 45 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 EUNIT["degree",0
1cd0: 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 .017453292519943
1ce0: 33 5d 5d 2c 0d 0a 20 20 20 20 41 52 45 41 5b 22 3]],.. AREA["
1cf0: 57 6f 72 6c 64 22 5d 2c 0d 0a 20 20 20 20 42 42 World"],.. BB
1d00: 4f 58 5b 2d 39 30 2c 2d 31 38 30 2c 39 30 2c 31 OX[-90,-180,90,1
1d10: 38 30 5d 2c 0d 0a 20 20 20 20 49 44 5b 22 45 50 80],.. ID["EP
1d20: 53 47 22 2c 34 33 32 36 5d 5d 0d 0a 3c 2f 76 65 SG",4326]]..</ve
1d30: 72 62 61 74 69 6d 3e 3c 2f 74 64 3e 0d 0a 3c 74 rbatim></td>..<t
1d40: 64 20 76 61 6c 69 67 6e 3d 22 74 6f 70 22 3e 3c d valign="top"><
1d50: 76 65 72 62 61 74 69 6d 3e 0d 0a 50 52 4f 4a 43 verbatim>..PROJC
1d60: 52 53 5b 22 57 47 53 20 38 34 20 2f 20 55 54 4d RS["WGS 84 / UTM
1d70: 20 7a 6f 6e 65 20 33 32 4e 22 2c 0d 0a 20 20 20 zone 32N",..
1d80: 20 42 41 53 45 47 45 4f 44 43 52 53 5b 22 57 47 BASEGEODCRS["WG
1d90: 53 20 38 34 22 2c 0d 0a 20 20 20 20 20 20 20 20 S 84",..
1da0: 44 41 54 55 4d 5b 22 57 6f 72 6c 64 20 47 65 6f DATUM["World Geo
1db0: 64 65 74 69 63 20 53 79 73 74 65 6d 20 31 39 38 detic System 198
1dc0: 34 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 4",..
1dd0: 20 45 4c 4c 49 50 53 4f 49 44 5b 22 57 47 53 20 ELLIPSOID["WGS
1de0: 38 34 22 2c 36 33 37 38 31 33 37 2c 32 39 38 2e 84",6378137,298.
1df0: 32 35 37 32 32 33 35 36 33 2c 0d 0a 20 20 20 20 257223563,..
1e00: 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 LENG
1e10: 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 THUNIT["metre",1
1e20: 5d 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 52 ]]],.. PR
1e30: 49 4d 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 IMEM["Greenwich"
1e40: 2c 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ,0,..
1e50: 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 ANGLEUNIT["degr
1e60: 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 ee",0.0174532925
1e70: 31 39 39 34 33 33 5d 5d 5d 2c 0d 0a 20 20 20 20 199433]]],..
1e80: 43 4f 4e 56 45 52 53 49 4f 4e 5b 22 55 54 4d 20 CONVERSION["UTM
1e90: 7a 6f 6e 65 20 33 32 4e 22 2c 0d 0a 20 20 20 20 zone 32N",..
1ea0: 20 20 20 20 4d 45 54 48 4f 44 5b 22 54 72 61 6e METHOD["Tran
1eb0: 73 76 65 72 73 65 20 4d 65 72 63 61 74 6f 72 22 sverse Mercator"
1ec0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 ,.. I
1ed0: 44 5b 22 45 50 53 47 22 2c 39 38 30 37 5d 5d 2c D["EPSG",9807]],
1ee0: 0d 0a 20 20 20 20 20 20 20 20 50 41 52 41 4d 45 .. PARAME
1ef0: 54 45 52 5b 22 4c 61 74 69 74 75 64 65 20 6f 66 TER["Latitude of
1f00: 20 6e 61 74 75 72 61 6c 20 6f 72 69 67 69 6e 22 natural origin"
1f10: 2c 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ,0,..
1f20: 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 ANGLEUNIT["degr
1f30: 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 ee",0.0174532925
1f40: 31 39 39 34 33 33 5d 2c 0d 0a 20 20 20 20 20 20 199433],..
1f50: 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c ID["EPSG",
1f60: 38 38 30 31 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 8801]],..
1f70: 20 50 41 52 41 4d 45 54 45 52 5b 22 4c 6f 6e 67 PARAMETER["Long
1f80: 69 74 75 64 65 20 6f 66 20 6e 61 74 75 72 61 6c itude of natural
1f90: 20 6f 72 69 67 69 6e 22 2c 39 2c 0d 0a 20 20 20 origin",9,..
1fa0: 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e ANGLEUN
1fb0: 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 IT["degree",0.01
1fc0: 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 2c 74532925199433],
1fd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 44 .. ID
1fe0: 5b 22 45 50 53 47 22 2c 38 38 30 32 5d 5d 2c 0d ["EPSG",8802]],.
1ff0: 0a 20 20 20 20 20 20 20 20 50 41 52 41 4d 45 54 . PARAMET
2000: 45 52 5b 22 53 63 61 6c 65 20 66 61 63 74 6f 72 ER["Scale factor
2010: 20 61 74 20 6e 61 74 75 72 61 6c 20 6f 72 69 67 at natural orig
2020: 69 6e 22 2c 30 2e 39 39 39 36 2c 0d 0a 20 20 20 in",0.9996,..
2030: 20 20 20 20 20 20 20 20 20 53 43 41 4c 45 55 4e SCALEUN
2040: 49 54 5b 22 75 6e 69 74 79 22 2c 31 5d 2c 0d 0a IT["unity",1],..
2050: 20 20 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 ID["
2060: 45 50 53 47 22 2c 38 38 30 35 5d 5d 2c 0d 0a 20 EPSG",8805]],..
2070: 20 20 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 PARAMETER
2080: 5b 22 46 61 6c 73 65 20 65 61 73 74 69 6e 67 22 ["False easting"
2090: 2c 35 30 30 30 30 30 2c 0d 0a 20 20 20 20 20 20 ,500000,..
20a0: 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 LENGTHUNIT
20b0: 5b 22 6d 65 74 72 65 22 2c 31 5d 2c 0d 0a 20 20 ["metre",1],..
20c0: 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 ID["EP
20d0: 53 47 22 2c 38 38 30 36 5d 5d 2c 0d 0a 20 20 20 SG",8806]],..
20e0: 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 PARAMETER["
20f0: 46 61 6c 73 65 20 6e 6f 72 74 68 69 6e 67 22 2c False northing",
2100: 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0,..
2110: 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 LENGTHUNIT["metr
2120: 65 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20 e",1],..
2130: 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38 ID["EPSG",88
2140: 30 37 5d 5d 5d 2c 0d 0a 20 20 20 20 43 53 5b 43 07]]],.. CS[C
2150: 61 72 74 65 73 69 61 6e 2c 32 5d 2c 0d 0a 20 20 artesian,2],..
2160: 20 20 20 20 20 20 41 58 49 53 5b 22 28 45 29 22 AXIS["(E)"
2170: 2c 65 61 73 74 2c 0d 0a 20 20 20 20 20 20 20 20 ,east,..
2180: 20 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 ORDER[1],..
2190: 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 LENGT
21a0: 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d HUNIT["metre",1]
21b0: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 ],.. AXIS
21c0: 5b 22 28 4e 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 ["(N)",north,..
21d0: 20 20 20 20 20 20 20 20 20 20 20 4f 52 44 45 52 ORDER
21e0: 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 [2],..
21f0: 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 LENGTHUNIT["me
2200: 74 72 65 22 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 tre",1]],.. A
2210: 52 45 41 5b 22 57 6f 72 6c 64 20 2d 20 4e 20 68 REA["World - N h
2220: 65 6d 69 73 70 68 65 72 65 20 2d 20 36 c2 b0 45 emisphere - 6..E
2230: 20 74 6f 20 31 32 c2 b0 45 20 2d 20 62 79 20 63 to 12..E - by c
2240: 6f 75 6e 74 72 79 22 5d 2c 0d 0a 20 20 20 20 42 ountry"],.. B
2250: 42 4f 58 5b 30 2c 36 2c 38 34 2c 31 32 5d 2c 0d BOX[0,6,84,12],.
2260: 0a 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 33 . ID["EPSG",3
2270: 32 36 33 32 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 2632]]..</verbat
2280: 69 6d 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d im></td>..</tr>.
2290: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
22a0: 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 .As you can easi
22b0: 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 20 74 ly notice, the t
22c0: 77 6f 20 6e 6f 74 61 74 69 6f 6e 73 20 61 72 65 wo notations are
22d0: 20 70 72 6f 66 6f 75 6e 64 6c 79 20 64 69 66 66 profoundly diff
22e0: 65 72 65 6e 74 2e 0d 0a 54 68 65 20 6f 6c 64 20 erent...The old
22f0: 3c 62 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 3c 2f <b>proj-string</
2300: 62 3e 20 6e 6f 74 61 74 69 6f 6e 20 69 73 20 65 b> notation is e
2310: 78 74 72 65 6d 65 6c 79 20 63 6f 6e 63 69 73 65 xtremely concise
2320: 20 61 6e 64 20 72 6f 75 67 68 2c 20 77 68 69 6c and rough, whil
2330: 73 74 20 74 68 65 20 6e 65 77 20 3c 62 3e 49 53 st the new <b>IS
2340: 4f 2d 57 4b 54 3c 2f 62 3e 20 69 73 20 76 65 72 O-WKT</b> is ver
2350: 62 6f 73 65 20 62 75 74 20 65 78 68 61 75 73 74 bose but exhaust
2360: 69 76 65 2c 20 64 65 74 61 69 6c 65 64 20 61 6e ive, detailed an
2370: 64 20 70 72 65 63 69 73 65 2e 3c 62 72 3e 0d 0a d precise.<br>..
2380: 54 68 65 72 65 20 69 73 20 6e 6f 20 70 6f 73 73 There is no poss
2390: 69 62 6c 65 20 6d 61 74 63 68 3a 20 49 53 4f 2d ible match: ISO-
23a0: 57 4b 54 20 69 73 20 63 6c 65 61 72 6c 79 20 73 WKT is clearly s
23b0: 75 70 65 72 69 6f 72 20 61 6e 64 20 6d 6f 72 65 uperior and more
23c0: 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 75 sophisticated u
23d0: 6e 64 65 72 20 61 6e 79 20 70 6f 73 73 69 62 6c nder any possibl
23e0: 65 20 61 73 70 65 63 74 2e 3c 62 72 3e 0d 0a 4e e aspect.<br>..N
23f0: 6f 74 20 61 74 20 61 6c 6c 20 73 75 72 70 72 69 ot at all surpri
2400: 73 69 6e 67 6c 79 2c 20 63 6f 6f 72 64 69 6e 61 singly, coordina
2410: 74 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f te transformatio
2420: 6e 73 20 62 61 73 65 64 20 6f 6e 20 49 53 4f 2d ns based on ISO-
2430: 57 4b 54 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 WKT definitions
2440: 28 69 6e 73 74 65 61 64 20 6f 66 20 70 72 6f 6a (instead of proj
2450: 2d 73 74 72 69 6e 67 73 29 20 61 72 65 20 75 73 -strings) are us
2460: 75 61 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74 ually expected t
2470: 6f 20 62 65 20 6d 6f 72 65 20 61 63 63 75 72 61 o be more accura
2480: 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6e 64 te.<br><br>..And
2490: 20 74 68 61 74 27 73 20 6e 6f 74 20 61 6c 6c 3b that's not all;
24a0: 20 74 68 65 20 6f 6c 64 20 3c 62 3e 70 72 6f 6a the old <b>proj
24b0: 2d 73 74 72 69 6e 67 73 3c 2f 62 3e 20 77 65 72 -strings</b> wer
24c0: 65 6e 27 74 20 66 6f 72 6d 61 6c 6c 79 20 64 65 en't formally de
24d0: 66 69 6e 65 64 20 62 79 20 61 6e 79 20 73 74 61 fined by any sta
24e0: 6e 64 61 72 64 2c 20 61 6e 64 20 6f 6e 6c 79 20 ndard, and only
24f0: 50 52 4f 4a 2c 20 47 44 41 4c 20 61 6e 64 20 66 PROJ, GDAL and f
2500: 65 77 20 6f 74 68 65 72 20 46 4c 4f 53 53 20 2f ew other FLOSS /
2510: 20 47 46 4f 53 53 20 69 6d 70 6c 65 6d 65 6e 74 GFOSS implement
2520: 61 74 69 6f 6e 73 20 63 61 6e 20 75 6e 64 65 72 ations can under
2530: 73 74 61 6e 64 20 74 68 65 6d 2e 3c 62 72 3e 0d stand them.<br>.
2540: 0a 41 74 20 74 68 65 20 6f 70 70 6f 73 69 74 65 .At the opposite
2550: 2c 20 74 68 65 20 6e 65 77 20 3c 62 3e 49 53 4f , the new <b>ISO
2560: 2d 57 4b 54 3c 2f 62 3e 20 69 73 20 66 6f 72 6d -WKT</b> is form
2570: 61 6c 6c 79 20 64 65 66 69 6e 65 64 20 62 79 20 ally defined by
2580: 61 6e 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61 6c an international
2590: 20 73 74 61 6e 64 61 72 64 2c 20 61 6e 64 20 6d standard, and m
25a0: 61 6e 79 20 66 72 65 65 20 61 6e 64 20 70 72 6f any free and pro
25b0: 70 72 69 65 74 61 72 79 20 69 6d 70 6c 65 6d 65 prietary impleme
25c0: 6e 74 61 74 69 6f 6e 73 20 63 61 6e 20 75 6e 64 ntations can und
25d0: 65 72 73 74 61 6e 64 20 69 74 2e 3c 62 72 3e 3c erstand it.<br><
25e0: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c br>..<table cell
25f0: 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c spacing="8" cell
2600: 70 61 64 64 69 6e 67 3d 22 31 36 22 20 62 67 63 padding="16" bgc
2610: 6f 6c 6f 72 3d 22 23 66 66 66 66 65 39 22 3e 0d olor="#ffffe9">.
2620: 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 .<tr><td>..<b><u
2630: 3e 49 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 69 63 >Important notic
2640: 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 72 65 e</u></b>: there
2650: 20 61 72 65 20 73 65 76 65 72 61 6c 20 64 69 61 are several dia
2660: 6c 65 63 74 73 20 69 6e 20 74 68 65 20 57 4b 54 lects in the WKT
2670: 20 6e 6f 74 61 74 69 6f 6e 20 64 65 73 63 72 69 notation descri
2680: 62 69 6e 67 20 43 52 53 65 73 2e 3c 62 72 3e 0d bing CRSes.<br>.
2690: 0a 41 6c 6c 20 74 68 65 6d 20 73 68 61 72 65 20 .All them share
26a0: 74 68 65 20 73 61 6d 65 20 63 6f 6d 6d 6f 6e 20 the same common
26b0: 63 6f 72 65 20 61 6e 64 20 6d 61 69 6e 6c 79 20 core and mainly
26c0: 64 69 66 66 65 72 20 69 6e 20 66 65 77 20 6d 69 differ in few mi
26d0: 6e 6f 72 20 64 65 74 61 69 6c 73 2e 3c 62 72 3e nor details.<br>
26e0: 0d 0a 50 52 4f 4a 2e 36 20 63 61 6e 20 75 6e 64 ..PROJ.6 can und
26f0: 65 72 73 74 61 6e 64 20 74 68 65 20 66 6f 6c 6c erstand the foll
2700: 6f 77 69 6e 67 20 64 69 61 6c 65 63 74 73 3a 0d owing dialects:.
2710: 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 53 .<ol>..<li><b>ES
2720: 52 49 20 57 4b 54 3c 2f 62 3e 3a 20 61 20 64 69 RI WKT</b>: a di
2730: 61 6c 65 63 74 20 77 69 64 65 6c 79 20 61 64 6f alect widely ado
2740: 70 74 65 64 20 62 79 20 45 53 52 49 20 70 72 6f pted by ESRI pro
2750: 70 72 69 65 74 61 72 79 20 73 6f 66 74 77 61 72 prietary softwar
2760: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e e.</li>..<li><b>
2770: 47 44 41 4c 20 57 4b 54 31 3c 2f 62 3e 3a 20 61 GDAL WKT1</b>: a
2780: 20 64 69 61 6c 65 63 74 20 68 69 73 74 6f 72 69 dialect histori
2790: 63 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64 20 cally supported
27a0: 62 79 20 74 68 65 20 6f 70 65 6e 20 73 6f 75 72 by the open sour
27b0: 63 65 20 47 44 41 4c 20 6c 69 62 72 61 72 79 2e ce GDAL library.
27c0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 57 4b </li>..<li><b>WK
27d0: 54 32 3a 32 30 31 35 3c 2f 62 3e 3a 20 61 73 20 T2:2015</b>: as
27e0: 64 65 66 69 6e 65 64 20 62 79 20 3c 62 3e 49 53 defined by <b>IS
27f0: 4f 20 31 39 31 36 32 3a 32 30 31 35 3c 2f 62 3e O 19162:2015</b>
2800: 20 73 74 61 6e 64 61 72 64 20 73 70 65 63 69 66 standard specif
2810: 69 63 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a ications.</li>..
2820: 3c 6c 69 3e 3c 62 3e 57 4b 54 32 3a 32 30 31 38 <li><b>WKT2:2018
2830: 3c 2f 62 3e 3a 20 61 73 20 64 65 66 69 6e 65 64 </b>: as defined
2840: 20 62 79 20 3c 62 3e 49 53 4f 20 31 39 31 36 32 by <b>ISO 19162
2850: 3a 32 30 31 38 3c 2f 62 3e 20 73 74 61 6e 64 61 :2018</b> standa
2860: 72 64 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e rd specification
2870: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a s.</li>..</ol>..
2880: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 </td></tr>..</ta
2890: 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 54 72 ble><br>..<h3>Tr
28a0: 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 ansformation pip
28b0: 65 6c 69 6e 65 73 3c 2f 68 33 3e 0d 0a 54 68 65 elines</h3>..The
28c0: 72 65 20 69 73 20 61 20 73 65 63 6f 6e 64 20 61 re is a second a
28d0: 73 74 6f 6e 69 73 68 69 6e 67 20 69 6d 70 72 6f stonishing impro
28e0: 76 65 6d 65 6e 74 20 73 75 70 70 6f 72 74 65 64 vement supported
28f0: 20 62 79 20 50 52 4f 4a 2e 36 2c 20 74 68 61 74 by PROJ.6, that
2900: 20 61 72 65 20 3c 62 3e 3c 69 3e 74 72 61 6e 73 are <b><i>trans
2910: 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 formation pipeli
2920: 6e 65 73 3c 2f 69 3e 3c 2f 62 3e 2e 3c 62 72 3e nes</i></b>.<br>
2930: 0d 0a 57 68 65 6e 20 75 73 69 6e 67 20 61 20 3c ..When using a <
2940: 62 3e 3c 69 3e 70 69 70 65 6c 69 6e 65 3c 2f 69 b><i>pipeline</i
2950: 3e 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 66 72 ></b> you can fr
2960: 65 65 6c 79 20 64 65 66 69 6e 65 20 61 6e 79 20 eely define any
2970: 63 6f 6d 70 6c 65 78 20 67 65 6f 64 65 74 69 63 complex geodetic
2980: 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 transformation
2990: 62 79 20 63 68 61 69 6e 69 6e 67 20 74 6f 67 65 by chaining toge
29a0: 74 68 65 72 20 6d 61 6e 79 20 65 6c 65 6d 65 6e ther many elemen
29b0: 74 61 72 79 20 73 74 65 70 73 20 73 75 63 68 20 tary steps such
29c0: 61 73 20 63 6f 6e 76 65 72 73 69 6f 6e 2c 20 74 as conversion, t
29d0: 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 ransformation, p
29e0: 72 6f 6a 65 63 74 69 6f 6e 2c 20 61 78 69 73 20 rojection, axis
29f0: 73 77 61 70 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c swap and so on.<
2a00: 62 72 3e 0d 0a 41 20 70 69 70 65 6c 69 6e 65 20 br>..A pipeline
2a10: 69 73 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 is conceptually
2a20: 73 69 6d 69 6c 61 72 20 74 6f 20 61 20 55 4e 49 similar to a UNI
2a30: 58 20 73 68 65 6c 6c 20 73 63 72 69 70 74 2c 20 X shell script,
2a40: 77 69 74 68 20 61 20 64 61 74 61 66 6c 6f 77 20 with a dataflow
2a50: 72 65 67 75 6c 61 72 6c 79 20 70 72 6f 63 65 64 regularly proced
2a60: 69 6e 67 20 66 6f 72 77 61 72 64 20 66 72 6f 6d ing forward from
2a70: 20 73 74 65 70 20 74 6f 20 73 74 65 70 20 75 6e step to step un
2a80: 74 69 6c 20 70 72 6f 64 75 63 69 6e 67 20 74 68 til producing th
2a90: 65 20 66 69 6e 61 6c 20 72 65 73 75 6c 74 2e 3c e final result.<
2aa0: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 br>..The followi
2ab0: 6e 67 20 69 73 20 61 20 70 72 61 63 74 69 61 6c ng is a practial
2ac0: 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 70 69 example of a pi
2ad0: 70 65 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e peline correspon
2ae0: 64 69 6e 67 20 74 6f 20 61 20 74 72 61 6e 73 66 ding to a transf
2af0: 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 3c 62 ormation from <b
2b00: 3e 45 50 53 47 3a 34 33 32 36 3c 2f 62 3e 20 3c >EPSG:4326</b> <
2b10: 69 3e 57 47 53 20 38 34 3c 2f 69 3e 20 74 6f 20 i>WGS 84</i> to
2b20: 3c 62 3e 45 50 53 47 3a 33 32 36 33 32 3c 2f 62 <b>EPSG:32632</b
2b30: 3e 20 3c 69 3e 57 47 53 20 38 34 20 2f 20 55 54 > <i>WGS 84 / UT
2b40: 4d 20 7a 6f 6e 65 20 33 32 4e 3c 2f 69 3e 3a 0d M zone 32N</i>:.
2b50: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 2b 70 72 .<verbatim>..+pr
2b60: 6f 6a 3d 70 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 oj=pipeline ..+s
2b70: 74 65 70 20 2b 70 72 6f 6a 3d 61 78 69 73 73 77 tep +proj=axissw
2b80: 61 70 20 2b 6f 72 64 65 72 3d 32 2c 31 20 0d 0a ap +order=2,1 ..
2b90: 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 +step +proj=unit
2ba0: 63 6f 6e 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 convert +xy_in=d
2bb0: 65 67 20 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d eg +xy_out=rad .
2bc0: 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 75 74 6d .+step +proj=utm
2bd0: 20 2b 7a 6f 6e 65 3d 33 32 20 2b 65 6c 6c 70 73 +zone=32 +ellps
2be0: 3d 57 47 53 38 34 0d 0a 3c 2f 76 65 72 62 61 74 =WGS84..</verbat
2bf0: 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c im>..<table cell
2c00: 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c spacing="8" cell
2c10: 70 61 64 64 69 6e 67 3d 22 31 36 22 20 62 67 63 padding="16" bgc
2c20: 6f 6c 6f 72 3d 22 23 66 66 66 66 64 30 22 3e 0d olor="#ffffd0">.
2c30: 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 .<tr><td>..<b><u
2c40: 3e 55 73 65 66 75 6c 20 68 69 6e 74 3c 2f 75 3e >Useful hint</u>
2c50: 3c 2f 62 3e 3a 20 50 52 4f 4a 2e 36 20 73 75 70 </b>: PROJ.6 sup
2c60: 70 6f 72 74 73 20 61 20 6e 65 77 20 43 4c 49 20 ports a new CLI
2c70: 74 6f 6f 6c 20 28 3c 62 3e 70 72 6f 6a 69 6e 66 tool (<b>projinf
2c80: 6f 3c 2f 62 3e 29 20 66 6f 72 20 69 6e 73 70 65 o</b>) for inspe
2c90: 63 74 69 6e 67 20 69 6e 20 66 75 6c 6c 20 64 65 cting in full de
2ca0: 74 61 69 6c 20 74 68 65 20 69 6e 74 65 72 6e 61 tail the interna
2cb0: 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 66 l definitions of
2cc0: 20 43 52 53 65 73 2c 20 54 72 61 6e 73 66 6f 72 CRSes, Transfor
2cd0: 6d 61 74 69 6f 6e 73 20 65 74 63 2e 3c 62 72 3e mations etc.<br>
2ce0: 0d 0a 54 68 65 20 61 62 6f 76 65 20 70 69 70 65 ..The above pipe
2cf0: 6c 69 6e 65 20 69 73 20 73 69 6d 70 6c 79 20 74 line is simply t
2d00: 68 65 20 6f 75 74 70 75 74 20 6f 66 20 74 68 65 he output of the
2d10: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 following comma
2d20: 6e 64 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d nd:..<verbatim>.
2d30: 0a 70 72 6f 6a 69 6e 66 6f 20 2d 73 20 45 50 53 .projinfo -s EPS
2d40: 47 3a 34 33 32 36 20 2d 74 20 45 50 53 47 3a 33 G:4326 -t EPSG:3
2d50: 32 36 33 32 20 2d 6f 20 70 72 6f 6a 0d 0a 3c 2f 2632 -o proj..</
2d60: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 62 3e 70 72 verbatim>..<b>pr
2d70: 6f 6a 69 6e 66 6f 3c 2f 62 3e 20 69 73 20 61 20 ojinfo</b> is a
2d80: 76 65 72 79 20 70 72 65 63 69 6f 75 73 20 72 65 very precious re
2d90: 73 6f 75 72 63 65 3b 20 64 6f 6e 27 74 20 65 73 source; don't es
2da0: 69 74 61 74 65 20 74 6f 20 66 72 65 71 75 65 6e itate to frequen
2db0: 74 6c 79 20 75 73 65 20 69 74 20 69 6e 20 6f 72 tly use it in or
2dc0: 64 65 72 20 74 6f 20 64 69 73 63 6f 76 65 72 20 der to discover
2dd0: 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61 what's really ha
2de0: 70 70 65 6e 69 6e 67 20 62 65 68 69 6e 64 20 74 ppening behind t
2df0: 68 65 20 73 63 65 6e 65 73 2e 3c 62 72 3e 0d 0a he scenes.<br>..
2e00: 49 74 27 73 20 74 68 65 20 62 65 73 74 20 61 6e It's the best an
2e10: 64 20 65 61 73 69 65 73 74 20 77 61 79 20 66 6f d easiest way fo
2e20: 72 20 66 75 6c 6c 79 20 75 6e 64 65 72 73 74 61 r fully understa
2e30: 6e 74 69 6e 67 20 68 6f 77 20 50 52 4f 4a 2e 36 nting how PROJ.6
2e40: 20 64 6f 20 72 65 61 6c 6c 79 20 77 6f 72 6b 73 do really works
2e50: 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c ...</td></tr>..<
2e60: 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 33 /table><br>..<h3
2e70: 3e 54 68 65 20 70 72 69 76 61 74 65 20 53 51 4c >The private SQL
2e80: 69 74 65 20 64 61 74 61 62 61 73 65 20 73 75 70 ite database sup
2e90: 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f porting PROJ.6</
2ea0: 68 33 3e 0d 0a 53 74 61 72 74 69 6e 67 20 73 69 h3>..Starting si
2eb0: 6e 63 65 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 nce <b>PROJ.6</b
2ec0: 3e 20 74 68 65 20 50 52 4f 4a 20 6c 69 62 72 61 > the PROJ libra
2ed0: 72 79 20 72 65 71 75 69 72 65 73 20 61 6e 20 65 ry requires an e
2ee0: 78 74 65 72 6e 61 6c 20 53 51 4c 69 74 65 20 64 xternal SQLite d
2ef0: 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 69 atabase containi
2f00: 6e 67 20 61 6c 6c 20 64 65 66 69 6e 69 74 69 6f ng all definitio
2f10: 6e 73 20 61 62 6f 75 74 20 73 75 70 70 6f 72 74 ns about support
2f20: 65 64 20 43 52 53 65 73 2c 20 45 6c 6c 69 70 73 ed CRSes, Ellips
2f30: 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d 65 72 69 oids, Prime Meri
2f40: 64 69 61 6e 73 2c 20 55 6e 69 74 73 20 6f 66 20 dians, Units of
2f50: 4d 65 61 73 75 72 65 2c 20 54 72 61 6e 73 66 6f Measure, Transfo
2f60: 72 6d 61 74 69 6f 6e 73 20 61 6e 64 20 61 6c 69 rmations and ali
2f70: 6b 65 2e 3c 62 72 3e 0d 0a 4d 61 6e 79 20 6f 66 ke.<br>..Many of
2f80: 20 74 68 65 20 6e 65 77 20 61 64 76 61 6e 63 65 the new advance
2f90: 64 20 50 52 4f 4a 27 73 20 41 50 49 20 77 69 6c d PROJ's API wil
2fa0: 6c 20 66 61 69 6c 20 69 66 20 73 75 63 68 20 64 l fail if such d
2fb0: 61 74 61 62 61 73 65 20 69 73 20 6e 6f 74 20 61 atabase is not a
2fc0: 76 61 69 6c 61 62 6c 65 20 61 74 20 72 75 6e 20 vailable at run
2fd0: 74 69 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d time...<br><br>.
2fe0: 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 .<table cellspac
2ff0: 69 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 ing="8" cellpadd
3000: 69 6e 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d ing="8" bgcolor=
3010: 22 23 66 66 66 66 65 39 22 3e 0d 0a 3c 74 72 3e "#ffffe9">..<tr>
3020: 3c 74 68 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 <th>..In order t
3030: 6f 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 6f o learn more abo
3040: 75 74 20 74 68 65 20 6d 61 6e 79 20 69 6e 74 65 ut the many inte
3050: 72 65 73 74 69 6e 67 20 63 6f 6f 6c 20 6e 65 77 resting cool new
3060: 20 66 65 61 74 75 72 65 73 20 73 75 70 70 6f 72 features suppor
3070: 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 20 70 6c ted by PROJ.6 pl
3080: 65 61 73 65 20 63 6f 6e 73 75 6c 74 20 74 68 65 ease consult the
3090: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a <a href="https:
30a0: 2f 2f 70 72 6f 6a 34 2e 6f 72 67 2f 22 3e 6f 72 //proj4.org/">or
30b0: 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 61 iginal documenta
30c0: 74 69 6f 6e 3c 2f 61 3e 0d 0a 3c 2f 74 68 3e 3c tion</a>..</th><
30d0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 /tr>..</table><b
30e0: 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 53 70 r>..<hr>..<h1>Sp
30f0: 61 74 69 61 4c 69 74 65 2d 35 2e 30 2e 30 20 73 atiaLite-5.0.0 s
3100: 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 upporting PROJ.6
3110: 3c 2f 68 31 3e 0d 0a 3c 68 33 3e 45 78 69 73 74 </h1>..<h3>Exist
3120: 69 6e 67 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e ing SQL function
3130: 73 20 61 66 66 65 63 74 65 64 20 62 79 20 50 52 s affected by PR
3140: 4f 4a 2e 36 3c 2f 68 33 3e 0d 0a 3c 74 61 62 6c OJ.6</h3>..<tabl
3150: 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 e cellspacing="8
3160: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 " cellpadding="8
3170: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 65 38 66 66 " bgcolor="#e8ff
3180: 65 38 22 20 62 6f 72 64 65 72 3d 22 31 22 3e 0d e8" border="1">.
3190: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
31a0: 3d 22 23 66 66 62 30 33 65 22 3e 53 51 4c 20 46 ="#ffb03e">SQL F
31b0: 75 6e 63 74 69 6f 6e 3c 2f 74 68 3e 3c 74 68 20 unction</th><th
31c0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 bgcolor="#ffb03e
31d0: 22 3e 45 78 74 65 6e 64 65 64 20 73 69 67 6e 61 ">Extended signa
31e0: 74 75 72 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ture</th><th bgc
31f0: 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 42 olor="#ffb03e">B
3200: 65 68 61 76 69 6f 72 20 75 6e 64 65 72 20 50 52 ehavior under PR
3210: 4f 4a 2e 36 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a OJ.6</th></tr>..
3220: 3c 74 72 3e 3c 74 64 3e 3c 62 3e 53 54 5f 54 72 <tr><td><b>ST_Tr
3230: 61 6e 73 66 6f 72 6d 28 29 3c 2f 62 3e 3c 2f 74 ansform()</b></t
3240: 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 62 3e 53 54 5f d>..<td>..<b>ST_
3250: 54 72 61 6e 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 Transform</b> (
3260: 67 65 6f 6d 20 3c 69 3e 47 65 6f 6d 65 74 72 79 geom <i>Geometry
3270: 3c 2f 69 3e 20 2c 20 6e 65 77 53 72 69 64 20 3c </i> , newSrid <
3280: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 i>Integer</i> ,
3290: 61 72 65 61 20 3c 69 3e 47 65 6f 6d 65 74 72 79 area <i>Geometry
32a0: 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 47 65 6f 6d </i> ) : <i>Geom
32b0: 65 74 72 79 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 etry</i><hr>..<b
32c0: 3e 53 54 5f 54 72 61 6e 73 66 6f 72 6d 3c 2f 62 >ST_Transform</b
32d0: 3e 20 28 20 67 65 6f 6d 20 3c 69 3e 47 65 6f 6d > ( geom <i>Geom
32e0: 65 74 72 79 3c 2f 69 3e 20 2c 20 6e 65 77 53 72 etry</i> , newSr
32f0: 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 id <i>Integer</i
3300: 3e 20 2c 20 61 72 65 61 20 3c 69 3e 47 65 6f 6d > , area <i>Geom
3310: 65 74 72 79 3c 2f 69 3e 20 2c 20 6d 65 74 68 6f etry</i> , metho
3320: 64 20 3c 69 3e 54 65 78 74 3c 2f 69 3e 20 29 20 d <i>Text</i> )
3330: 3a 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 : <i>Geometry</i
3340: 3e 3c 68 72 3e 0d 0a 3c 62 3e 53 54 5f 54 72 61 ><hr>..<b>ST_Tra
3350: 6e 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 67 65 6f nsform</b> ( geo
3360: 6d 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 m <i>Geometry</i
3370: 3e 20 2c 20 6e 65 77 53 72 69 64 20 3c 69 3e 49 > , newSrid <i>I
3380: 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 61 72 65 nteger</i> , are
3390: 61 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 a <i>Geometry</i
33a0: 3e 20 2c 20 6d 65 74 68 6f 64 20 3c 69 3e 54 65 > , method <i>Te
33b0: 78 74 3c 2f 69 3e 20 2c 20 70 72 6f 6a 5f 73 74 xt</i> , proj_st
33c0: 72 69 6e 67 20 3c 69 3e 54 65 78 74 3c 2f 69 3e ring <i>Text</i>
33d0: 20 29 20 3a 20 3c 69 3e 47 65 6f 6d 65 74 72 79 ) : <i>Geometry
33e0: 3c 2f 69 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 </i>..</td>..<td
33f0: 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 >..<table cellsp
3400: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
3410: 64 64 69 6e 67 3d 22 34 22 20 62 67 63 6f 6c 6f dding="4" bgcolo
3420: 72 3d 22 23 66 66 66 66 64 30 22 3e 0d 0a 3c 74 r="#ffffd0">..<t
3430: 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 3c 69 r><td>..<b><u><i
3440: 3e 4e 6f 74 65 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 >Note</i></u></b
3450: 3e 3a 20 61 6c 6c 20 74 68 65 73 65 20 3c 62 3e >: all these <b>
3460: 3c 69 3e 65 78 74 65 6e 64 65 64 20 73 69 67 6e <i>extended sign
3470: 61 74 75 72 65 73 3c 2f 69 3e 3c 2f 62 3e 20 61 atures</i></b> a
3480: 72 65 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 6c re supported onl
3490: 79 20 77 68 65 6e 20 3c 62 3e 6c 69 62 73 70 61 y when <b>libspa
34a0: 74 69 61 6c 69 74 65 2d 35 2e 30 3c 2f 62 3e 20 tialite-5.0</b>
34b0: 68 61 73 20 62 65 65 6e 20 62 75 69 6c 74 20 6f has been built o
34c0: 6e 20 74 68 65 20 74 6f 70 20 6f 66 20 3c 62 3e n the top of <b>
34d0: 50 52 4f 4a 2e 36 3c 2f 62 3e 3c 62 72 3e 0d 0a PROJ.6</b><br>..
34e0: 49 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 68 If the library h
34f0: 61 73 20 62 65 65 6e 20 62 75 69 6c 74 20 69 6e as been built in
3500: 73 74 65 61 64 20 6f 6e 20 65 61 72 6c 69 65 72 stead on earlier
3510: 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 50 52 4f versions of PRO
3520: 4a 20 61 6e 79 20 61 74 74 65 6d 70 74 20 74 6f J any attempt to
3530: 20 63 61 6c 6c 20 74 68 65 73 65 20 65 78 74 65 call these exte
3540: 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65 73 20 nded signatures
3550: 77 69 6c 6c 20 6a 75 73 74 20 72 65 74 75 72 6e will just return
3560: 20 61 20 3c 62 3e 3c 69 3e 77 72 6f 6e 67 20 6e a <b><i>wrong n
3570: 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e umber of argumen
3580: 74 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 53 ts to function S
3590: 54 5f 54 72 61 6e 73 66 6f 72 6d 28 29 3c 2f 69 T_Transform()</i
35a0: 3e 3c 2f 62 3e 20 65 72 72 6f 72 2e 0d 0a 3c 2f ></b> error...</
35b0: 74 64 3e 3c 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 td><tr>..</table
35c0: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 ><br>..<table ce
35d0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
35e0: 6c 6c 70 61 64 64 69 6e 67 3d 22 34 22 20 62 67 llpadding="4" bg
35f0: 63 6f 6c 6f 72 3d 22 23 66 66 64 66 64 30 22 3e color="#ffdfd0">
3600: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 6e 79 20 ..<tr><td>..Any
3610: 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 invalid argument
3620: 20 70 61 73 73 65 64 20 74 6f 20 3c 62 3e 53 54 passed to <b>ST
3630: 5f 54 72 61 6e 73 66 6f 72 6d 28 29 3c 2f 62 3e _Transform()</b>
3640: 20 28 3c 62 3e 3c 69 3e 65 78 74 65 6e 64 65 64 (<b><i>extended
3650: 20 73 69 67 6e 61 74 75 72 65 73 3c 2f 69 3e 3c signatures</i><
3660: 2f 62 3e 29 20 77 69 6c 6c 20 72 61 69 73 65 20 /b>) will raise
3670: 61 6e 20 3c 62 3e 53 51 4c 20 45 78 63 65 70 74 an <b>SQL Except
3680: 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 2f 74 64 3e 3c ion</b>...</td><
3690: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 tr>..</table><br
36a0: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 >..<ul>..<li>the
36b0: 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 optional argume
36c0: 6e 74 20 3c 62 3e 61 72 65 61 3c 2f 62 3e 20 6d nt <b>area</b> m
36d0: 61 79 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 ay be <b>NULL</b
36e0: 3e 20 28 3c 69 3e 64 65 66 61 75 6c 74 20 73 65 > (<i>default se
36f0: 74 74 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d tting</i>).<br>.
3700: 0a 4f 74 68 65 72 77 69 73 65 20 69 74 27 73 20 .Otherwise it's
3710: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 expected to cont
3720: 61 69 6e 20 61 20 76 61 6c 69 64 20 47 65 6f 6d ain a valid Geom
3730: 65 74 72 79 20 69 6e 20 3c 62 3e 53 52 49 44 3d etry in <b>SRID=
3740: 34 33 32 36 20 28 6c 6f 6e 67 2f 6c 61 74 29 3c 4326 (long/lat)<
3750: 2f 62 3e 2e 0d 0a 57 68 65 6e 20 61 6e 20 3c 62 /b>...When an <b
3760: 3e 3c 69 3e 61 72 65 61 20 6f 66 20 75 73 65 3c ><i>area of use<
3770: 2f 69 3e 3c 2f 62 3e 20 69 73 20 65 78 70 6c 69 /i></b> is expli
3780: 63 69 74 6c 79 20 73 75 70 70 6c 69 65 64 2c 20 citly supplied,
3790: 74 68 65 6e 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f then <b>PROJ.6</
37a0: 62 3e 20 6d 61 79 20 65 76 65 6e 74 75 61 6c 6c b> may eventuall
37b0: 79 20 75 73 65 20 74 68 65 20 63 6f 72 72 65 73 y use the corres
37c0: 70 6f 6e 64 69 6e 67 20 3c 62 3e 42 42 4f 58 3c ponding <b>BBOX<
37d0: 2f 62 3e 20 66 6f 72 20 66 69 6e 65 6c 79 20 74 /b> for finely t
37e0: 75 6e 69 6e 67 20 74 68 65 20 6d 6f 72 65 20 61 uning the more a
37f0: 63 63 75 72 61 74 65 20 74 72 61 6e 73 66 6f 72 ccurate transfor
3800: 6d 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c mation.</li>..<l
3810: 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 i>the optional a
3820: 72 67 75 6d 65 6e 74 20 3c 62 3e 6d 65 74 68 6f rgument <b>metho
3830: 64 3c 2f 62 3e 20 69 73 20 65 78 70 65 63 74 65 d</b> is expecte
3840: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 6f 6e 65 d to contain one
3850: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 the following v
3860: 61 6c 75 65 73 20 28 3c 62 3e 61 75 74 68 5f 6e alues (<b>auth_n
3870: 61 6d 65 3a 61 75 74 68 5f 73 74 72 69 64 3c 2f ame:auth_strid</
3880: 62 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 b> will be alway
3890: 73 20 61 73 73 75 6d 65 64 20 61 73 20 74 68 65 s assumed as the
38a0: 20 3c 69 3e 64 65 66 61 75 6c 74 20 73 65 74 74 <i>default sett
38b0: 69 6e 67 3c 2f 69 3e 29 3a 3c 2f 6c 69 3e 0d 0a ing</i>):</li>..
38c0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 70 72 6f <ul>..<li><b>pro
38d0: 6a 34 74 65 78 74 3c 2f 62 3e 3a 20 62 6f 74 68 j4text</b>: both
38e0: 20 43 52 53 65 73 20 28 6f 72 69 67 69 6e 20 61 CRSes (origin a
38f0: 6e 64 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 20 nd destination)
3900: 77 69 6c 6c 20 62 65 20 64 65 66 69 6e 65 64 20 will be defined
3910: 62 79 20 70 61 73 73 69 6e 67 20 74 6f 20 50 52 by passing to PR
3920: 4f 4a 2e 36 20 74 68 65 20 74 72 61 64 69 74 69 OJ.6 the traditi
3930: 6f 6e 61 6c 73 20 3c 62 3e 70 72 6f 6a 2d 73 74 onals <b>proj-st
3940: 72 69 6e 67 3c 2f 62 3e 20 64 65 66 69 6e 69 74 ring</b> definit
3950: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 63 6f 72 ions for the cor
3960: 72 65 73 70 6f 6e 64 69 6e 67 20 53 52 49 44 73 responding SRIDs
3970: 20 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 retrieved from
3980: 63 6f 6c 75 6d 6e 20 3c 62 3e 70 72 6f 6a 34 74 column <b>proj4t
3990: 65 78 74 3c 2f 62 3e 20 69 6e 20 54 61 62 6c 65 ext</b> in Table
39a0: 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f <b>spatial_ref_
39b0: 73 79 73 3c 2f 62 3e 3c 62 72 3e 0d 0a 54 68 69 sys</b><br>..Thi
39c0: 73 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65 73 s exactly corres
39d0: 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 77 65 6c ponds to the wel
39e0: 6c 20 65 78 74 61 62 6c 69 73 68 65 64 20 74 72 l extablished tr
39f0: 61 64 69 74 69 6f 6e 61 6c 20 62 65 68 61 76 69 aditional behavi
3a00: 6f 72 20 6f 66 20 61 6c 6c 20 70 72 65 76 69 6f or of all previo
3a10: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c us versions of <
3a20: 62 3e 6c 69 62 73 70 61 74 69 61 6c 69 74 65 3c b>libspatialite<
3a30: 2f 62 3e 20 61 6e 64 20 73 74 69 6c 6c 20 63 6f /b> and still co
3a40: 6e 74 69 6e 75 65 73 20 74 6f 20 62 65 20 73 75 ntinues to be su
3a50: 70 70 6f 72 74 65 64 20 6d 61 69 6e 6c 79 20 66 pported mainly f
3a60: 6f 72 20 68 69 73 74 6f 72 69 63 61 6c 20 63 6f or historical co
3a70: 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 62 75 74 mpatibility, but
3a80: 20 3c 62 3e 3c 75 3e 3c 69 3e 69 73 6e 27 74 20 <b><u><i>isn't
3a90: 61 6e 79 20 6c 6f 6e 67 65 72 20 74 68 65 20 62 any longer the b
3aa0: 65 73 74 20 77 61 79 20 66 6f 72 20 74 61 6b 69 est way for taki
3ab0: 6e 67 20 66 75 6c 6c 20 70 72 6f 66 69 74 20 6f ng full profit o
3ac0: 66 20 74 68 65 20 6d 6f 72 65 20 61 64 76 61 6e f the more advan
3ad0: 63 65 64 20 63 61 70 61 62 69 6c 69 74 69 65 73 ced capabilities
3ae0: 20 6f 66 20 50 52 4f 4a 2e 36 3c 2f 69 3e 3c 2f of PROJ.6</i></
3af0: 75 3e 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 u></b></li>..<li
3b00: 3e 3c 62 3e 73 72 74 65 78 74 3c 2f 62 3e 3a 20 ><b>srtext</b>:
3b10: 62 6f 74 68 20 43 52 53 65 73 20 28 6f 72 69 67 both CRSes (orig
3b20: 69 6e 20 61 6e 64 20 64 65 73 74 69 6e 61 74 69 in and destinati
3b30: 6f 6e 29 20 77 69 6c 6c 20 62 65 20 64 65 66 69 on) will be defi
3b40: 6e 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 74 ned by passing t
3b50: 6f 20 50 52 4f 4a 2e 36 20 74 68 65 20 3c 62 3e o PROJ.6 the <b>
3b60: 57 4b 54 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 WKT</b> definiti
3b70: 6f 6e 73 20 66 6f 72 20 74 68 65 20 63 6f 72 72 ons for the corr
3b80: 65 73 70 6f 6e 64 69 6e 67 20 53 52 49 44 73 20 esponding SRIDs
3b90: 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 63 retrieved from c
3ba0: 6f 6c 75 6d 6e 20 3c 62 3e 73 72 74 65 78 74 3c olumn <b>srtext<
3bb0: 2f 62 3e 20 69 6e 20 54 61 62 6c 65 20 3c 62 3e /b> in Table <b>
3bc0: 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c spatial_ref_sys<
3bd0: 2f 62 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 3c /b><br>..<b><u><
3be0: 69 3e 4e 6f 74 65 3c 2f 69 3e 3c 2f 75 3e 3c 2f i>Note</i></u></
3bf0: 62 3e 3a 20 74 68 69 73 20 6d 65 74 68 6f 64 20 b>: this method
3c00: 63 6f 75 6c 64 20 65 66 66 65 63 74 69 76 65 6c could effectivel
3c10: 79 20 74 61 6b 65 20 66 75 6c 6c 20 70 72 6f 66 y take full prof
3c20: 69 74 20 6f 66 20 74 68 65 20 6d 6f 72 65 20 61 it of the more a
3c30: 64 76 61 6e 63 65 64 20 63 61 70 61 62 69 6c 69 dvanced capabili
3c40: 74 69 65 73 20 6f 66 20 50 52 4f 4a 2e 36 2c 20 ties of PROJ.6,
3c50: 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 but only if the
3c60: 75 6e 64 65 72 6c 61 79 69 6e 67 20 53 70 61 74 underlaying Spat
3c70: 69 61 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 iaLite database
3c80: 68 61 73 20 62 65 65 6e 20 63 72 65 61 74 65 64 has been created
3c90: 20 77 69 74 68 20 50 52 4f 4a 2e 36 20 73 75 70 with PROJ.6 sup
3ca0: 70 6f 72 74 2e 0d 0a 42 75 74 20 69 74 20 63 6f port...But it co
3cb0: 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 69 6e uld easily be in
3cc0: 61 64 65 71 75 61 74 65 20 77 68 65 6e 20 74 68 adequate when th
3cd0: 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 53 70 e underlaying Sp
3ce0: 61 74 69 61 4c 69 74 65 20 64 61 74 61 62 61 73 atiaLite databas
3cf0: 65 20 77 61 73 20 63 72 65 61 74 65 64 20 62 79 e was created by
3d00: 20 73 6f 6d 65 20 65 61 72 6c 69 65 72 20 76 65 some earlier ve
3d10: 72 73 69 6f 6e 20 6c 61 63 6b 69 6e 67 20 50 52 rsion lacking PR
3d20: 4f 4a 2e 36 20 73 75 70 70 6f 72 74 2e 3c 2f 6c OJ.6 support.</l
3d30: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f i>..<li><b>auth_
3d40: 6e 61 6d 65 3a 61 75 74 68 5f 73 72 69 64 3c 2f name:auth_srid</
3d50: 62 3e 3a 20 62 6f 74 68 20 43 52 53 65 73 20 28 b>: both CRSes (
3d60: 6f 72 69 67 69 6e 20 61 6e 64 20 64 65 73 74 69 origin and desti
3d70: 6e 61 74 69 6f 6e 29 20 77 69 6c 6c 20 62 65 20 nation) will be
3d80: 64 65 66 69 6e 65 64 20 62 79 20 69 67 6e 6f 72 defined by ignor
3d90: 69 6e 67 20 74 68 65 20 64 65 66 69 6e 69 74 69 ing the definiti
3da0: 6f 6e 73 20 73 74 6f 72 65 64 20 69 6e 20 3c 62 ons stored in <b
3db0: 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 >spatial_ref_sys
3dc0: 3c 2f 62 3e 20 61 6e 64 20 6c 65 61 76 69 6e 67 </b> and leaving
3dd0: 20 50 52 4f 4a 2e 36 20 66 72 65 65 20 74 6f 20 PROJ.6 free to
3de0: 72 65 74 72 69 65 76 65 20 74 68 65 69 72 20 63 retrieve their c
3df0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 65 66 orresponding def
3e00: 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 initions from it
3e10: 73 20 6f 77 6e 20 70 72 69 76 61 74 65 20 53 51 s own private SQ
3e20: 4c 69 74 65 20 64 61 74 61 62 61 73 65 2e 3c 62 Lite database.<b
3e30: 72 3e 0d 0a 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 r>..<b><u><i>Not
3e40: 65 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 e</i></u></b>: t
3e50: 68 69 73 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 his method will
3e60: 61 6c 77 61 79 73 20 74 61 6b 65 20 66 75 6c 6c always take full
3e70: 20 70 72 6f 66 69 74 20 6f 66 20 74 68 65 20 6d profit of the m
3e80: 6f 72 65 20 61 64 76 61 6e 63 65 64 20 63 61 70 ore advanced cap
3e90: 61 62 69 6c 69 74 69 65 73 20 6f 66 20 50 52 4f abilities of PRO
3ea0: 4a 2e 36 2c 20 65 76 65 6e 20 77 68 65 6e 20 75 J.6, even when u
3eb0: 73 69 6e 67 20 73 6f 6d 65 20 53 70 61 74 69 61 sing some Spatia
3ec0: 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 63 72 Lite database cr
3ed0: 65 61 74 65 64 20 62 79 20 65 61 72 6c 69 65 72 eated by earlier
3ee0: 20 76 65 72 73 69 6f 6e 73 20 6e 6f 74 20 79 65 versions not ye
3ef0: 74 20 73 75 70 70 6f 72 74 69 6e 67 20 50 52 4f t supporting PRO
3f00: 4a 2e 36 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 J.6</li>..<li><b
3f10: 3e 70 72 6f 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e >proj_string</b>
3f20: 3a 20 61 6e 20 3c 62 3e 3c 69 3e 75 73 65 72 2d : an <b><i>user-
3f30: 64 65 66 69 6e 65 64 20 70 72 6f 6a 2d 73 74 72 defined proj-str
3f40: 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 6d 61 79 ing</i></b> (may
3f50: 20 62 65 20 6f 6e 65 20 64 65 66 69 6e 69 6e 69 be one definini
3f60: 6e 67 20 61 20 3c 62 3e 3c 69 3e 74 72 61 6e 73 ng a <b><i>trans
3f70: 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 formation pipeli
3f80: 6e 65 3c 2f 69 3e 3c 2f 62 3e 29 20 77 69 6c 6c ne</i></b>) will
3f90: 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 50 52 be passed to PR
3fa0: 4f 4a 2e 36 3b 20 74 68 69 73 20 69 73 20 61 6e OJ.6; this is an
3fb0: 20 61 64 76 61 6e 63 65 64 20 6f 70 74 69 6f 6e advanced option
3fc0: 20 72 65 73 65 72 76 65 64 20 74 6f 20 73 6b 69 reserved to ski
3fd0: 6c 6c 65 64 20 70 6f 77 65 72 20 75 73 65 72 73 lled power users
3fe0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
3ff0: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 i>..<li>the opti
4000: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 onal argument <b
4010: 3e 70 72 6f 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e >proj_string</b>
4020: 20 6d 61 79 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c may be <b>NULL<
4030: 2f 62 3e 20 28 3c 69 3e 64 65 66 61 75 6c 74 20 /b> (<i>default
4040: 73 65 74 74 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 setting</i>).<br
4050: 3e 0d 0a 4f 74 68 65 72 77 69 73 65 20 69 74 27 >..Otherwise it'
4060: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f s expected to co
4070: 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 3c 62 ntain a valid <b
4080: 3e 50 52 4f 4a 2e 36 20 3c 69 3e 74 72 61 6e 73 >PROJ.6 <i>trans
4090: 66 6f 72 6d 61 74 69 6f 6e 20 73 74 72 69 6e 67 formation string
40a0: 3c 2f 69 3e 3c 2f 62 3e 2c 20 6d 61 79 20 77 65 </i></b>, may we
40b0: 6c 6c 20 62 65 20 63 6f 72 72 65 73 70 6f 6e 64 ll be correspond
40c0: 69 6e 67 20 74 6f 20 61 6e 20 3c 62 3e 3c 69 3e ing to an <b><i>
40d0: 75 73 65 72 2d 64 65 66 69 6e 65 64 20 74 72 61 user-defined tra
40e0: 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 nsformation pipe
40f0: 6c 69 6e 65 3c 2f 69 3e 3c 2f 62 3e 2e 0d 0a 4d line</i></b>...M
4100: 65 61 6e 69 6e 67 66 75 6c 20 6f 6e 6c 79 20 69 eaningful only i
4110: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 n the case of <b
4120: 3e 6d 65 74 68 6f 64 3d 70 72 6f 6a 5f 73 74 72 >method=proj_str
4130: 69 6e 67 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ing</b></li>..</
4140: 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ul>..</td></tr>.
4150: 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 49 6e 69 74 .<tr><td><b>Init
4160: 53 70 61 74 69 61 6c 4d 65 74 61 44 61 74 61 28 SpatialMetaData(
4170: 29 3c 2f 62 3e 3c 68 72 3e 0d 0a 3c 62 3e 49 6e )</b><hr>..<b>In
4180: 69 74 53 70 61 74 69 61 6c 4d 65 74 61 44 61 74 itSpatialMetaDat
4190: 61 46 75 6c 6c 28 29 3c 2f 62 3e 3c 68 72 3e 0d aFull()</b><hr>.
41a0: 0a 3c 62 3e 49 6e 73 65 72 74 45 70 73 67 53 52 .<b>InsertEpsgSR
41b0: 49 44 28 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 ID()</td><td ali
41c0: 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 62 3e 75 gn="center"><b>u
41d0: 6e 63 68 61 6e 67 65 64 3c 2f 62 3e 3c 2f 74 64 nchanged</b></td
41e0: 3e 0d 0a 3c 74 64 3e 0d 0a 41 6c 6c 20 74 68 65 >..<td>..All the
41f0: 73 65 20 53 51 4c 20 46 75 6e 63 74 69 6f 6e 73 se SQL Functions
4200: 20 64 6f 65 73 6e 27 74 20 63 68 61 6e 67 65 20 doesn't change
4210: 74 68 65 69 72 20 73 69 67 6e 61 74 75 72 65 73 their signatures
4220: 2c 20 62 75 74 20 62 65 68 61 76 65 20 69 6e 20 , but behave in
4230: 61 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 a significantly
4240: 64 69 66 66 65 72 65 6e 74 20 77 61 79 20 77 68 different way wh
4250: 65 6e 20 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e en <b>PROJ.6</b>
4260: 20 73 75 70 70 6f 72 74 20 69 73 20 61 76 61 69 support is avai
4270: 6c 61 62 6c 65 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c lable...<ul>..<l
4280: 69 3e 74 72 61 64 69 74 69 6f 6e 61 6c 20 62 65 i>traditional be
4290: 68 61 76 69 6f 72 20 6f 6e 20 6f 6c 64 20 3c 62 havior on old <b
42a0: 3e 50 52 4f 4a 2e 34 3c 2f 62 3e 3a 20 74 68 65 >PROJ.4</b>: the
42b0: 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f <b>spatial_ref_
42c0: 73 79 73 3c 2f 62 3e 20 6d 65 74 61 64 61 74 61 sys</b> metadata
42d0: 20 54 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 70 Table will be p
42e0: 6f 70 75 6c 61 74 65 64 20 62 79 20 75 73 69 6e opulated by usin
42f0: 67 20 74 68 65 20 43 52 53 65 73 20 64 65 66 69 g the CRSes defi
4300: 6e 69 74 69 6f 6e 73 20 69 6e 74 65 72 6e 61 6c nitions internal
4310: 6c 79 20 69 6e 6c 69 6e 65 64 20 77 69 74 68 69 ly inlined withi
4320: 6e 20 74 68 65 20 63 6f 64 65 20 6f 66 20 3c 62 n the code of <b
4330: 3e 6c 69 62 73 70 61 74 69 61 6c 69 74 65 3c 2f >libspatialite</
4340: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6e 65 b>.</li>..<li>ne
4350: 77 20 62 65 68 61 76 69 6f 72 20 6f 6e 20 3c 62 w behavior on <b
4360: 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 3a 20 74 68 65 >PROJ.6</b>: the
4370: 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f <b>spatial_ref_
4380: 73 79 73 3c 2f 62 3e 20 6d 65 74 61 64 61 74 61 sys</b> metadata
4390: 20 54 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 70 Table will be p
43a0: 6f 70 75 6c 61 74 65 64 20 62 79 20 69 6e 73 65 opulated by inse
43b0: 72 74 69 6e 67 20 74 68 65 20 43 52 53 65 73 20 rting the CRSes
43c0: 64 65 66 69 6e 69 74 69 6f 6e 73 20 65 78 74 72 definitions extr
43d0: 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 53 acted from the S
43e0: 51 4c 69 74 65 20 70 72 69 76 61 74 65 20 64 61 QLite private da
43f0: 74 61 62 61 73 65 20 63 75 72 72 65 6e 74 6c 79 tabase currently
4400: 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 50 52 connected to PR
4410: 4f 4a 2e 36 3b 20 6d 6f 72 65 20 70 72 65 63 69 OJ.6; more preci
4420: 73 65 6c 79 2c 20 63 6f 6c 75 6d 6e 20 3c 62 3e sely, column <b>
4430: 70 72 6f 6a 34 74 65 78 74 3c 2f 62 3e 20 77 69 proj4text</b> wi
4440: 6c 6c 20 62 65 20 70 6f 70 75 6c 61 74 65 64 20 ll be populated
4450: 62 79 20 69 6e 73 65 72 74 69 6e 67 20 74 68 65 by inserting the
4460: 20 6e 65 77 20 3c 62 3e 70 72 6f 6a 2d 73 74 72 new <b>proj-str
4470: 69 6e 67 73 3c 2f 62 3e 20 61 73 20 73 75 70 70 ings</b> as supp
4480: 6f 72 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 2c orted by PROJ.6,
4490: 20 77 68 69 6c 73 74 20 63 6f 6c 75 6d 6e 20 3c whilst column <
44a0: 62 3e 73 72 74 65 78 74 3c 2f 62 3e 20 77 69 6c b>srtext</b> wil
44b0: 6c 20 62 65 20 70 6f 70 75 6c 61 74 65 64 20 62 l be populated b
44c0: 79 20 69 6e 73 65 72 74 69 6e 67 20 74 68 65 20 y inserting the
44d0: 3c 62 3e 49 53 4f 2d 32 30 31 38 20 57 4b 54 3c <b>ISO-2018 WKT<
44e0: 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 /b> definitions
44f0: 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 as supported by
4500: 50 52 4f 4a 2e 36 3c 62 72 3e 0d 0a 3c 75 3e 3c PROJ.6<br>..<u><
4510: 62 3e 3c 69 3e 49 6d 70 6f 72 74 61 6e 74 20 63 b><i>Important c
4520: 6f 6e 73 65 71 75 65 6e 63 65 3c 2f 69 3e 3c 2f onsequence</i></
4530: 62 3e 3c 2f 75 3e 3a 20 69 66 20 74 68 65 72 65 b></u>: if there
4540: 20 69 73 20 6e 6f 20 64 61 74 61 62 61 73 65 20 is no database
4550: 63 75 72 72 65 6e 74 6c 79 20 63 6f 6e 6e 65 63 currently connec
4560: 74 65 64 20 74 6f 20 50 52 4f 4a 2e 36 20 74 68 ted to PROJ.6 th
4570: 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e e initialization
4580: 20 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 of <b>spatial_r
4590: 65 66 5f 73 79 73 3c 2f 62 3e 20 77 69 6c 6c 20 ef_sys</b> will
45a0: 66 61 69 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c fail.</li>..</ul
45b0: 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c >..</td></tr>..<
45c0: 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 46 65 77 /table><br>..Few
45d0: 20 70 72 61 63 74 69 63 61 6c 20 53 51 4c 20 65 practical SQL e
45e0: 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 61 xamples:..<verba
45f0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 73 45 tim>..SELECT AsE
4600: 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f WKT ( ST_Transfo
4610: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 rm( MakePoint( 1
4620: 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 1.878056 , 43.46
4630: 33 30 35 36 2c 20 34 33 32 36 20 29 2c 20 33 30 3056, 4326 ), 30
4640: 30 33 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 30 03)); -- SRID=30
4650: 30 33 20 2d 20 64 65 66 61 75 6c 74 20 73 65 74 03 - default set
4660: 74 69 6e 67 73 3b 20 69 67 6e 6f 72 69 6e 67 20 tings; ignoring
4670: 73 70 61 74 69 61 6c 69 74 65 5f 72 65 66 5f 73 spatialite_ref_s
4680: 79 73 20 61 6e 64 20 75 73 69 6e 67 20 74 68 65 ys and using the
4690: 20 50 52 4f 4a 2e 36 20 6f 77 6e 20 70 72 69 76 PROJ.6 own priv
46a0: 61 74 65 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d ate database..--
46b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
46c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
46d0: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 ---..SRID=3003;P
46e0: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32 OINT(1732852.942
46f0: 37 31 36 37 36 39 20 34 38 31 36 32 37 37 2e 36 716769 4816277.6
4700: 31 37 36 39 30 36 37 34 29 0d 0a 0d 0a 53 45 4c 17690674)....SEL
4710: 45 43 54 20 41 73 45 57 4b 54 20 28 20 53 54 5f ECT AsEWKT ( ST_
4720: 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 Transform( MakeP
4730: 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 oint( 11.878056
4740: 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 , 43.463056, 432
4750: 36 20 29 2c 20 33 30 30 33 2c 20 4e 55 4c 4c 2c 6 ), 3003, NULL,
4760: 20 27 73 72 74 65 78 74 27 29 29 3b 20 2d 2d 20 'srtext')); --
4770: 53 52 49 44 3d 33 30 30 33 20 2d 20 4e 55 4c 4c SRID=3003 - NULL
4780: 20 61 72 65 61 20 6f 66 20 75 73 65 2c 20 75 73 area of use, us
4790: 69 6e 67 20 49 53 4f 2d 32 30 31 38 20 57 4b 54 ing ISO-2018 WKT
47a0: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f definitions fro
47b0: 6d 20 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 m spatial_ref_sy
47c0: 73 2e 73 72 74 65 78 74 0d 0a 2d 2d 2d 2d 2d 2d s.srtext..------
47d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
47e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
47f0: 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 .SRID=3003;POINT
4800: 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 37 (1732852.9427167
4810: 36 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 39 69 4816277.61769
4820: 30 36 37 34 29 0d 0a 0d 0a 53 45 4c 45 43 54 20 0674)....SELECT
4830: 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61 6e AsEWKT ( ST_Tran
4840: 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 sform( MakePoint
4850: 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34 33 ( 11.878056 , 43
4860: 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 29 2c .463056, 4326 ),
4870: 20 33 30 30 33 2c 20 4e 55 4c 4c 2c 20 27 70 72 3003, NULL, 'pr
4880: 6f 6a 34 74 65 78 74 27 29 29 3b 20 2d 2d 20 53 oj4text')); -- S
4890: 52 49 44 3d 33 30 30 33 20 2d 20 4e 55 4c 4c 20 RID=3003 - NULL
48a0: 61 72 65 61 20 6f 66 20 75 73 65 2c 20 75 73 69 area of use, usi
48b0: 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e 67 20 64 ng proj-string d
48c0: 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 efinitions from
48d0: 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 2e spatial_ref_sys.
48e0: 70 72 6f 6a 34 74 65 78 74 0d 0a 2d 2d 2d 2d 2d proj4text..-----
48f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4910: 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e ..SRID=3003;POIN
4920: 54 28 31 37 33 32 38 33 32 2e 34 34 34 38 39 32 T(1732832.444892
4930: 33 38 20 34 38 31 36 33 35 30 2e 31 34 36 32 34 38 4816350.14624
4940: 36 34 31 34 29 0d 0a 0d 0a 53 45 4c 45 43 54 20 6414)....SELECT
4950: 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61 6e AsEWKT ( ST_Tran
4960: 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 sform( MakePoint
4970: 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34 33 ( 11.878056 , 43
4980: 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 29 2c .463056, 4326 ),
4990: 20 33 32 36 33 32 29 29 3b 20 2d 2d 20 53 52 49 32632)); -- SRI
49a0: 44 3d 33 32 36 33 32 20 2d 20 64 65 66 61 75 6c D=32632 - defaul
49b0: 74 20 73 65 74 74 69 6e 67 73 3b 20 69 67 6e 6f t settings; igno
49c0: 72 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65 5f ring spatialite_
49d0: 72 65 66 5f 73 79 73 20 61 6e 64 20 75 73 69 6e ref_sys and usin
49e0: 67 20 74 68 65 20 50 52 4f 4a 2e 36 20 6f 77 6e g the PROJ.6 own
49f0: 20 70 72 69 76 61 74 65 20 64 61 74 61 62 61 73 private databas
4a00: 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e..-------------
4a10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4a20: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 --------..SRID=3
4a30: 32 36 33 32 3b 50 4f 49 4e 54 28 37 33 32 38 32 2632;POINT(73282
4a40: 31 2e 37 31 38 34 37 35 31 31 32 33 20 34 38 31 1.7184751123 481
4a50: 36 32 36 32 2e 36 33 31 32 34 35 32 35 33 29 0d 6262.631245253).
4a60: 0a 0d 0a 53 45 4c 45 43 54 20 41 73 45 57 4b 54 ...SELECT AsEWKT
4a70: 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 ( ST_Transform(
4a80: 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 MakePoint( 11.8
4a90: 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 78056 , 43.46305
4aa0: 36 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 32 6, 4326 ), 32632
4ab0: 2c 20 4e 55 4c 4c 2c 20 27 73 72 74 65 78 74 27 , NULL, 'srtext'
4ac0: 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 32 36 33 )); -- SRID=3263
4ad0: 32 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 2 - NULL area of
4ae0: 20 75 73 65 2c 20 75 73 69 6e 67 20 49 53 4f 2d use, using ISO-
4af0: 32 30 31 38 20 57 4b 54 20 64 65 66 69 6e 69 74 2018 WKT definit
4b00: 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 61 ions from spatia
4b10: 6c 5f 72 65 66 5f 73 79 73 2e 73 72 74 65 78 74 l_ref_sys.srtext
4b20: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
4b30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4b40: 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 32 -------..SRID=32
4b50: 36 33 32 3b 50 4f 49 4e 54 28 37 33 32 38 32 31 632;POINT(732821
4b60: 2e 37 31 38 34 37 35 31 31 32 33 20 34 38 31 36 .7184751123 4816
4b70: 32 36 32 2e 36 33 31 32 34 35 32 35 33 29 0d 0a 262.631245253)..
4b80: 0d 0a 53 45 4c 45 43 54 20 41 73 45 57 4b 54 20 ..SELECT AsEWKT
4b90: 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 ( ST_Transform(
4ba0: 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 MakePoint( 11.87
4bb0: 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 8056 , 43.463056
4bc0: 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 32 2c , 4326 ), 32632,
4bd0: 20 4e 55 4c 4c 2c 20 27 70 72 6f 6a 34 74 65 78 NULL, 'proj4tex
4be0: 74 27 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 32 t')); -- SRID=32
4bf0: 36 33 32 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 632 - NULL area
4c00: 6f 66 20 75 73 65 2c 20 75 73 69 6e 67 20 70 72 of use, using pr
4c10: 6f 6a 2d 73 74 72 69 6e 67 20 64 65 66 69 6e 69 oj-string defini
4c20: 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 tions from spati
4c30: 61 6c 5f 72 65 66 5f 73 79 73 2e 70 72 6f 6a 34 al_ref_sys.proj4
4c40: 74 65 78 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d text..----------
4c50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 -----------..SRI
4c70: 44 3d 33 32 36 33 32 3b 50 4f 49 4e 54 28 37 33 D=32632;POINT(73
4c80: 32 38 32 31 2e 37 31 38 34 37 35 31 31 32 33 20 2821.7184751123
4c90: 34 38 31 36 32 36 32 2e 36 33 31 32 34 35 32 35 4816262.63124525
4ca0: 33 29 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 3)..</verbatim>.
4cb0: 0a 54 68 69 73 20 66 69 72 73 74 20 74 65 73 74 .This first test
4cc0: 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20 6e is based on a n
4cd0: 65 77 20 53 70 61 74 69 61 4c 69 74 65 20 64 61 ew SpatiaLite da
4ce0: 74 61 62 61 73 65 20 63 72 65 61 74 65 64 20 77 tabase created w
4cf0: 69 74 68 20 66 75 6c 6c 20 50 52 4f 4a 2e 36 20 ith full PROJ.6
4d00: 73 75 70 70 6f 72 74 2e 20 41 73 20 79 6f 75 20 support. As you
4d10: 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 can easily notic
4d20: 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 e:..<ul>..<li>th
4d30: 65 20 6c 61 73 74 20 74 72 61 6e 73 66 6f 72 6d e last transform
4d40: 61 74 69 6f 6e 20 66 72 6f 6d 20 53 52 49 44 3d ation from SRID=
4d50: 34 33 32 36 20 74 6f 20 53 52 49 44 3d 33 30 30 4326 to SRID=300
4d60: 33 20 62 61 73 65 64 20 6f 6e 20 74 72 61 64 69 3 based on tradi
4d70: 74 69 6f 6e 61 6c 20 3c 62 3e 70 72 6f 6a 2d 73 tional <b>proj-s
4d80: 74 72 69 6e 67 73 3c 2f 62 3e 20 72 65 74 72 69 trings</b> retri
4d90: 65 76 65 64 20 66 72 6f 6d 20 3c 62 3e 73 70 61 eved from <b>spa
4da0: 74 69 61 6c 5f 72 65 66 5f 73 79 73 2e 70 72 6f tial_ref_sys.pro
4db0: 6a 34 74 65 78 74 3c 2f 62 3e 20 72 61 74 68 65 j4text</b> rathe
4dc0: 72 20 73 75 72 70 72 69 73 69 6e 67 6c 79 20 73 r surprisingly s
4dd0: 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 64 69 66 ignificantly dif
4de0: 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 66 69 fers from the fi
4df0: 72 73 74 20 74 77 6f 20 72 65 73 75 6c 74 73 2e rst two results.
4e00: 3c 62 72 3e 0d 0a 74 68 65 72 65 20 69 73 20 61 <br>..there is a
4e10: 6e 20 69 6d 70 72 65 73 73 69 76 65 20 64 69 73 n impressive dis
4e20: 74 61 6e 63 65 20 6f 66 20 61 62 6f 75 74 20 3c tance of about <
4e30: 62 3e 37 35 6d 3c 2f 62 3e 20 62 65 74 77 65 65 b>75m</b> betwee
4e40: 6e 20 74 68 65 20 74 77 6f 20 72 65 70 72 6f 6a n the two reproj
4e50: 65 63 74 65 64 20 70 6f 69 6e 74 73 2e 3c 2f 6c ected points.</l
4e60: 69 3e 0d 0a 3c 6c 69 3e 62 75 74 20 61 6c 6c 20 i>..<li>but all
4e70: 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 transformations
4e80: 66 72 6f 6d 20 53 52 49 44 3d 34 33 32 36 20 74 from SRID=4326 t
4e90: 6f 20 53 52 49 44 3d 33 32 36 33 32 20 72 65 74 o SRID=32632 ret
4ea0: 75 72 6e 20 69 64 65 6e 74 69 63 61 6c 20 72 65 urn identical re
4eb0: 73 75 6c 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 sults.</li>..<li
4ec0: 3e 74 68 69 73 20 69 73 20 61 20 64 69 72 65 63 >this is a direc
4ed0: 74 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 20 74 t confirmation t
4ee0: 68 61 74 20 73 74 69 6c 6c 20 63 6f 6e 74 69 6e hat still contin
4ef0: 75 69 6e 67 20 74 6f 20 75 73 65 20 74 68 65 20 uing to use the
4f00: 74 72 61 64 69 74 69 6f 6e 61 6c 20 61 70 70 72 traditional appr
4f10: 6f 61 63 68 20 6f 66 20 74 72 61 6e 73 66 6f 72 oach of transfor
4f20: 6d 61 74 69 6f 6e 73 20 64 72 69 76 65 6e 20 62 mations driven b
4f30: 79 20 70 72 6f 6a 2d 73 74 72 69 6e 67 73 20 3c y proj-strings <
4f40: 62 3e 3c 75 3e 3c 69 3e 64 65 66 69 6e 69 74 65 b><u><i>definite
4f50: 6c 79 20 69 73 6e 27 74 20 74 68 65 20 6f 70 74 ly isn't the opt
4f60: 69 6d 61 6c 20 6d 65 74 68 6f 64 20 66 6f 72 20 imal method for
4f70: 75 73 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f 69 3e using PROJ.6</i>
4f80: 3c 2f 75 3e 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c </u></b></li>..<
4f90: 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 /ul><br>..<verba
4fa0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 73 45 tim>..SELECT AsE
4fb0: 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f WKT ( ST_Transfo
4fc0: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 rm( MakePoint( 1
4fd0: 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 1.878056 , 43.46
4fe0: 33 30 35 36 2c 20 34 33 32 36 20 29 2c 20 33 30 3056, 4326 ), 30
4ff0: 30 33 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 30 03)); -- SRID=30
5000: 30 33 20 2d 20 64 65 66 61 75 6c 74 20 73 65 74 03 - default set
5010: 74 69 6e 67 73 3b 20 69 67 6e 6f 72 69 6e 67 20 tings; ignoring
5020: 73 70 61 74 69 61 6c 69 74 65 5f 72 65 66 5f 73 spatialite_ref_s
5030: 79 73 20 61 6e 64 20 75 73 69 6e 67 20 74 68 65 ys and using the
5040: 20 50 52 4f 4a 2e 36 20 6f 77 6e 20 70 72 69 76 PROJ.6 own priv
5050: 61 74 65 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d ate database..--
5060: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5070: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5080: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 ---..SRID=3003;P
5090: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32 OINT(1732852.942
50a0: 37 31 36 37 36 39 20 34 38 31 36 32 37 37 2e 36 716769 4816277.6
50b0: 31 37 36 39 30 36 37 34 29 0d 0a 0d 0a 53 45 4c 17690674)....SEL
50c0: 45 43 54 20 41 73 45 57 4b 54 20 28 20 53 54 5f ECT AsEWKT ( ST_
50d0: 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 Transform( MakeP
50e0: 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 oint( 11.878056
50f0: 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 , 43.463056, 432
5100: 36 20 29 2c 20 33 30 30 33 2c 20 4e 55 4c 4c 2c 6 ), 3003, NULL,
5110: 20 27 73 72 74 65 78 74 27 29 29 3b 20 2d 2d 20 'srtext')); --
5120: 53 52 49 44 3d 33 30 30 33 20 2d 20 4e 55 4c 4c SRID=3003 - NULL
5130: 20 61 72 65 61 20 6f 66 20 75 73 65 2c 20 75 73 area of use, us
5140: 69 6e 67 20 49 53 4f 2d 32 30 31 38 20 57 4b 54 ing ISO-2018 WKT
5150: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f definitions fro
5160: 6d 20 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 m spatial_ref_sy
5170: 73 2e 73 72 74 65 78 74 0d 0a 2d 2d 2d 2d 2d 2d s.srtext..------
5180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5190: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
51a0: 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 .SRID=3003;POINT
51b0: 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 37 (1732852.9427167
51c0: 36 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 39 69 4816277.61769
51d0: 30 36 37 34 29 0d 0a 0d 0a 53 45 4c 45 43 54 20 0674)....SELECT
51e0: 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61 6e AsEWKT ( ST_Tran
51f0: 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 sform( MakePoint
5200: 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34 33 ( 11.878056 , 43
5210: 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 29 2c .463056, 4326 ),
5220: 20 33 30 30 33 2c 20 4e 55 4c 4c 2c 20 27 70 72 3003, NULL, 'pr
5230: 6f 6a 34 74 65 78 74 27 29 29 3b 20 2d 2d 20 53 oj4text')); -- S
5240: 52 49 44 3d 33 30 30 33 20 2d 20 4e 55 4c 4c 20 RID=3003 - NULL
5250: 61 72 65 61 20 6f 66 20 75 73 65 2c 20 75 73 69 area of use, usi
5260: 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e 67 20 64 ng proj-string d
5270: 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 efinitions from
5280: 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 2e spatial_ref_sys.
5290: 70 72 6f 6a 34 74 65 78 74 0d 0a 2d 2d 2d 2d 2d proj4text..-----
52a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
52b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
52c0: 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e ..SRID=3003;POIN
52d0: 54 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 T(1732852.942716
52e0: 37 36 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 769 4816277.6176
52f0: 39 30 36 37 34 29 0d 0a 0d 0a 53 45 4c 45 43 54 90674)....SELECT
5300: 20 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 61 AsEWKT ( ST_Tra
5310: 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e nsform( MakePoin
5320: 74 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34 t( 11.878056 , 4
5330: 33 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 29 3.463056, 4326 )
5340: 2c 20 33 32 36 33 32 29 29 3b 20 2d 2d 20 53 52 , 32632)); -- SR
5350: 49 44 3d 33 32 36 33 32 20 2d 20 64 65 66 61 75 ID=32632 - defau
5360: 6c 74 20 73 65 74 74 69 6e 67 73 3b 20 69 67 6e lt settings; ign
5370: 6f 72 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65 oring spatialite
5380: 5f 72 65 66 5f 73 79 73 20 61 6e 64 20 75 73 69 _ref_sys and usi
5390: 6e 67 20 74 68 65 20 50 52 4f 4a 2e 36 20 6f 77 ng the PROJ.6 ow
53a0: 6e 20 70 72 69 76 61 74 65 20 64 61 74 61 62 61 n private databa
53b0: 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d se..------------
53c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
53d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d ---------..SRID=
53e0: 33 32 36 33 32 3b 50 4f 49 4e 54 28 37 33 32 38 32632;POINT(7328
53f0: 32 31 2e 37 31 38 34 37 35 31 31 32 33 20 34 38 21.7184751123 48
5400: 31 36 32 36 32 2e 36 33 31 32 34 35 32 35 33 29 16262.631245253)
5410: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 73 45 57 4b ....SELECT AsEWK
5420: 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d T ( ST_Transform
5430: 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e ( MakePoint( 11.
5440: 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 878056 , 43.4630
5450: 35 36 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 56, 4326 ), 3263
5460: 32 2c 20 4e 55 4c 4c 2c 20 27 73 72 74 65 78 74 2, NULL, 'srtext
5470: 27 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 32 36 ')); -- SRID=326
5480: 33 32 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 32 - NULL area o
5490: 66 20 75 73 65 2c 20 75 73 69 6e 67 20 49 53 4f f use, using ISO
54a0: 2d 32 30 31 38 20 57 4b 54 20 64 65 66 69 6e 69 -2018 WKT defini
54b0: 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 tions from spati
54c0: 61 6c 5f 72 65 66 5f 73 79 73 2e 73 72 74 65 78 al_ref_sys.srtex
54d0: 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t..-------------
54e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
54f0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 3d 33 --------..SRID=3
5500: 32 36 33 32 3b 50 4f 49 4e 54 28 37 33 32 38 32 2632;POINT(73282
5510: 31 2e 37 31 38 34 37 35 31 31 32 33 20 34 38 31 1.7184751123 481
5520: 36 32 36 32 2e 36 33 31 32 34 35 32 35 33 29 0d 6262.631245253).
5530: 0a 0d 0a 53 45 4c 45 43 54 20 41 73 45 57 4b 54 ...SELECT AsEWKT
5540: 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 ( ST_Transform(
5550: 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 MakePoint( 11.8
5560: 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 78056 , 43.46305
5570: 36 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 32 6, 4326 ), 32632
5580: 2c 20 4e 55 4c 4c 2c 20 27 70 72 6f 6a 34 74 65 , NULL, 'proj4te
5590: 78 74 27 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 xt')); -- SRID=3
55a0: 32 36 33 32 20 2d 20 4e 55 4c 4c 20 61 72 65 61 2632 - NULL area
55b0: 20 6f 66 20 75 73 65 2c 20 75 73 69 6e 67 20 70 of use, using p
55c0: 72 6f 6a 2d 73 74 72 69 6e 67 20 64 65 66 69 6e roj-string defin
55d0: 69 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 itions from spat
55e0: 69 61 6c 5f 72 65 66 5f 73 79 73 2e 70 72 6f 6a ial_ref_sys.proj
55f0: 34 74 65 78 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 4text..---------
5600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5610: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 ------------..SR
5620: 49 44 3d 33 32 36 33 32 3b 50 4f 49 4e 54 28 37 ID=32632;POINT(7
5630: 33 32 38 32 31 2e 37 31 38 34 37 35 31 31 32 33 32821.7184751123
5640: 20 34 38 31 36 32 36 32 2e 36 33 31 32 34 35 32 4816262.6312452
5650: 35 33 29 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 53)..</verbatim>
5660: 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64 20 74 65 ..This second te
5670: 73 74 20 69 73 20 62 61 73 65 64 20 69 6e 73 74 st is based inst
5680: 65 61 64 20 6f 6e 20 61 20 6c 65 67 61 63 79 20 ead on a legacy
5690: 53 70 61 74 69 61 4c 69 74 65 20 64 61 74 61 62 SpatiaLite datab
56a0: 61 73 65 20 63 72 65 61 74 65 64 20 62 79 20 73 ase created by s
56b0: 6f 6d 65 20 65 61 72 6c 69 65 72 20 76 65 72 73 ome earlier vers
56c0: 69 6f 6e 20 6c 61 63 6b 69 6e 67 20 50 52 4f 4a ion lacking PROJ
56d0: 2e 36 20 73 75 70 70 6f 72 74 2e 3c 62 72 3e 0d .6 support.<br>.
56e0: 0a 49 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 .In this specifi
56f0: 63 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 c case there is
5700: 6e 6f 20 64 69 66 66 65 72 65 6e 63 65 20 69 6e no difference in
5710: 20 74 68 65 20 72 65 73 75 6c 74 73 20 72 65 74 the results ret
5720: 75 72 6e 65 64 20 62 79 20 64 69 66 66 65 72 65 urned by differe
5730: 6e 74 20 6d 65 74 68 6f 64 73 2e 3c 62 72 3e 3c nt methods.<br><
5740: 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4d 69 73 74 65 br>..<b><u>Miste
5750: 72 79 20 75 6e 76 65 69 6c 65 64 3c 2f 75 3e 3c ry unveiled</u><
5760: 2f 62 3e 3a 20 6a 75 73 74 20 61 20 71 75 69 63 /b>: just a quic
5770: 6b 20 67 6c 61 6e 63 65 20 74 6f 20 74 68 65 20 k glance to the
5780: 6f 6c 64 20 61 6e 64 20 6e 65 77 20 3c 62 3e 70 old and new <b>p
5790: 72 6f 6a 2d 73 74 72 69 6e 67 73 3c 2f 62 3e 3a roj-strings</b>:
57a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 52 49 44 ..<ul>..<li>SRID
57b0: 3d 33 30 30 33 20 70 72 6f 6a 2d 73 74 72 69 6e =3003 proj-strin
57c0: 67 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 g as defined by
57d0: 6f 6c 64 20 50 52 4f 4a 2e 34 3a 0d 0a 3c 75 6c old PROJ.4:..<ul
57e0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f 6a 3d >..<li><b>+proj=
57f0: 74 6d 65 72 63 20 2b 6c 61 74 5f 30 3d 30 20 2b tmerc +lat_0=0 +
5800: 6c 6f 6e 5f 30 3d 39 20 2b 6b 3d 30 2e 39 39 39 lon_0=9 +k=0.999
5810: 36 20 2b 78 5f 30 3d 31 35 30 30 30 30 30 20 2b 6 +x_0=1500000 +
5820: 79 5f 30 3d 30 20 2b 65 6c 6c 70 73 3d 69 6e 74 y_0=0 +ellps=int
5830: 6c 20 2b 74 6f 77 67 73 38 34 3d 2d 31 30 34 2e l +towgs84=-104.
5840: 31 2c 2d 34 39 2e 31 2c 2d 39 2e 39 2c 30 2e 39 1,-49.1,-9.9,0.9
5850: 37 31 2c 2d 32 2e 39 31 37 2c 30 2e 37 31 34 2c 71,-2.917,0.714,
5860: 2d 31 31 2e 36 38 20 2b 75 6e 69 74 73 3d 6d 20 -11.68 +units=m
5870: 2b 6e 6f 5f 64 65 66 73 3c 2f 62 3e 3c 2f 6c 69 +no_defs</b></li
5880: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
5890: 6c 69 3e 53 52 49 44 3d 33 30 30 33 20 70 72 6f li>SRID=3003 pro
58a0: 6a 2d 73 74 72 69 6e 67 20 61 73 20 64 65 66 69 j-string as defi
58b0: 6e 65 64 20 62 79 20 6e 65 77 20 50 52 4f 4a 2e ned by new PROJ.
58c0: 36 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 6:..<ul>..<li><b
58d0: 3e 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 >+proj=tmerc +la
58e0: 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b t_0=0 +lon_0=9 +
58f0: 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 k=0.9996 +x_0=15
5900: 30 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 00000 +y_0=0 +el
5910: 6c 70 73 3d 69 6e 74 6c 20 2b 75 6e 69 74 73 3d lps=intl +units=
5920: 6d 20 2b 6e 6f 5f 64 65 66 73 20 2b 74 79 70 65 m +no_defs +type
5930: 3d 63 72 73 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c =crs</b></li>..<
5940: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 41 73 20 79 6f /ul></li>..As yo
5950: 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 u can easily not
5960: 69 63 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f ice, there is no
5970: 20 3c 62 3e 2b 74 6f 77 67 73 38 34 3c 2f 62 3e <b>+towgs84</b>
5980: 20 74 65 72 6d 20 64 65 66 69 6e 65 64 20 69 6e term defined in
5990: 20 6e 65 77 20 50 52 4f 4a 2e 36 2c 20 61 6e 64 new PROJ.6, and
59a0: 20 74 68 69 73 20 66 75 6c 6c 79 20 65 78 70 6c this fully expl
59b0: 61 69 6e 73 20 61 6c 6c 2e 0d 0a 3c 2f 75 6c 3e ains all...</ul>
59c0: 0d 0a 3c 68 33 3e 4e 65 77 20 61 75 78 69 6c 69 ..<h3>New auxili
59d0: 61 72 79 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e ary SQL function
59e0: 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 73 s specifically s
59f0: 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 upporting PROJ.6
5a00: 3c 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 </h3>..<table ce
5a10: 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 llspacing="8" ce
5a20: 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 llpadding="8" bg
5a30: 63 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 color="#e8ffe8"
5a40: 62 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 border="1">..<tr
5a50: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ><th bgcolor="#f
5a60: 66 62 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74 fb03e">SQL Funct
5a70: 69 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ion</th><th bgco
5a80: 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 53 75 lor="#ffb03e">Su
5a90: 70 70 6f 72 74 65 64 20 61 72 67 75 6d 65 6e 74 pported argument
5aa0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
5ab0: 72 3d 22 23 66 66 62 30 33 65 22 3e 44 65 73 63 r="#ffb03e">Desc
5ac0: 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 3c 2f 74 72 ription</th></tr
5ad0: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 48 61 >..<tr><td><b>Ha
5ae0: 73 50 72 6f 6a 36 3c 2f 62 3e 28 20 3c 69 3e 76 sProj6</b>( <i>v
5af0: 6f 69 64 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 42 oid</i> ) : <i>B
5b00: 6f 6f 6c 65 61 6e 3c 2f 69 3e 3c 2f 74 64 3e 0d oolean</i></td>.
5b10: 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a .<td>None</td>..
5b20: 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 <td>Will return
5b30: 3c 62 3e 31 3c 2f 62 3e 20 28 3c 62 3e 54 52 55 <b>1</b> (<b>TRU
5b40: 45 3c 2f 62 3e 29 20 69 66 20 74 68 65 20 6c 69 E</b>) if the li
5b50: 62 72 61 72 79 20 68 61 73 20 62 65 65 6e 20 62 brary has been b
5b60: 75 69 6c 74 20 6f 6e 20 3c 62 3e 50 52 4f 4a 2e uilt on <b>PROJ.
5b70: 36 3c 2f 62 3e 20 28 6f 72 20 61 6e 79 20 6c 61 6</b> (or any la
5b80: 74 65 72 20 76 65 72 73 69 6f 6e 29 2c 20 6f 74 ter version), ot
5b90: 68 65 72 77 69 73 65 20 3c 62 3e 30 3c 2f 62 3e herwise <b>0</b>
5ba0: 20 28 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 29 2e (<b>FALSE</b>).
5bb0: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </td></tr>..<tr>
5bc0: 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 65 74 4c <td><b>PROJ_GetL
5bd0: 61 73 74 45 72 72 6f 72 4d 73 67 3c 2f 62 3e 28 astErrorMsg</b>(
5be0: 20 3c 69 3e 76 6f 69 64 3c 2f 69 3e 20 29 20 3a <i>void</i> ) :
5bf0: 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f <i>String</i></
5c00: 74 64 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 td>..<td>None</t
5c10: 64 3e 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 d>..<td>Will ret
5c20: 75 72 6e 20 74 68 65 20 6d 6f 73 74 20 72 65 63 urn the most rec
5c30: 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 ent error messag
5c40: 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 50 52 e returned by PR
5c50: 4f 4a 20 28 69 66 20 61 6e 79 29 2e 3c 62 72 3e OJ (if any).<br>
5c60: 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 ..<b>NULL</b> wi
5c70: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 ll be returned i
5c80: 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 75 f there is no cu
5c90: 72 65 6e 74 6c 79 20 70 65 6e 64 69 6e 67 20 50 rently pending P
5ca0: 52 4f 4a 20 65 72 72 6f 72 2e 3c 2f 74 64 3e 3c ROJ error.</td><
5cb0: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 /tr>..<tr><td><b
5cc0: 3e 50 52 4f 4a 5f 47 65 74 44 61 74 61 62 61 73 >PROJ_GetDatabas
5cd0: 65 50 61 74 68 3c 2f 62 3e 28 20 3c 69 3e 76 6f ePath</b>( <i>vo
5ce0: 69 64 3c 2f 69 3e 20 3a 20 3c 69 3e 53 74 72 69 id</i> : <i>Stri
5cf0: 6e 67 3c 2f 69 3e 29 3c 2f 74 64 3e 0d 0a 3c 74 ng</i>)</td>..<t
5d00: 64 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a 3c 74 64 d>None</td>..<td
5d10: 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 >Will return the
5d20: 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 70 currently set p
5d30: 61 74 68 6e 61 6d 65 20 6c 65 61 64 69 6e 67 20 athname leading
5d40: 74 6f 20 74 68 65 20 70 72 69 76 61 74 65 20 50 to the private P
5d50: 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 ROJ's SQLite dat
5d60: 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e abase.<br>..<b>N
5d70: 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 ULL</b> will be
5d80: 72 65 74 75 72 6e 65 64 20 69 66 20 74 68 65 72 returned if ther
5d90: 65 20 69 73 20 6e 6f 20 70 72 69 76 61 74 65 20 e is no private
5da0: 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 PROJ's SQLite da
5db0: 74 61 62 61 73 65 20 63 75 72 72 65 6e 74 6c 79 tabase currently
5dc0: 20 63 6f 6e 6e 65 63 74 65 64 2e 3c 2f 74 64 3e connected.</td>
5dd0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c </tr>..<tr><td><
5de0: 62 3e 50 52 4f 4a 5f 53 65 74 44 61 74 61 62 61 b>PROJ_SetDataba
5df0: 73 65 50 61 74 68 3c 2f 62 3e 20 28 20 6e 65 77 sePath</b> ( new
5e00: 5f 70 61 74 68 20 3c 69 3e 53 74 72 69 6e 67 3c _path <i>String<
5e10: 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e /i> ) : <i>Strin
5e20: 67 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e g</i></td>..<td>
5e30: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e ..<ul>..<li><b>n
5e40: 65 77 5f 70 61 74 68 3c 2f 62 3e 3a 20 61 20 72 ew_path</b>: a r
5e50: 65 6c 61 74 69 76 65 20 6f 72 20 61 62 73 6f 6c elative or absol
5e60: 75 74 65 20 70 61 74 68 6e 61 6d 65 20 6c 65 61 ute pathname lea
5e70: 64 69 6e 67 20 74 6f 20 61 20 76 61 6c 69 64 20 ding to a valid
5e80: 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 PROJ's SQLite da
5e90: 74 61 62 61 73 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f tabase.</li>..</
5ea0: 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 69 ul></td>..<td>Wi
5eb0: 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 63 75 ll change the cu
5ec0: 72 72 65 6e 74 6c 79 20 73 65 74 20 70 61 74 68 rrently set path
5ed0: 6e 61 6d 65 20 6c 65 61 64 69 6e 67 20 74 6f 20 name leading to
5ee0: 74 68 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a the private PROJ
5ef0: 27 73 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 's SQLite databa
5f00: 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c se.<br>..<b>NULL
5f10: 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 </b> will be ret
5f20: 75 72 6e 65 64 20 69 66 20 74 68 65 20 70 61 73 urned if the pas
5f30: 73 65 64 20 70 61 74 68 20 69 73 20 69 6e 76 61 sed path is inva
5f40: 6c 69 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 lid, otherwise t
5f50: 68 65 20 70 61 74 68 20 6f 66 20 74 68 65 20 63 he path of the c
5f60: 75 72 72 65 6e 74 6c 79 20 73 65 74 20 70 72 69 urrently set pri
5f70: 76 61 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 vate PROJ's SQLi
5f80: 74 65 20 64 61 74 61 62 61 73 65 20 77 69 6c 6c te database will
5f90: 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 74 be returned.</t
5fa0: 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 d></tr>..<tr><td
5fb0: 3e 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f ><b>PROJ_AsWKT</
5fc0: 62 3e 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c b> ( auth_name <
5fd0: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 i>String</i> , a
5fe0: 75 74 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 uth_srid <i>Inte
5ff0: 67 65 72 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 ger</i> ) : <i>S
6000: 74 72 69 6e 67 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c tring</i><hr>..<
6010: 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 3e b>PROJ_AsWKT</b>
6020: 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e ( auth_name <i>
6030: 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 String</i> , aut
6040: 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 h_srid <i>Intege
6050: 72 3c 2f 69 3e 20 2c 20 77 6b 74 5f 73 74 79 6c r</i> , wkt_styl
6060: 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 e <i>String</i>
6070: 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ) : <i>String</i
6080: 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 ><hr>..<b>PROJ_A
6090: 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 5f sWKT</b> ( auth_
60a0: 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f name <i>String</
60b0: 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 20 3c i> , auth_srid <
60c0: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 i>Integer</i> ,
60d0: 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 72 wkt_style <i>Str
60e0: 69 6e 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 ing</i> , indent
60f0: 65 64 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 ed <i>Boolean</i
6100: 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c > ) : <i>String<
6110: 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a /i><hr>..<b>PROJ
6120: 5f 41 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 _AsWKT</b> ( aut
6130: 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 h_name <i>String
6140: 3c 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 </i> , auth_srid
6150: 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 <i>Integer</i>
6160: 2c 20 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 , wkt_style <i>S
6170: 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 tring</i> , inde
6180: 6e 74 65 64 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c nted <i>Boolean<
6190: 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 61 74 69 6f /i> , indentatio
61a0: 6e 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e n <i>Integer</i>
61b0: 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f ) : <i>String</
61c0: 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c i></td>..<td><ul
61d0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f 6e >..<li><b>auth_n
61e0: 61 6d 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 61 ame</b> and <b>a
61f0: 75 74 68 5f 73 72 69 64 3c 2f 62 3e 20 69 64 65 uth_srid</b> ide
6200: 6e 74 69 66 79 20 74 68 65 20 69 6e 74 65 6e 64 ntify the intend
6210: 65 64 20 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e ed CRS.<br>..<b>
6220: 61 75 74 68 5f 6e 61 6d 65 3c 2f 62 3e 20 63 61 auth_name</b> ca
6230: 6e 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e n be <b>NULL</b>
6240: 2c 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 , and in this ca
6250: 73 65 20 3c 62 3e 45 50 53 47 3c 2f 62 3e 20 77 se <b>EPSG</b> w
6260: 69 6c 6c 20 62 65 20 61 73 73 75 6d 65 64 2e 3c ill be assumed.<
6270: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 /li>..<li>the op
6280: 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 tional argument
6290: 3c 62 3e 73 74 79 6c 65 3c 2f 62 3e 20 64 65 74 <b>style</b> det
62a0: 65 72 6d 69 6e 65 73 20 77 68 69 63 68 20 73 70 ermines which sp
62b0: 65 63 69 66 69 63 20 57 4b 54 20 66 6f 72 6d 61 ecific WKT forma
62c0: 74 20 73 68 6f 75 6c 64 20 62 65 20 61 64 6f 70 t should be adop
62d0: 74 65 64 2c 20 61 6e 64 20 6d 75 73 74 20 62 65 ted, and must be
62e0: 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 62 3e one between <b>
62f0: 47 44 41 4c 3c 2f 62 3e 2c 20 3c 62 3e 45 53 52 GDAL</b>, <b>ESR
6300: 49 3c 2f 62 3e 2c 20 3c 62 3e 49 53 4f 2d 32 30 I</b>, <b>ISO-20
6310: 31 35 3c 2f 62 3e 20 6f 72 20 3c 62 3e 49 53 4f 15</b> or <b>ISO
6320: 2d 32 30 31 38 3c 2f 62 3e 20 28 74 68 69 73 20 -2018</b> (this
6330: 6c 61 74 74 65 72 20 62 65 69 6e 67 20 74 68 65 latter being the
6340: 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 default setting
6350: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 ).</li>..<li>the
6360: 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 optional argume
6370: 6e 74 20 3c 62 3e 69 6e 64 65 6e 74 65 64 3c 2f nt <b>indented</
6380: 62 3e 20 69 66 20 73 65 74 20 74 6f 20 3c 62 3e b> if set to <b>
6390: 54 52 55 45 3c 2f 62 3e 20 77 69 6c 6c 20 6e 69 TRUE</b> will ni
63a0: 63 65 6c 79 20 66 6f 72 6d 61 74 20 61 20 6d 75 cely format a mu
63b0: 6c 74 69 6c 69 6e 65 20 57 4b 54 20 65 78 70 72 ltiline WKT expr
63c0: 65 73 73 69 6f 6e 2c 20 6f 74 68 65 72 77 69 73 ession, otherwis
63d0: 65 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c e a single monol
63e0: 69 74 68 69 63 20 6c 69 6e 65 20 6c 61 63 6b 69 ithic line lacki
63f0: 6e 67 20 61 6e 79 20 77 68 69 74 65 2d 73 70 61 ng any white-spa
6400: 63 65 20 6f 72 20 6e 65 77 2d 6c 69 6e 65 20 77 ce or new-line w
6410: 69 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 28 ill be printed (
6420: 74 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 3c the default is <
6430: 62 3e 54 52 55 45 3c 2f 62 3e 29 2e 3c 2f 6c 69 b>TRUE</b>).</li
6440: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f >..<li>the optio
6450: 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e nal argument <b>
6460: 69 6e 64 65 6e 74 61 74 69 6f 6e 3c 2f 62 3e 20 indentation</b>
6470: 64 65 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 6d determines how m
6480: 61 6e 79 20 77 68 69 74 65 2d 73 70 61 63 65 73 any white-spaces
6490: 20 61 72 65 20 74 6f 20 62 65 20 75 73 65 64 20 are to be used
64a0: 66 6f 72 20 69 6e 64 65 6e 74 69 6e 67 20 28 6f for indenting (o
64b0: 6e 6c 79 20 6d 65 61 6e 69 6e 67 66 75 6c 20 69 nly meaningful i
64c0: 66 20 3c 62 3e 3c 69 3e 69 6e 64 65 6e 74 65 64 f <b><i>indented
64d0: 3d 54 52 55 45 3c 2f 69 3e 3c 2f 62 3e 3b 20 74 =TRUE</i></b>; t
64e0: 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 he default value
64f0: 73 20 69 73 20 3c 62 3e 34 3c 2f 62 3e 29 2e 3c s is <b>4</b>).<
6500: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e /li>..</ul></td>
6510: 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 ..<td>Will retur
6520: 6e 20 74 68 65 20 57 4b 54 20 65 78 70 72 65 73 n the WKT expres
6530: 73 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 sion correspondi
6540: 6e 67 20 74 6f 20 61 20 67 69 76 65 6e 20 43 52 ng to a given CR
6550: 53 3b 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f S; the definitio
6560: 6e 73 20 77 69 6c 6c 20 62 65 20 74 61 6b 65 6e ns will be taken
6570: 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 74 directly from t
6580: 68 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 he private PROJ'
6590: 73 20 6f 77 6e 20 64 61 74 61 62 61 73 65 2e 3c s own database.<
65a0: 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e br>..<b>NULL</b>
65b0: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 will be returne
65c0: 64 20 6f 6e 20 66 61 69 6c 75 72 65 20 6f 72 20 d on failure or
65d0: 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d on invalid argum
65e0: 65 6e 74 73 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ents.</td></tr>.
65f0: 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a .<tr><td><b>PROJ
6600: 5f 47 75 65 73 73 53 72 69 64 46 72 6f 6d 57 4b _GuessSridFromWK
6610: 54 3c 2f 62 3e 20 28 20 77 6b 74 5f 65 78 70 72 T</b> ( wkt_expr
6620: 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 <i>String</i> )
6630: 20 3a 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 : <i>Integer</i
6640: 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e ></td>..<td><ul>
6650: 0d 0a 3c 6c 69 3e 3c 62 3e 77 6b 74 5f 65 78 70 ..<li><b>wkt_exp
6660: 72 3c 2f 62 3e 3a 20 74 68 65 20 57 4b 54 20 65 r</b>: the WKT e
6670: 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 62 65 20 xpression to be
6680: 65 76 61 6c 75 61 74 65 64 2e 3c 2f 6c 69 3e 0d evaluated.</li>.
6690: 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 .</ul></td>..<td
66a0: 3e 0d 0a 57 69 6c 6c 20 70 6f 73 73 69 62 6c 79 >..Will possibly
66b0: 20 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 53 return the <b>S
66c0: 52 49 44 20 76 61 6c 75 65 3c 2f 62 3e 20 63 6f RID value</b> co
66d0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 rresponding to a
66e0: 20 67 69 76 65 6e 20 57 4b 54 20 65 78 70 72 65 given WKT expre
66f0: 73 73 69 6f 6e 20 64 65 66 69 6e 69 6e 67 20 61 ssion defining a
6700: 20 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 CRS.<br>..<b>-1
6710: 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 </b> will be ret
6720: 75 72 6e 65 64 20 69 66 20 6e 6f 20 43 52 53 20 urned if no CRS
6730: 73 75 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f supported by PRO
6740: 4a 2e 36 20 6d 61 74 63 68 65 73 20 74 68 65 20 J.6 matches the
6750: 57 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c WKT expression.<
6760: 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e br>..<b>NULL</b>
6770: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 will be returne
6780: 64 20 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 d on invalid arg
6790: 75 6d 65 6e 74 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 ument...</td></t
67a0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 r>..<tr><td><b>P
67b0: 52 4f 4a 5f 47 75 65 73 73 53 72 69 64 46 72 6f ROJ_GuessSridFro
67c0: 6d 53 48 50 3c 2f 62 3e 20 28 20 66 69 6c 65 6e mSHP</b> ( filen
67d0: 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ame <i>String</i
67e0: 3e 20 29 20 3a 20 3c 69 3e 49 6e 74 65 67 65 72 > ) : <i>Integer
67f0: 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c </i></td>..<td><
6800: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 66 69 6c 65 ul>..<li><b>file
6810: 6e 61 6d 65 3c 2f 62 3e 3a 20 74 68 65 20 61 62 name</b>: the ab
6820: 73 6f 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 solute or relati
6830: 76 65 20 70 61 74 68 20 6c 65 61 64 69 6e 67 20 ve path leading
6840: 74 6f 20 73 6f 6d 65 20 53 68 61 70 65 66 69 6c to some Shapefil
6850: 65 2e 3c 62 72 3e 0d 0a 4e 6f 74 65 3a 20 65 78 e.<br>..Note: ex
6860: 61 63 74 6c 65 79 20 61 73 20 72 65 71 75 69 72 actley as requir
6870: 65 64 20 62 79 20 3c 62 3e 3c 69 3e 49 6d 70 6f ed by <b><i>Impo
6880: 72 74 53 48 50 3c 2f 69 3e 3c 2f 62 3e 28 29 20 rtSHP</i></b>()
6890: 3c 62 3e 3c 69 3e 66 69 6c 65 6e 61 6d 65 3c 2f <b><i>filename</
68a0: 69 3e 3c 2f 62 3e 20 6d 75 73 74 20 6f 6d 69 74 i></b> must omit
68b0: 20 61 6e 79 20 3c 62 3e 2e 73 68 70 3c 2f 62 3e any <b>.shp</b>
68c0: 2c 20 3c 62 3e 2e 73 68 78 3c 2f 62 3e 2c 20 3c , <b>.shx</b>, <
68d0: 62 3e 2e 64 62 66 3c 2f 62 3e 20 6f 72 20 3c 62 b>.dbf</b> or <b
68e0: 3e 2e 70 72 6a 3c 2f 62 3e 20 73 75 66 66 69 78 >.prj</b> suffix
68f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 .</li>..</ul></t
6900: 64 3e 0d 0a 3c 74 64 3e 0d 0a 57 69 6c 6c 20 70 d>..<td>..Will p
6910: 6f 73 73 69 62 6c 79 20 72 65 74 75 72 6e 20 74 ossibly return t
6920: 68 65 20 3c 62 3e 53 52 49 44 20 76 61 6c 75 65 he <b>SRID value
6930: 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 </b> correspondi
6940: 6e 67 20 74 6f 20 74 68 65 20 43 52 53 20 64 65 ng to the CRS de
6950: 66 69 6e 65 64 20 62 79 20 74 68 65 20 2e 50 52 fined by the .PR
6960: 4a 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 J member of the
6970: 53 68 61 70 65 66 69 6c 65 2e 3c 62 72 3e 0d 0a Shapefile.<br>..
6980: 3c 62 3e 2d 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 <b>-1</b> will b
6990: 65 20 72 65 74 75 72 6e 65 64 20 69 66 20 6e 6f e returned if no
69a0: 20 43 52 53 20 73 75 70 70 6f 72 74 65 64 20 62 CRS supported b
69b0: 79 20 50 52 4f 4a 2e 36 20 6d 61 74 63 68 65 73 y PROJ.6 matches
69c0: 20 50 52 4a 20 6d 65 6d 62 65 72 20 6f 66 20 74 PRJ member of t
69d0: 68 65 20 53 68 61 70 65 66 69 6c 65 2e 3c 62 72 he Shapefile.<br
69e0: 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 >..<b>NULL</b> w
69f0: 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 ill be returned
6a00: 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d on invalid argum
6a10: 65 6e 74 2e 3c 68 72 3e 0d 0a 3c 75 3e 50 6c 65 ent.<hr>..<u>Ple
6a20: 61 73 65 20 6e 6f 74 65 20 77 65 6c 6c 3c 2f 75 ase note well</u
6a30: 3e 3a 20 74 68 69 73 20 53 51 4c 20 66 75 6e 63 >: this SQL func
6a40: 74 69 6f 6e 20 6f 70 65 6e 64 20 74 68 65 20 64 tion opend the d
6a50: 6f 6f 72 20 74 6f 20 6d 61 6e 79 20 70 6f 74 65 oor to many pote
6a60: 6e 74 69 61 6c 20 73 65 63 75 72 69 74 79 20 69 ntial security i
6a70: 73 73 75 65 73 2c 20 61 6e 64 20 74 68 75 73 20 ssues, and thus
6a80: 69 73 20 61 6c 77 61 79 73 20 3c 69 3e 64 69 73 is always <i>dis
6a90: 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 abled by default
6aa0: 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 45 78 70 6c 69 </i>.<br>..Expli
6ab0: 63 69 74 6c 79 20 73 65 74 74 69 6e 67 20 74 68 citly setting th
6ac0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 e environment va
6ad0: 72 69 61 62 6c 65 20 3c 62 3e 53 50 41 54 49 41 riable <b>SPATIA
6ae0: 4c 49 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 LITE_SECURITY=re
6af0: 6c 61 78 65 64 3c 2f 62 3e 20 69 73 20 61 62 73 laxed</b> is abs
6b00: 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 olutely required
6b10: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 61 in order to ena
6b20: 62 6c 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f ble this functio
6b30: 6e 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a n...</td></tr>..
6b40: 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 74 </table><br>..<t
6b50: 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 able cellspacing
6b60: 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="8" cellpadding
6b70: 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23 ="16" bgcolor="#
6b80: 66 66 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 ffffe9">..<tr><t
6b90: 64 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f d>..<b><u>Note</
6ba0: 75 3e 3c 2f 62 3e 3a 20 61 6c 6c 20 74 68 65 20 u></b>: all the
6bb0: 61 62 6f 76 65 20 53 51 4c 20 46 75 6e 63 74 69 above SQL Functi
6bc0: 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 76 61 69 ons will be avai
6bd0: 6c 61 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 lable only when
6be0: 53 70 61 74 69 61 6c 69 74 65 2d 35 2e 30 2e 30 Spatialite-5.0.0
6bf0: 20 68 61 73 20 62 65 65 6e 20 62 75 69 6c 74 20 has been built
6c00: 61 67 61 69 6e 73 74 20 3c 62 3e 50 52 4f 4a 2e against <b>PROJ.
6c10: 36 3c 2f 62 3e 20 28 6f 72 20 61 6e 79 20 73 75 6</b> (or any su
6c20: 62 73 65 71 75 65 6e 74 20 76 65 72 73 69 6f 6e bsequent version
6c30: 29 2e 3c 62 72 3e 0d 0a 49 66 20 53 70 61 74 69 ).<br>..If Spati
6c40: 61 4c 69 74 65 2d 35 2e 30 2e 30 20 68 61 73 20 aLite-5.0.0 has
6c50: 62 65 65 6e 20 62 75 69 6c 74 20 69 6e 73 74 65 been built inste
6c60: 61 64 20 61 67 61 69 6e 73 74 20 61 6e 79 20 70 ad against any p
6c70: 72 65 76 69 6f 73 75 73 20 76 65 72 73 69 6f 6e reviosus version
6c80: 20 28 61 73 20 65 2e 67 2e 20 3c 62 3e 50 52 4f (as e.g. <b>PRO
6c90: 4a 2e 34 3c 2f 62 3e 29 20 61 6e 79 20 61 74 74 J.4</b>) any att
6ca0: 65 6d 70 74 20 74 6f 20 63 61 6c 6c 20 6f 6e 65 empt to call one
6cb0: 20 6f 66 20 74 68 65 73 65 20 53 51 4c 20 46 75 of these SQL Fu
6cc0: 6e 63 74 69 6f 6e 73 20 77 69 6c 6c 20 73 69 6d nctions will sim
6cd0: 70 6c 79 20 72 65 74 75 72 6e 20 61 20 3c 62 3e ply return a <b>
6ce0: 3c 69 3e 3c 75 3e 6e 6f 20 73 75 63 68 20 66 75 <i><u>no such fu
6cf0: 6e 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 3c 2f nction</u></i></
6d00: 62 3e 20 53 51 4c 20 65 72 72 6f 72 2e 0d 0a 3c b> SQL error...<
6d10: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
6d20: 6c 65 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 72 61 63 le><br>..<b>Prac
6d30: 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 73 3a 3c tical examples:<
6d40: 2f 62 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d /b>..<verbatim>.
6d50: 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f 47 65 74 .SELECT PROJ_Get
6d60: 44 61 74 61 62 61 73 65 50 61 74 68 28 29 3b 20 DatabasePath();
6d70: 20 2d 2d 20 72 65 74 72 69 65 76 69 6e 67 20 74 -- retrieving t
6d80: 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 he currently set
6d90: 20 50 52 4f 4a 27 73 20 6f 77 6e 20 64 61 74 61 PROJ's own data
6da0: 62 61 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d base..----------
6db0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6dc0: 2d 2d 2d 2d 0d 0a 2f 75 73 72 2f 6c 6f 63 61 6c ----../usr/local
6dd0: 2f 73 68 61 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a /share/proj/proj
6de0: 2e 64 62 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 .db....SELECT PR
6df0: 4f 4a 5f 53 65 74 44 61 74 61 62 61 73 65 50 61 OJ_SetDatabasePa
6e00: 74 68 28 27 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f th('/home/sandro
6e10: 2f 6e 6f 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 /not_existing_pr
6e20: 6f 6a 2e 64 62 27 29 3b 20 2d 2d 20 6e 6f 6e 20 oj.db'); -- non
6e30: 65 78 69 73 74 69 6e 67 20 64 61 74 61 62 61 73 existing databas
6e40: 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e..-------------
6e50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6e60: 2d 0d 0a 4e 55 4c 4c 0d 0a 0d 0a 53 45 4c 45 43 -..NULL....SELEC
6e70: 54 20 50 52 4f 4a 5f 47 65 74 4c 61 73 74 45 72 T PROJ_GetLastEr
6e80: 72 6f 72 4d 73 67 28 29 3b 20 2d 2d 20 72 65 74 rorMsg(); -- ret
6e90: 72 69 65 76 69 6e 67 20 74 68 65 20 66 61 69 6c rieving the fail
6ea0: 75 72 65 20 63 61 75 73 65 0d 0a 2d 2d 2d 2d 2d ure cause..-----
6eb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6ec0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 70 72 6f 6a 5f ---------..proj_
6ed0: 63 6f 6e 74 65 78 74 5f 73 65 74 5f 64 61 74 61 context_set_data
6ee0: 62 61 73 65 5f 70 61 74 68 3a 20 4f 70 65 6e 20 base_path: Open
6ef0: 6f 66 20 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f of /home/sandro/
6f00: 6e 6f 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f not_existing_pro
6f10: 6a 2e 64 62 20 66 61 69 6c 65 64 0d 0a 0d 0a 53 j.db failed....S
6f20: 45 4c 45 43 54 20 50 52 4f 4a 5f 53 65 74 44 61 ELECT PROJ_SetDa
6f30: 74 61 62 61 73 65 50 61 74 68 28 27 2f 68 6f 6d tabasePath('/hom
6f40: 65 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 e/sandro/valid_p
6f50: 72 6f 6a 2e 64 62 27 29 3b 20 2d 2d 20 76 61 6c roj.db'); -- val
6f60: 69 64 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d id database..---
6f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6f80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2f 68 6f -----------../ho
6f90: 6d 65 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f me/sandro/valid_
6fa0: 70 72 6f 6a 2e 64 62 0d 0a 0d 0a 53 45 4c 45 43 proj.db....SELEC
6fb0: 54 20 50 52 4f 4a 5f 41 73 57 4b 54 28 27 45 50 T PROJ_AsWKT('EP
6fc0: 53 47 27 2c 20 34 33 32 36 29 3b 20 2d 2d 20 64 SG', 4326); -- d
6fd0: 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3a efault settings:
6fe0: 20 49 53 4f 2d 32 30 31 38 20 73 74 79 6c 65 2c ISO-2018 style,
6ff0: 20 69 6e 64 65 6e 74 65 64 20 77 69 74 68 20 69 indented with i
7000: 6e 64 65 6e 74 61 74 69 6f 6e 20 34 0d 0a 2d 2d ndentation 4..--
7010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 47 45 ------------..GE
7030: 4f 44 43 52 53 5b 22 57 47 53 20 38 34 22 2c 0d ODCRS["WGS 84",.
7040: 0a 20 20 20 20 44 41 54 55 4d 5b 22 57 6f 72 6c . DATUM["Worl
7050: 64 20 47 65 6f 64 65 74 69 63 20 53 79 73 74 65 d Geodetic Syste
7060: 6d 20 31 39 38 34 22 2c 0d 0a 20 20 20 20 20 20 m 1984",..
7070: 20 20 45 4c 4c 49 50 53 4f 49 44 5b 22 57 47 53 ELLIPSOID["WGS
7080: 20 38 34 22 2c 36 33 37 38 31 33 37 2c 32 39 38 84",6378137,298
7090: 2e 32 35 37 32 32 33 35 36 33 2c 0d 0a 20 20 20 .257223563,..
70a0: 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 LENGTHU
70b0: 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 5d NIT["metre",1]]]
70c0: 2c 0d 0a 20 20 20 20 50 52 49 4d 45 4d 5b 22 47 ,.. PRIMEM["G
70d0: 72 65 65 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 20 reenwich",0,..
70e0: 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b ANGLEUNIT[
70f0: 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 "degree",0.01745
7100: 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 32925199433]],..
7110: 20 20 20 20 43 53 5b 65 6c 6c 69 70 73 6f 69 64 CS[ellipsoid
7120: 61 6c 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 al,2],..
7130: 41 58 49 53 5b 22 67 65 6f 64 65 74 69 63 20 6c AXIS["geodetic l
7140: 61 74 69 74 75 64 65 20 28 4c 61 74 29 22 2c 6e atitude (Lat)",n
7150: 6f 72 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 orth,..
7160: 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 ORDER[1],..
7170: 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 ANGLEU
7180: 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 NIT["degree",0.0
7190: 31 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 174532925199433]
71a0: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 ],.. AXIS
71b0: 5b 22 67 65 6f 64 65 74 69 63 20 6c 6f 6e 67 69 ["geodetic longi
71c0: 74 75 64 65 20 28 4c 6f 6e 29 22 2c 65 61 73 74 tude (Lon)",east
71d0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f ,.. O
71e0: 52 44 45 52 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 RDER[2],..
71f0: 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b ANGLEUNIT[
7200: 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 "degree",0.01745
7210: 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 32925199433]],..
7220: 20 20 20 20 41 52 45 41 5b 22 57 6f 72 6c 64 22 AREA["World"
7230: 5d 2c 0d 0a 20 20 20 20 42 42 4f 58 5b 2d 39 30 ],.. BBOX[-90
7240: 2c 2d 31 38 30 2c 39 30 2c 31 38 30 5d 2c 0d 0a ,-180,90,180],..
7250: 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 34 33 ID["EPSG",43
7260: 32 36 5d 5d 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 26]]....SELECT P
7270: 52 4f 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 27 ROJ_AsWKT('EPSG'
7280: 2c 20 34 33 32 36 2c 20 27 45 53 52 49 27 2c 20 , 4326, 'ESRI',
7290: 30 2c 20 30 29 3b 20 2d 2d 20 45 53 52 49 20 73 0, 0); -- ESRI s
72a0: 74 79 6c 65 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 tyle, monolithic
72b0: 20 6c 69 6e 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d line..---------
72c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
72d0: 2d 2d 2d 2d 2d 0d 0a 47 45 4f 47 43 53 5b 22 47 -----..GEOGCS["G
72e0: 43 53 5f 57 47 53 5f 31 39 38 34 22 2c 44 41 54 CS_WGS_1984",DAT
72f0: 55 4d 5b 22 44 5f 57 47 53 5f 31 39 38 34 22 2c UM["D_WGS_1984",
7300: 53 50 48 45 52 4f 49 44 5b 22 57 47 53 5f 31 39 SPHEROID["WGS_19
7310: 38 34 22 2c 36 33 37 38 31 33 37 2e 30 2c 32 39 84",6378137.0,29
7320: 38 2e 32 35 37 32 32 33 35 36 33 5d 5d 2c 50 52 8.257223563]],PR
7330: 49 4d 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 IMEM["Greenwich"
7340: 2c 30 2e 30 5d 2c 55 4e 49 54 5b 22 44 65 67 72 ,0.0],UNIT["Degr
7350: 65 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 ee",0.0174532925
7360: 31 39 39 34 33 33 5d 5d 0d 0a 0d 0a 53 45 4c 45 199433]]....SELE
7370: 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69 CT PROJ_GuessSri
7380: 64 46 72 6f 6d 57 4b 54 28 27 47 45 4f 47 43 53 dFromWKT('GEOGCS
7390: 5b 22 47 43 53 5f 4d 6f 6e 74 65 5f 4d 61 72 69 ["GCS_Monte_Mari
73a0: 6f 5f 52 6f 6d 65 22 2c 44 41 54 55 4d 5b 22 44 o_Rome",DATUM["D
73b0: 5f 4d 6f 6e 74 65 5f 4d 61 72 69 6f 22 2c 53 50 _Monte_Mario",SP
73c0: 48 45 52 4f 49 44 5b 22 49 6e 74 65 72 6e 61 74 HEROID["Internat
73d0: 69 6f 6e 61 6c 5f 31 39 32 34 22 2c 36 33 37 38 ional_1924",6378
73e0: 33 38 38 2e 30 2c 32 39 37 2e 30 5d 5d 2c 50 52 388.0,297.0]],PR
73f0: 49 4d 45 4d 5b 22 52 6f 6d 65 22 2c 31 32 2e 34 IMEM["Rome",12.4
7400: 35 32 33 33 33 33 33 33 33 33 33 33 5d 2c 55 4e 523333333333],UN
7410: 49 54 5b 22 44 65 67 72 65 65 22 2c 30 2e 30 31 IT["Degree",0.01
7420: 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 74532925199433]]
7430: 27 29 3b 20 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d '); ..----------
7440: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7450: 2d 2d 2d 2d 0d 0a 34 38 30 36 0d 0a 0d 0a 53 45 ----..4806....SE
7460: 4c 45 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 LECT PROJ_GuessS
7470: 72 69 64 46 72 6f 6d 53 48 50 28 27 2f 68 6f 6d ridFromSHP('/hom
7480: 65 2f 73 61 6e 64 72 6f 2f 74 75 73 63 61 6e 79 e/sandro/tuscany
7490: 5f 73 68 70 2f 70 72 6f 76 32 30 31 31 27 29 3b _shp/prov2011');
74a0: 20 2d 2d 20 72 65 6d 65 6d 62 65 72 3a 20 72 65 -- remember: re
74b0: 71 75 69 72 65 73 20 74 6f 20 65 78 70 6c 69 63 quires to explic
74c0: 69 74 6c 79 20 73 65 74 20 53 50 41 54 49 41 4c itly set SPATIAL
74d0: 49 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c ITE_SECURITY=rel
74e0: 61 78 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d axed..----------
74f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7500: 2d 2d 2d 2d 0d 0a 33 30 30 33 0d 0a 3c 2f 76 65 ----..3003..</ve
7510: 72 62 61 74 69 6d 3e 0d 0a 3c 62 72 3e 0d 0a 3c rbatim>..<br>..<
7520: 68 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 hr><br>..<table
7530: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 cellspacing="8"
7540: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 cellpadding="8"
7550: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 65 30 65 39 bgcolor="#ffe0e9
7560: 22 20 77 69 64 74 68 3d 22 31 30 30 25 22 3e 0d " width="100%">.
7570: 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 31 3e 49 .<tr><th>..<h1>I
7580: 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 69 63 65 20 mportant notice
7590: 66 6f 72 20 57 69 6e 64 6f 77 73 20 75 73 65 72 for Windows user
75a0: 73 3c 2f 68 31 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 s</h1>..</th></t
75b0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 r>..<tr><td>..<b
75c0: 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 63 72 69 74 >PROJ.6</b> crit
75d0: 69 63 61 6c 6c 79 20 64 65 70 65 6e 64 73 20 6f ically depends o
75e0: 6e 20 69 74 73 20 6f 77 6e 20 70 72 69 76 61 74 n its own privat
75f0: 65 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 e SQLite databas
7600: 65 20 28 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 e (<b>proj.db</b
7610: 3e 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c >) containing al
7620: 6c 20 72 65 6c 65 76 61 6e 74 20 64 65 66 69 6e l relevant defin
7630: 69 74 69 6f 6e 73 20 61 62 6f 75 74 20 45 6c 6c itions about Ell
7640: 69 70 73 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d ipsoids, Prime M
7650: 65 72 69 64 69 61 6e 73 2c 20 43 52 53 65 73 2c eridians, CRSes,
7660: 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 Transformations
7670: 20 61 6e 64 20 61 6c 69 6b 65 2e 3c 62 72 3e 0d and alike.<br>.
7680: 0a 49 66 20 50 52 4f 4a 2e 36 20 69 73 20 75 6e .If PROJ.6 is un
7690: 61 62 6c 65 20 74 6f 20 63 6f 72 72 65 63 74 6c able to correctl
76a0: 79 20 65 73 74 61 62 6c 69 73 68 20 61 20 63 6f y establish a co
76b0: 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 74 68 69 73 nnection to this
76c0: 20 64 61 74 61 62 61 73 65 20 69 74 20 77 69 6c database it wil
76d0: 6c 20 62 65 20 73 65 76 65 72 65 6c 79 20 6c 69 l be severely li
76e0: 6d 69 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 6e mited and will n
76f0: 6f 74 20 62 65 20 61 62 6c 65 20 74 6f 20 63 6f ot be able to co
7700: 72 72 65 63 74 6c 79 20 62 65 68 61 76 65 20 61 rrectly behave a
7710: 73 20 65 78 70 65 63 74 65 64 2e 3c 62 72 3e 3c s expected.<br><
7720: 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c br>..<ul>..<li><
7730: 62 3e 3c 75 3e 3c 69 3e 53 68 6f 72 74 20 63 6f b><u><i>Short co
7740: 6e 63 6c 75 73 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e nclusion</i></u>
7750: 3c 2f 62 3e 3a 20 69 6e 73 74 61 6c 6c 69 6e 67 </b>: installing
7760: 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 61 6c the software al
7770: 6f 6e 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 one is not enoug
7780: 68 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 52 4f 4a h.<br>..The PROJ
7790: 2e 36 20 70 72 69 76 61 74 65 20 64 61 74 61 62 .6 private datab
77a0: 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f ase <b>proj.db</
77b0: 62 3e 20 6d 75 73 74 20 62 65 20 70 72 6f 70 65 b> must be prope
77c0: 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 rly installed as
77d0: 20 77 65 6c 6c 2c 20 69 6e 20 6f 72 64 65 72 20 well, in order
77e0: 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 to ensure that a
77f0: 6e 79 74 68 69 6e 67 20 72 75 6e 73 20 73 6d 6f nything runs smo
7800: 6f 74 68 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 othly.</li>..</u
7810: 6c 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e l><br>..This isn
7820: 27 74 20 75 73 75 61 6c 6c 79 20 61 20 62 69 67 't usually a big
7830: 20 69 73 73 75 65 20 6f 6e 20 4c 69 6e 75 78 20 issue on Linux
7840: 61 6e 64 20 55 6e 69 78 2d 6c 69 6b 65 20 70 6c and Unix-like pl
7850: 61 74 66 6f 72 6d 73 2c 20 77 68 65 72 65 20 61 atforms, where a
7860: 20 72 61 74 69 6f 6e 61 6c 20 61 6e 64 20 76 65 rational and ve
7870: 72 79 20 63 6c 65 61 72 20 66 69 6c 65 73 79 73 ry clear filesys
7880: 74 65 6d 20 6c 61 79 6f 75 74 20 65 78 69 73 74 tem layout exist
7890: 73 2e 3c 62 72 3e 0d 0a 4f 6e 20 74 68 65 73 65 s.<br>..On these
78a0: 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 operating syste
78b0: 6d 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 6d ms the package m
78c0: 61 6e 61 67 65 72 20 28 6f 72 20 3c 62 3e 6d 61 anager (or <b>ma
78d0: 6b 65 20 69 6e 73 74 61 6c 6c 3c 2f 62 3e 29 20 ke install</b>)
78e0: 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c will automatical
78f0: 6c 79 20 74 61 6b 65 20 63 61 72 65 20 74 6f 20 ly take care to
7900: 69 6e 73 74 61 6c 6c 20 3c 62 3e 70 72 6f 6a 2e install <b>proj.
7910: 64 62 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 6d 6f db</b> on the mo
7920: 73 74 20 61 70 70 72 6f 70 72 69 61 74 65 20 64 st appropriate d
7930: 69 72 65 63 74 6f 72 79 20 28 75 73 75 61 6c 6c irectory (usuall
7940: 79 20 61 73 20 3c 62 3e 2f 75 73 72 2f 73 68 61 y as <b>/usr/sha
7950: 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 3c re/proj/proj.db<
7960: 2f 62 3e 20 6f 72 20 61 73 20 3c 62 3e 2f 75 73 /b> or as <b>/us
7970: 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 70 72 r/local/share/pr
7980: 6f 6a 2f 70 72 6f 6a 2e 64 62 3c 2f 62 3e 29 20 oj/proj.db</b>)
7990: 61 6e 64 20 74 68 61 74 27 73 20 61 6c 6c 2e 3c and that's all.<
79a0: 62 72 3e 3c 62 72 3e 0d 0a 54 68 69 6e 67 73 20 br><br>..Things
79b0: 61 72 65 20 75 6e 68 61 70 70 69 6c 79 20 61 20 are unhappily a
79c0: 6c 69 74 74 6c 65 20 62 69 74 20 6d 6f 72 65 20 little bit more
79d0: 64 69 66 66 69 63 75 6c 74 73 20 6f 6e 20 57 69 difficults on Wi
79e0: 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 2e ndows platforms.
79f0: 0d 0a 54 68 65 20 75 73 65 72 20 69 74 73 65 6c ..The user itsel
7a00: 66 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 f is responsible
7a10: 20 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 69 6e for properly in
7a20: 73 74 61 6c 6c 69 6e 67 20 3c 62 3e 70 72 6f 6a stalling <b>proj
7a30: 2e 64 62 3c 2f 62 3e 0d 0a 53 6f 20 69 74 20 62 .db</b>..So it b
7a40: 65 63 6f 6d 65 73 20 63 72 69 74 69 63 61 6c 20 ecomes critical
7a50: 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 74 68 understanding th
7a60: 65 20 62 61 73 69 63 20 72 75 6c 65 73 20 61 64 e basic rules ad
7a70: 6f 70 74 65 64 20 62 79 20 3c 62 3e 6c 69 62 73 opted by <b>libs
7a80: 70 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 69 6e patialite</b> in
7a90: 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 order to proper
7aa0: 6c 79 20 6c 6f 63 61 74 65 20 3c 62 3e 70 72 6f ly locate <b>pro
7ab0: 6a 2e 64 62 3c 2f 62 3e 20 6f 6e 20 57 69 6e 64 j.db</b> on Wind
7ac0: 6f 77 73 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e ows...</td></tr>
7ad0: 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 32 3e ..<tr><th>..<h2>
7ae0: 57 68 65 72 65 20 70 72 6f 6a 2e 64 62 20 69 73 Where proj.db is
7af0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
7b00: 66 6f 75 6e 64 20 6f 6e 20 57 69 6e 64 6f 77 73 found on Windows
7b10: 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 </h2>..</td></tr
7b20: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 6f 6c >..<tr><td>..<ol
7b30: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73 74 >..<li>the first
7b40: 20 70 6c 61 63 65 20 77 68 65 72 65 20 3c 62 3e place where <b>
7b50: 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c proj.db</b> will
7b60: 20 62 65 20 73 65 61 72 63 68 65 64 20 69 73 20 be searched is
7b70: 74 68 65 20 73 61 6d 65 20 66 6f 6c 64 65 72 20 the same folder
7b80: 66 6f 72 6d 20 77 68 65 72 65 20 74 68 65 20 3c form where the <
7b90: 62 3e 45 58 45 3c 2f 62 3e 20 62 69 6e 61 72 79 b>EXE</b> binary
7ba0: 20 77 61 73 20 69 6e 69 74 69 61 6c 6c 79 20 6c was initially l
7bb0: 6f 61 64 65 64 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c oaded.<br>..<i><
7bc0: 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f 75 u>Example</i></u
7bd0: 3e 3a 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 >: assuming that
7be0: 20 79 6f 75 20 61 72 65 20 63 75 72 72 65 6e 74 you are current
7bf0: 6c 79 20 65 78 65 63 75 74 69 6e 67 20 3c 62 3e ly executing <b>
7c00: 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74 69 C:\myprogs\spati
7c10: 61 6c 69 74 65 5c 62 69 6e 5c 73 70 61 74 69 61 alite\bin\spatia
7c20: 6c 69 74 65 2e 65 78 65 3c 2f 62 3e 0d 0a 3c 75 lite.exe</b>..<u
7c30: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 61 6e 20 l>..<li>then an
7c40: 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 attempt will be
7c50: 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74 20 made to connect
7c60: 3c 62 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 <b>C:\myprogs\sp
7c70: 61 74 69 61 6c 69 74 65 5c 62 69 6e 5c 70 72 6f atialite\bin\pro
7c80: 6a 2e 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c j.db</b></li>..<
7c90: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 /ul></li>..<li>a
7ca0: 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 second attempt
7cb0: 77 69 6c 6c 20 62 65 20 6d 61 64 65 20 6f 6e 20 will be made on
7cc0: 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 3c 62 behalf of the <b
7cd0: 3e 50 75 62 6c 69 63 3c 2f 62 3e 20 66 6f 6c 64 >Public</b> fold
7ce0: 65 72 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 45 er.<br>..<i><u>E
7cf0: 78 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a 20 xample</u></i>:
7d00: 61 6e 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 an attempt will
7d10: 62 65 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 be made to conne
7d20: 63 74 20 3c 62 3e 43 3a 5c 55 73 65 72 73 5c 50 ct <b>C:\Users\P
7d30: 75 62 6c 69 63 5c 73 70 61 74 69 61 6c 69 74 65 ublic\spatialite
7d40: 5c 70 72 6f 6a 5c 70 72 6f 6a 2e 64 62 3c 2f 62 \proj\proj.db</b
7d50: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 74 68 ></li>..<li>a th
7d60: 69 72 64 20 28 61 6e 64 20 6c 61 73 74 29 20 61 ird (and last) a
7d70: 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d ttempt will be m
7d80: 61 64 65 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 ade on behalf of
7d90: 20 74 68 65 20 3c 62 3e 55 73 65 72 3c 2f 62 3e the <b>User</b>
7da0: 20 66 6f 6c 64 65 72 2e 3c 62 72 3e 0d 0a 3c 69 folder.<br>..<i
7db0: 3e 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c ><u>Example</i><
7dc0: 2f 75 3e 3a 20 61 6e 20 61 74 74 65 6d 70 74 20 /u>: an attempt
7dd0: 77 69 6c 6c 20 62 65 20 6d 61 64 65 20 74 6f 20 will be made to
7de0: 63 6f 6e 6e 65 63 74 20 3c 62 3e 43 3a 5c 55 73 connect <b>C:\Us
7df0: 65 72 73 5c 73 61 6e 64 72 6f 5c 73 70 61 74 69 ers\sandro\spati
7e00: 61 6c 69 74 65 5c 70 72 6f 6a 5c 70 72 6f 6a 2e alite\proj\proj.
7e10: 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f db</b></li>..</o
7e20: 6c 3e 0d 0a 3c 68 33 3e 41 6e 20 75 73 65 66 75 l>..<h3>An usefu
7e30: 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 63 68 65 l diagnostic che
7e40: 63 6b 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 ck</h3>..<verbat
7e50: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a im>..SELECT PROJ
7e60: 5f 47 65 74 44 61 74 61 62 61 73 65 50 61 74 68 _GetDatabasePath
7e70: 28 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ();..</verbatim>
7e80: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 3c ..<ul>..<li>if <
7e90: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 73 20 72 65 b>NULL</b> is re
7ea0: 74 75 72 6e 65 64 2c 20 74 68 65 6e 20 50 52 4f turned, then PRO
7eb0: 4a 2e 36 20 69 73 20 64 65 66 69 6e 69 74 65 6c J.6 is definitel
7ec0: 79 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 6e y unable to conn
7ed0: 65 63 74 20 74 6f 20 69 74 73 20 6f 77 6e 20 70 ect to its own p
7ee0: 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 64 61 rivate SQLite da
7ef0: 74 61 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 tabase <b>proj.d
7f00: 62 3c 2f 62 3e 3c 62 72 3e 0d 0a 59 6f 75 20 68 b</b><br>..You h
7f10: 61 76 65 20 74 6f 20 63 61 72 65 66 75 6c 6c 79 ave to carefully
7f20: 20 76 65 72 69 66 69 79 20 74 68 61 74 20 69 74 verifiy that it
7f30: 27 73 20 72 65 61 6c 6c 79 20 69 6e 73 74 61 6c 's really instal
7f40: 6c 65 64 20 6f 6e 20 6f 6e 65 20 6f 66 20 74 68 led on one of th
7f50: 65 20 65 78 70 65 63 74 65 64 20 73 74 61 6e 64 e expected stand
7f60: 61 72 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 3c 2f ard locations.</
7f70: 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 77 69 li>..<li>otherwi
7f80: 73 65 20 74 68 65 20 70 61 74 68 20 6c 65 61 64 se the path lead
7f90: 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 ing to the curre
7fa0: 6e 74 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 3c ntly connected <
7fb0: 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 b>proj.db</b> wi
7fc0: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c ll be returned.<
7fd0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d /li>..</ul><br>.
7fe0: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 .</td></tr>..</t
7ff0: 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c able><br><br>..<
8000: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e table cellspacin
8010: 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e g="8" cellpaddin
8020: 67 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 g="8" bgcolor="#
8030: 63 39 66 66 66 30 22 20 77 69 64 74 68 3d 22 31 c9fff0" width="1
8040: 30 30 25 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 00%">..<tr><th>.
8050: 0a 3c 68 32 3e 55 73 69 6e 67 20 74 68 65 20 65 .<h2>Using the e
8060: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 nvironment varia
8070: 62 6c 65 20 53 50 41 54 49 41 4c 49 54 45 5f 50 ble SPATIALITE_P
8080: 52 4f 4a 5f 44 42 5f 50 41 54 48 3c 2f 68 32 3e ROJ_DB_PATH</h2>
8090: 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 ..</th></tr>..<t
80a0: 72 3e 3c 74 64 3e 0d 0a 49 66 20 74 68 65 20 65 r><td>..If the e
80b0: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 nvironment varia
80c0: 62 6c 65 20 3c 62 3e 53 50 41 54 49 41 4c 49 54 ble <b>SPATIALIT
80d0: 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 48 3c 2f E_PROJ_DB_PATH</
80e0: 62 3e 20 69 73 20 73 65 74 2c 20 74 68 65 6e 20 b> is set, then
80f0: 3c 62 3e 6c 69 62 73 70 61 74 69 61 6c 69 74 65 <b>libspatialite
8100: 3c 2f 62 3e 20 77 69 6c 6c 20 73 69 6d 70 6c 79 </b> will simply
8110: 20 61 74 74 65 6d 70 74 20 74 6f 20 63 6f 6e 6e attempt to conn
8120: 65 63 74 20 74 68 65 20 64 61 74 61 62 61 73 65 ect the database
8130: 20 70 6f 69 6e 74 65 64 20 62 79 20 74 68 69 73 pointed by this
8140: 20 76 61 72 69 61 62 6c 65 2e 3c 62 72 3e 0d 0a variable.<br>..
8150: 53 75 63 68 20 61 20 63 61 70 61 62 69 6c 69 74 Such a capabilit
8160: 79 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 6e y is supported n
8170: 6f 74 20 6f 6e 6c 79 20 6f 6e 20 57 69 6e 64 6f ot only on Windo
8180: 77 73 20 62 75 74 20 61 6c 73 6f 20 6f 6e 20 4c ws but also on L
8190: 69 6e 75 78 20 28 61 6e 64 20 6f 6e 20 61 6e 79 inux (and on any
81a0: 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 29 other platform)
81b0: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 .<br><br>..<i><u
81c0: 3e 4c 69 6e 75 78 20 65 78 61 6d 70 6c 65 3c 2f >Linux example</
81d0: 75 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c u></i>:..<ul>..<
81e0: 6c 69 3e 3c 62 3e 65 78 70 6f 72 74 20 22 53 50 li><b>export "SP
81f0: 41 54 49 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 ATIALITE_PROJ_DB
8200: 5f 50 41 54 48 3d 2f 68 6f 6d 65 2f 73 61 6e 64 _PATH=/home/sand
8210: 72 6f 2f 61 75 78 2f 70 72 6f 6a 2e 64 62 22 3c ro/aux/proj.db"<
8220: 62 72 3e 0d 0a 65 63 68 6f 20 24 53 50 41 54 49 br>..echo $SPATI
8230: 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 ALITE_PROJ_DB_PA
8240: 54 48 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c 69 TH<br>..spatiali
8250: 74 65 3c 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c te<b></li>..</ul
8260: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 ><br><br>..<i><u
8270: 3e 57 69 6e 64 6f 77 73 20 65 78 61 6d 70 6c 65 >Windows example
8280: 3c 2f 75 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d </u></i>:..<ul>.
8290: 0a 3c 6c 69 3e 3c 62 3e 53 45 54 20 53 50 41 54 .<li><b>SET SPAT
82a0: 49 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 IALITE_PROJ_DB_P
82b0: 41 54 48 3d 43 3a 5c 55 73 65 72 73 5c 73 61 6e ATH=C:\Users\san
82c0: 64 72 6f 5c 61 75 78 5c 70 72 6f 6a 2e 64 62 3c dro\aux\proj.db<
82d0: 62 72 3e 0d 0a 65 63 68 6f 20 25 53 50 41 54 49 br>..echo %SPATI
82e0: 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 ALITE_PROJ_DB_PA
82f0: 54 48 25 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c TH%<br>..spatial
8300: 69 74 65 5f 67 75 69 3c 62 3e 3c 2f 6c 69 3e 0d ite_gui<b></li>.
8310: 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a .</ul><br><br>..
8320: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 </th></tr>..</ta
8330: 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 ble><br>..<hr><b
8340: 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 r>..<a href="htt
8350: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
8360: 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 s.it/fossil/libs
8370: 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e patialite/wiki?n
8380: 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 ame=4.3.0-doc">b
8390: 61 63 6b 3c 2f 61 3e 0a 5a 20 36 33 32 32 33 36 ack</a>.Z 632236
83a0: 64 62 38 62 31 39 33 65 33 35 37 66 35 65 32 34 db8b193e357f5e24
83b0: 61 36 32 31 63 65 34 66 33 39 0a a621ce4f39.