Wiki page
[PROJ.6] by
sandro
2019-05-01 06:48:47.
0000: 44 20 32 30 31 39 2d 30 35 2d 30 31 54 30 36 3a D 2019-05-01T06:
0010: 34 38 3a 34 37 2e 34 31 35 0a 4c 20 50 52 4f 4a 48:47.415.L PROJ
0020: 2e 36 0a 50 20 63 65 34 65 33 33 65 34 30 30 62 .6.P ce4e33e400b
0030: 31 37 38 32 61 61 38 37 30 34 32 63 62 39 34 63 1782aa87042cb94c
0040: 38 32 37 61 38 35 65 63 37 33 36 34 36 0a 55 20 827a85ec73646.U
0050: 73 61 6e 64 72 6f 0a 57 20 33 33 32 32 33 0a 3c sandro.W 33223.<
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 0d 0a 3c 68 33 3e 54 68 65 /table>..<h3>The
2e70: 20 70 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 private SQLite
2e80: 64 61 74 61 62 61 73 65 20 73 75 70 70 6f 72 74 database support
2e90: 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f 68 33 3e 0d ing PROJ.6</h3>.
2ea0: 0a 53 74 61 72 74 69 6e 67 20 73 69 6e 63 65 20 .Starting since
2eb0: 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 74 68 <b>PROJ.6</b> th
2ec0: 65 20 50 52 4f 4a 20 6c 69 62 72 61 72 79 20 72 e PROJ library r
2ed0: 65 71 75 69 72 65 73 20 61 6e 20 65 78 74 65 72 equires an exter
2ee0: 6e 61 6c 20 53 51 4c 69 74 65 20 64 61 74 61 62 nal SQLite datab
2ef0: 61 73 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 ase containing a
2f00: 6c 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 ll definitions a
2f10: 62 6f 75 74 20 73 75 70 70 6f 72 74 65 64 20 43 bout supported C
2f20: 52 53 65 73 2c 20 45 6c 6c 69 70 73 6f 69 64 73 RSes, Ellipsoids
2f30: 2c 20 50 72 69 6d 65 20 4d 65 72 69 64 69 61 6e , Prime Meridian
2f40: 73 2c 20 55 6e 69 74 73 20 6f 66 20 4d 65 61 73 s, Units of Meas
2f50: 75 72 65 2c 20 54 72 61 6e 73 66 6f 72 6d 61 74 ure, Transformat
2f60: 69 6f 6e 73 20 61 6e 64 20 61 6c 69 6b 65 2e 3c ions and alike.<
2f70: 62 72 3e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 br>..Many of the
2f80: 20 6e 65 77 20 61 64 76 61 6e 63 65 64 20 50 52 new advanced PR
2f90: 4f 4a 27 73 20 41 50 49 20 77 69 6c 6c 20 66 61 OJ's API will fa
2fa0: 69 6c 20 69 66 20 73 75 63 68 20 64 61 74 61 62 il if such datab
2fb0: 61 73 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c ase is not avail
2fc0: 61 62 6c 65 20 61 74 20 72 75 6e 20 74 69 6d 65 able at run time
2fd0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
2fe0: 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d ble cellspacing=
2ff0: 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "8" cellpadding=
3000: 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "8" bgcolor="#ff
3010: 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e ffe9">..<tr><th>
3020: 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 6c 65 ..In order to le
3030: 61 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 arn more about t
3040: 68 65 20 6d 61 6e 79 20 69 6e 74 65 72 65 73 74 he many interest
3050: 69 6e 67 20 63 6f 6f 6c 20 6e 65 77 20 66 65 61 ing cool new fea
3060: 74 75 72 65 73 20 73 75 70 70 6f 72 74 65 64 20 tures supported
3070: 62 79 20 50 52 4f 4a 2e 36 20 70 6c 65 61 73 65 by PROJ.6 please
3080: 20 63 6f 6e 73 75 6c 74 20 74 68 65 20 3c 61 20 consult the <a
3090: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 70 72 href="https://pr
30a0: 6f 6a 34 2e 6f 72 67 2f 22 3e 6f 72 69 67 69 6e oj4.org/">origin
30b0: 61 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e al documentation
30c0: 3c 2f 61 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e </a>..</th></tr>
30d0: 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a ..</table><br>..
30e0: 3c 68 72 3e 0d 0a 3c 68 31 3e 53 70 61 74 69 61 <hr>..<h1>Spatia
30f0: 4c 69 74 65 2d 35 2e 30 2e 30 20 73 75 70 70 6f Lite-5.0.0 suppo
3100: 72 74 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f 68 31 rting PROJ.6</h1
3110: 3e 0d 0a 3c 68 33 3e 45 78 69 73 74 69 6e 67 20 >..<h3>Existing
3120: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 20 61 66 SQL functions af
3130: 66 65 63 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 fected by PROJ.6
3140: 3c 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 </h3>..<table ce
3150: 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 llspacing="8" ce
3160: 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 llpadding="8" bg
3170: 63 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 color="#e8ffe8"
3180: 62 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 border="1">..<tr
3190: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ><th bgcolor="#f
31a0: 66 62 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74 fb03e">SQL Funct
31b0: 69 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ion</th><th bgco
31c0: 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 45 78 lor="#ffb03e">Ex
31d0: 74 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65 tended signature
31e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
31f0: 3d 22 23 66 66 62 30 33 65 22 3e 42 65 68 61 76 ="#ffb03e">Behav
3200: 69 6f 72 20 75 6e 64 65 72 20 50 52 4f 4a 2e 36 ior under PROJ.6
3210: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
3220: 3c 74 64 3e 3c 62 3e 53 54 5f 54 72 61 6e 73 66 <td><b>ST_Transf
3230: 6f 72 6d 28 29 3c 2f 62 3e 3c 2f 74 64 3e 0d 0a orm()</b></td>..
3240: 3c 74 64 3e 0d 0a 3c 62 3e 53 54 5f 54 72 61 6e <td>..<b>ST_Tran
3250: 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 67 65 6f 6d sform</b> ( geom
3260: 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e <i>Geometry</i>
3270: 20 2c 20 6e 65 77 53 72 69 64 20 3c 69 3e 49 6e , newSrid <i>In
3280: 74 65 67 65 72 3c 2f 69 3e 20 2c 20 61 72 65 61 teger</i> , area
3290: 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e <i>Geometry</i>
32a0: 20 29 20 3a 20 3c 69 3e 47 65 6f 6d 65 74 72 79 ) : <i>Geometry
32b0: 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 53 54 5f </i><hr>..<b>ST_
32c0: 54 72 61 6e 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 Transform</b> (
32d0: 67 65 6f 6d 20 3c 69 3e 47 65 6f 6d 65 74 72 79 geom <i>Geometry
32e0: 3c 2f 69 3e 20 2c 20 6e 65 77 53 72 69 64 20 3c </i> , newSrid <
32f0: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 i>Integer</i> ,
3300: 61 72 65 61 20 3c 69 3e 47 65 6f 6d 65 74 72 79 area <i>Geometry
3310: 3c 2f 69 3e 20 2c 20 6d 65 74 68 6f 64 20 3c 69 </i> , method <i
3320: 3e 54 65 78 74 3c 2f 69 3e 20 29 20 3a 20 3c 69 >Text</i> ) : <i
3330: 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 3c 68 72 >Geometry</i><hr
3340: 3e 0d 0a 3c 62 3e 53 54 5f 54 72 61 6e 73 66 6f >..<b>ST_Transfo
3350: 72 6d 3c 2f 62 3e 20 28 20 67 65 6f 6d 20 3c 69 rm</b> ( geom <i
3360: 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 2c 20 >Geometry</i> ,
3370: 6e 65 77 53 72 69 64 20 3c 69 3e 49 6e 74 65 67 newSrid <i>Integ
3380: 65 72 3c 2f 69 3e 20 2c 20 61 72 65 61 20 3c 69 er</i> , area <i
3390: 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 2c 20 >Geometry</i> ,
33a0: 6d 65 74 68 6f 64 20 3c 69 3e 54 65 78 74 3c 2f method <i>Text</
33b0: 69 3e 20 2c 20 70 72 6f 6a 5f 73 74 72 69 6e 67 i> , proj_string
33c0: 20 3c 69 3e 54 65 78 74 3c 2f 69 3e 20 29 20 3a <i>Text</i> ) :
33d0: 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e <i>Geometry</i>
33e0: 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c ..</td>..<td>..<
33f0: 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e table cellspacin
3400: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
3410: 67 3d 22 34 22 20 62 67 63 6f 6c 6f 72 3d 22 23 g="4" bgcolor="#
3420: 66 66 66 66 64 30 22 3e 0d 0a 3c 74 72 3e 3c 74 ffffd0">..<tr><t
3430: 64 3e 0d 0a 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 d>..<b><u><i>Not
3440: 65 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 61 e</i></u></b>: a
3450: 6c 6c 20 74 68 65 73 65 20 3c 62 3e 3c 69 3e 65 ll these <b><i>e
3460: 78 74 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 xtended signatur
3470: 65 73 3c 2f 69 3e 3c 2f 62 3e 20 61 72 65 20 73 es</i></b> are s
3480: 75 70 70 6f 72 74 65 64 20 6f 6e 6c 79 20 77 68 upported only wh
3490: 65 6e 20 3c 62 3e 6c 69 62 73 70 61 74 69 61 6c en <b>libspatial
34a0: 69 74 65 2d 35 2e 30 3c 2f 62 3e 20 68 61 73 20 ite-5.0</b> has
34b0: 62 65 65 6e 20 62 75 69 6c 74 20 6f 6e 20 74 68 been built on th
34c0: 65 20 74 6f 70 20 6f 66 20 3c 62 3e 50 52 4f 4a e top of <b>PROJ
34d0: 2e 36 3c 2f 62 3e 3c 62 72 3e 0d 0a 49 66 20 74 .6</b><br>..If t
34e0: 68 65 20 6c 69 62 72 61 72 79 20 68 61 73 20 62 he library has b
34f0: 65 65 6e 20 62 75 69 6c 74 20 69 6e 73 74 65 61 een built instea
3500: 64 20 6f 6e 20 65 61 72 6c 69 65 72 20 76 65 72 d on earlier ver
3510: 73 69 6f 6e 73 20 6f 66 20 50 52 4f 4a 20 61 6e sions of PROJ an
3520: 79 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 6c y attempt to cal
3530: 6c 20 74 68 65 73 65 20 65 78 74 65 6e 64 65 64 l these extended
3540: 20 73 69 67 6e 61 74 75 72 65 73 20 77 69 6c 6c signatures will
3550: 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 3c just return a <
3560: 62 3e 77 72 6f 6e 67 20 6e 75 6d 62 65 72 20 6f b>wrong number o
3570: 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 66 f arguments to f
3580: 75 6e 63 74 69 6f 6e 20 53 54 5f 54 72 61 6e 73 unction ST_Trans
3590: 66 6f 72 6d 28 29 3c 2f 62 3e 20 65 72 72 6f 72 form()</b> error
35a0: 2e 0d 0a 3c 2f 74 64 3e 3c 74 72 3e 0d 0a 3c 2f ...</td><tr>..</
35b0: 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 74 61 62 table><br>..<tab
35c0: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 le cellspacing="
35d0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 4" cellpadding="
35e0: 34 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 64 4" bgcolor="#ffd
35f0: 66 64 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d fd0">..<tr><td>.
3600: 0a 41 6e 79 20 69 6e 76 61 6c 69 64 20 61 72 67 .Any invalid arg
3610: 75 6d 65 6e 74 20 70 61 73 73 65 64 20 74 6f 20 ument passed to
3620: 3c 62 3e 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 <b>ST_Transform(
3630: 29 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 65 78 74 )</b> (<b><i>ext
3640: 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65 73 ended signatures
3650: 3c 2f 69 3e 3c 2f 62 3e 29 20 77 69 6c 6c 20 72 </i></b>) will r
3660: 61 69 73 65 20 61 6e 20 3c 62 3e 53 51 4c 20 45 aise an <b>SQL E
3670: 78 63 65 70 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c xception</b>...<
3680: 2f 74 64 3e 3c 74 72 3e 0d 0a 3c 2f 74 61 62 6c /td><tr>..</tabl
3690: 65 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c e><br>..<ul>..<l
36a0: 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 i>the optional a
36b0: 72 67 75 6d 65 6e 74 20 3c 62 3e 61 72 65 61 3c rgument <b>area<
36c0: 2f 62 3e 20 6d 61 79 20 62 65 20 3c 62 3e 4e 55 /b> may be <b>NU
36d0: 4c 4c 3c 2f 62 3e 20 28 3c 69 3e 64 65 66 61 75 LL</b> (<i>defau
36e0: 6c 74 20 73 65 74 74 69 6e 67 3c 2f 69 3e 29 2e lt setting</i>).
36f0: 3c 62 72 3e 0d 0a 4f 74 68 65 72 77 69 73 65 20 <br>..Otherwise
3700: 69 74 27 73 20 65 78 70 65 63 74 65 64 20 74 6f it's expected to
3710: 20 63 6f 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 contain a valid
3720: 20 47 65 6f 6d 65 74 72 79 20 69 6e 20 3c 62 3e Geometry in <b>
3730: 53 52 49 44 3d 34 33 32 36 20 28 6c 6f 6e 67 2f SRID=4326 (long/
3740: 6c 61 74 29 3c 2f 62 3e 2e 0d 0a 57 68 65 6e 20 lat)</b>...When
3750: 61 6e 20 3c 62 3e 3c 69 3e 61 72 65 61 20 6f 66 an <b><i>area of
3760: 20 75 73 65 3c 2f 69 3e 3c 2f 62 3e 20 69 73 20 use</i></b> is
3770: 65 78 70 6c 69 63 69 74 6c 79 20 73 75 70 70 6c explicitly suppl
3780: 69 65 64 2c 20 74 68 65 6e 20 3c 62 3e 50 52 4f ied, then <b>PRO
3790: 4a 2e 36 3c 2f 62 3e 20 6d 61 79 20 65 76 65 6e J.6</b> may even
37a0: 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 20 63 tually use the c
37b0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e orresponding <b>
37c0: 42 42 4f 58 3c 2f 62 3e 20 66 6f 72 20 66 69 6e BBOX</b> for fin
37d0: 65 6c 79 20 74 75 6e 69 6e 67 20 74 68 65 20 6d ely tuning the m
37e0: 6f 72 65 20 61 63 63 75 72 61 74 65 20 74 72 61 ore accurate tra
37f0: 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 3c 2f 6c 69 nsformation.</li
3800: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f >..<li>the optio
3810: 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e nal argument <b>
3820: 6d 65 74 68 6f 64 3c 2f 62 3e 20 69 73 20 65 78 method</b> is ex
3830: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 pected to contai
3840: 6e 20 6f 6e 65 20 74 68 65 20 66 6f 6c 6c 6f 77 n one the follow
3850: 69 6e 67 20 76 61 6c 75 65 73 20 28 3c 62 3e 70 ing values (<b>p
3860: 72 6f 6a 34 74 65 78 74 3c 2f 62 3e 20 77 69 6c roj4text</b> wil
3870: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 73 73 75 l be always assu
3880: 6d 65 64 20 61 73 20 74 68 65 20 3c 69 3e 64 65 med as the <i>de
3890: 66 61 75 6c 74 20 73 65 74 74 69 6e 67 3c 2f 69 fault setting</i
38a0: 3e 29 3a 3c 2f 6c 69 3e 0d 0a 3c 75 6c 3e 0d 0a >):</li>..<ul>..
38b0: 3c 6c 69 3e 3c 62 3e 70 72 6f 6a 34 74 65 78 74 <li><b>proj4text
38c0: 3c 2f 62 3e 3a 20 62 6f 74 68 20 43 52 53 65 73 </b>: both CRSes
38d0: 20 28 6f 72 69 67 69 6e 20 61 6e 64 20 64 65 73 (origin and des
38e0: 74 69 6e 61 74 69 6f 6e 29 20 77 69 6c 6c 20 62 tination) will b
38f0: 65 20 64 65 66 69 6e 65 64 20 62 79 20 70 61 73 e defined by pas
3900: 73 69 6e 67 20 74 6f 20 50 52 4f 4a 2e 36 20 74 sing to PROJ.6 t
3910: 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 73 20 he traditionals
3920: 3c 62 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 3c 2f <b>proj-string</
3930: 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 b> definitions f
3940: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e or the correspon
3950: 64 69 6e 67 20 53 52 49 44 73 20 72 65 74 72 69 ding SRIDs retri
3960: 65 76 65 64 20 66 72 6f 6d 20 63 6f 6c 75 6d 6e eved from column
3970: 20 3c 62 3e 70 72 6f 6a 34 74 65 78 74 3c 2f 62 <b>proj4text</b
3980: 3e 20 69 6e 20 54 61 62 6c 65 20 3c 62 3e 73 70 > in Table <b>sp
3990: 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 atial_ref_sys</b
39a0: 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 65 78 61 63 ><br>..This exac
39b0: 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 tly corresponds
39c0: 74 6f 20 74 68 65 20 77 65 6c 6c 20 65 78 74 61 to the well exta
39d0: 62 6c 69 73 68 65 64 20 74 72 61 64 69 74 69 6f blished traditio
39e0: 6e 61 6c 20 62 65 68 61 76 69 6f 72 20 6f 66 20 nal behavior of
39f0: 61 6c 6c 20 70 72 65 76 69 6f 75 73 20 76 65 72 all previous ver
3a00: 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 6c 69 62 73 sions of <b>libs
3a10: 70 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 61 6e patialite</b> an
3a20: 64 20 73 74 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 d still continue
3a30: 73 20 74 6f 20 62 65 20 73 75 70 70 6f 72 74 65 s to be supporte
3a40: 64 20 6d 61 69 6e 6c 79 20 66 6f 72 20 68 69 73 d mainly for his
3a50: 74 6f 72 69 63 61 6c 20 63 6f 6d 70 61 74 69 62 torical compatib
3a60: 69 6c 69 74 79 2c 20 62 75 74 20 3c 62 3e 3c 75 ility, but <b><u
3a70: 3e 3c 69 3e 69 73 6e 27 74 20 61 6e 79 20 6c 6f ><i>isn't any lo
3a80: 6e 67 65 72 20 74 68 65 20 62 65 73 74 20 77 61 nger the best wa
3a90: 79 20 66 6f 72 20 74 61 6b 69 6e 67 20 66 75 6c y for taking ful
3aa0: 6c 20 70 72 6f 66 69 74 20 6f 66 20 74 68 65 20 l profit of the
3ab0: 6d 6f 72 65 20 61 64 76 61 6e 63 65 64 20 63 61 more advanced ca
3ac0: 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 50 52 pabilities of PR
3ad0: 4f 4a 2e 36 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e OJ.6</i></u></b>
3ae0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 72 </li>..<li><b>sr
3af0: 74 65 78 74 3c 2f 62 3e 3a 20 62 6f 74 68 20 43 text</b>: both C
3b00: 52 53 65 73 20 28 6f 72 69 67 69 6e 20 61 6e 64 RSes (origin and
3b10: 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 20 77 69 destination) wi
3b20: 6c 6c 20 62 65 20 64 65 66 69 6e 65 64 20 62 79 ll be defined by
3b30: 20 70 61 73 73 69 6e 67 20 74 6f 20 50 52 4f 4a passing to PROJ
3b40: 2e 36 20 74 68 65 20 3c 62 3e 57 4b 54 3c 2f 62 .6 the <b>WKT</b
3b50: 3e 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f > definitions fo
3b60: 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 r the correspond
3b70: 69 6e 67 20 53 52 49 44 73 20 72 65 74 72 69 65 ing SRIDs retrie
3b80: 76 65 64 20 66 72 6f 6d 20 63 6f 6c 75 6d 6e 20 ved from column
3b90: 3c 62 3e 73 72 74 65 78 74 3c 2f 62 3e 20 69 6e <b>srtext</b> in
3ba0: 20 54 61 62 6c 65 20 3c 62 3e 73 70 61 74 69 61 Table <b>spatia
3bb0: 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 3e 3c 62 72 l_ref_sys</b><br
3bc0: 3e 0d 0a 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 65 >..<b><u><i>Note
3bd0: 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 </i></u></b>: th
3be0: 69 73 20 6d 65 74 68 6f 64 20 63 6f 75 6c 64 20 is method could
3bf0: 65 66 66 65 63 74 69 76 65 6c 79 20 74 61 6b 65 effectively take
3c00: 20 66 75 6c 6c 20 70 72 6f 66 69 74 20 6f 66 20 full profit of
3c10: 74 68 65 20 6d 6f 72 65 20 61 64 76 61 6e 63 65 the more advance
3c20: 64 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 6f d capabilities o
3c30: 66 20 50 52 4f 4a 2e 36 2c 20 62 75 74 20 6f 6e f PROJ.6, but on
3c40: 6c 79 20 69 66 20 74 68 65 20 75 6e 64 65 72 6c ly if the underl
3c50: 61 79 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65 aying spatialite
3c60: 20 64 61 74 61 62 61 73 65 20 68 61 73 20 62 65 database has be
3c70: 65 6e 20 63 72 65 61 74 65 64 20 77 69 74 68 20 en created with
3c80: 50 52 4f 4a 2e 36 20 73 75 70 70 6f 72 74 2e 3c PROJ.6 support.<
3c90: 62 72 3e 0d 0a 42 75 74 20 69 74 20 63 6f 75 6c br>..But it coul
3ca0: 64 20 65 61 73 69 6c 79 20 62 65 20 69 6e 61 64 d easily be inad
3cb0: 65 71 75 61 74 65 20 77 68 65 6e 20 74 68 65 20 equate when the
3cc0: 75 6e 64 65 72 6c 61 79 69 6e 67 20 73 70 61 74 underlaying spat
3cd0: 69 61 6c 69 74 65 20 64 61 74 61 62 61 73 65 20 ialite database
3ce0: 77 61 73 20 63 72 65 61 74 65 64 20 62 79 20 73 was created by s
3cf0: 6f 6d 65 20 65 61 72 6c 69 65 72 20 76 65 72 73 ome earlier vers
3d00: 69 6f 6e 20 6f 66 20 73 70 61 74 69 61 6c 69 74 ion of spatialit
3d10: 65 20 6c 61 63 6b 69 6e 67 20 50 52 4f 4a 2e 36 e lacking PROJ.6
3d20: 20 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0d 0a support.</li>..
3d30: 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f 6e 61 6d 65 <li><b>auth_name
3d40: 3a 61 75 74 68 5f 73 72 69 64 3c 2f 62 3e 3a 20 :auth_srid</b>:
3d50: 62 6f 74 68 20 43 52 53 65 73 20 28 6f 72 69 67 both CRSes (orig
3d60: 69 6e 20 61 6e 64 20 64 65 73 74 69 6e 61 74 69 in and destinati
3d70: 6f 6e 29 20 77 69 6c 6c 20 62 65 20 64 65 66 69 on) will be defi
3d80: 6e 65 64 20 62 79 20 69 67 6e 6f 72 69 6e 67 20 ned by ignoring
3d90: 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 the definitions
3da0: 73 74 6f 72 65 64 20 69 6e 20 3c 62 3e 73 70 61 stored in <b>spa
3db0: 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 3e tial_ref_sys</b>
3dc0: 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 50 52 4f and leaving PRO
3dd0: 4a 2e 36 20 66 72 65 65 20 74 6f 20 72 65 74 72 J.6 free to retr
3de0: 69 65 76 65 20 74 68 65 69 72 20 63 6f 72 72 65 ieve their corre
3df0: 73 70 6f 6e 64 69 6e 67 20 64 65 66 69 6e 69 74 sponding definit
3e00: 69 6f 6e 73 20 66 72 6f 6d 20 69 74 73 20 6f 77 ions from its ow
3e10: 6e 20 70 72 69 76 61 74 65 20 53 51 4c 69 74 65 n private SQLite
3e20: 20 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a database.<br>..
3e30: 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 65 3c 2f 69 <b><u><i>Note</i
3e40: 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 69 73 20 ></u></b>: this
3e50: 6d 65 74 68 6f 64 20 77 69 6c 6c 20 61 6c 77 61 method will alwa
3e60: 79 73 20 74 61 6b 65 20 66 75 6c 6c 20 70 72 6f ys take full pro
3e70: 66 69 74 20 6f 66 20 74 68 65 20 6d 6f 72 65 20 fit of the more
3e80: 61 64 76 61 6e 63 65 64 20 63 61 70 61 62 69 6c advanced capabil
3e90: 69 74 69 65 73 20 6f 66 20 50 52 4f 4a 2e 36 3c ities of PROJ.6<
3ea0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 70 72 6f /li>..<li><b>pro
3eb0: 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e 3a 20 61 6e j_string</b>: an
3ec0: 20 3c 62 3e 3c 75 3e 3c 69 3e 75 73 65 72 2d 64 <b><u><i>user-d
3ed0: 65 66 69 6e 65 64 20 70 72 6f 6a 2d 73 74 72 69 efined proj-stri
3ee0: 6e 67 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 20 28 ng</i></u></b> (
3ef0: 6d 61 79 20 62 65 20 6f 6e 65 20 64 65 66 69 6e may be one defin
3f00: 69 6e 69 6e 67 20 61 20 3c 62 3e 3c 75 3e 3c 69 ining a <b><u><i
3f10: 3e 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 >transformation
3f20: 70 69 70 65 6c 69 6e 65 3c 2f 69 3e 3c 2f 75 3e pipeline</i></u>
3f30: 3c 2f 62 3e 29 20 77 69 6c 6c 20 62 65 20 70 61 </b>) will be pa
3f40: 73 73 65 64 20 74 6f 20 50 52 4f 4a 2e 36 3b 20 ssed to PROJ.6;
3f50: 74 68 69 73 20 69 73 20 61 6e 20 61 64 76 61 6e this is an advan
3f60: 63 65 64 20 6f 70 74 69 6f 6e 20 72 65 73 65 72 ced option reser
3f70: 76 65 64 20 74 6f 20 73 6b 69 6c 6c 65 64 20 70 ved to skilled p
3f80: 6f 77 65 72 20 75 73 65 72 73 2e 3c 2f 6c 69 3e ower users.</li>
3f90: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
3fa0: 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 i>the optional a
3fb0: 72 67 75 6d 65 6e 74 20 3c 62 3e 70 72 6f 6a 5f rgument <b>proj_
3fc0: 73 74 72 69 6e 67 3c 2f 62 3e 20 6d 61 79 20 62 string</b> may b
3fd0: 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 3c e <b>NULL</b> (<
3fe0: 69 3e 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e i>default settin
3ff0: 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 4f 74 68 g</i>).<br>..Oth
4000: 65 72 77 69 73 65 20 69 74 27 73 20 65 78 70 65 erwise it's expe
4010: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 cted to contain
4020: 61 20 76 61 6c 69 64 20 3c 62 3e 50 52 4f 4a 2e a valid <b>PROJ.
4030: 36 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 6 transformation
4040: 20 73 74 72 69 6e 67 3c 2f 62 3e 2c 20 6d 61 79 string</b>, may
4050: 20 77 65 6c 6c 20 62 65 20 64 65 66 69 6e 69 6e well be definin
4060: 67 20 61 6e 20 3c 62 3e 75 73 65 72 2d 64 65 66 g an <b>user-def
4070: 69 6e 65 64 20 74 72 61 6e 73 66 6f 72 6d 61 74 ined transformat
4080: 69 6f 6e 20 70 69 70 65 6c 69 6e 65 3c 2f 62 3e ion pipeline</b>
4090: 2e 3c 62 72 3e 0d 0a 4d 65 61 6e 69 6e 67 66 75 .<br>..Meaningfu
40a0: 6c 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 61 l only in the ca
40b0: 73 65 20 6f 66 20 3c 62 3e 6d 65 74 68 6f 64 3d se of <b>method=
40c0: 70 72 6f 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e 3c proj_string</b><
40d0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 /li>..</ul>..</t
40e0: 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 d></tr>..<tr><td
40f0: 3e 3c 62 3e 49 6e 69 74 53 70 61 74 69 61 6c 4d ><b>InitSpatialM
4100: 65 74 61 44 61 74 61 28 29 3c 2f 62 3e 3c 68 72 etaData()</b><hr
4110: 3e 0d 0a 3c 62 3e 49 6e 69 74 53 70 61 74 69 61 >..<b>InitSpatia
4120: 6c 4d 65 74 61 44 61 74 61 46 75 6c 6c 28 29 3c lMetaDataFull()<
4130: 2f 62 3e 3c 68 72 3e 0d 0a 3c 62 3e 49 6e 73 65 /b><hr>..<b>Inse
4140: 72 74 45 70 73 67 53 52 49 44 28 29 3c 2f 74 64 rtEpsgSRID()</td
4150: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 ><td align="cent
4160: 65 72 22 3e 3c 62 3e 75 6e 63 68 61 6e 67 65 64 er"><b>unchanged
4170: 3c 2f 62 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d </b></td>..<td>.
4180: 0a 41 6c 6c 20 74 68 65 73 65 20 53 51 4c 20 46 .All these SQL F
4190: 75 6e 63 74 69 6f 6e 73 20 64 6f 65 73 6e 27 74 unctions doesn't
41a0: 20 63 68 61 6e 67 65 20 74 68 65 69 72 20 73 69 change their si
41b0: 67 6e 61 74 75 72 65 73 2c 20 62 75 74 20 62 65 gnatures, but be
41c0: 68 61 76 65 20 69 6e 20 61 20 73 69 67 6e 69 66 have in a signif
41d0: 69 63 61 6e 74 6c 79 20 64 69 66 66 65 72 65 6e icantly differen
41e0: 74 20 77 61 79 20 77 68 65 6e 20 3c 62 3e 50 52 t way when <b>PR
41f0: 4f 4a 2e 36 3c 2f 62 3e 20 73 75 70 70 6f 72 74 OJ.6</b> support
4200: 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0d 0a is available...
4210: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 72 61 64 69 74 <ul>..<li>tradit
4220: 69 6f 6e 61 6c 20 62 65 68 61 76 69 6f 72 20 6f ional behavior o
4230: 6e 20 6f 6c 64 20 3c 62 3e 50 52 4f 4a 2e 34 3c n old <b>PROJ.4<
4240: 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 73 70 61 74 /b>: the <b>spat
4250: 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 3e 20 ial_ref_sys</b>
4260: 6d 65 74 61 64 61 74 61 20 54 61 62 6c 65 20 77 metadata Table w
4270: 69 6c 6c 20 62 65 20 70 6f 70 75 6c 61 74 65 64 ill be populated
4280: 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 43 52 by using the CR
4290: 53 65 73 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 Ses definitions
42a0: 69 6e 74 65 72 6e 61 6c 6c 79 20 69 6e 6c 69 6e internally inlin
42b0: 65 64 20 77 69 74 68 69 6e 20 74 68 65 20 63 6f ed within the co
42c0: 64 65 20 6f 66 20 3c 62 3e 6c 69 62 73 70 61 74 de of <b>libspat
42d0: 69 61 6c 69 74 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e ialite</b>.</li>
42e0: 0d 0a 3c 6c 69 3e 6e 65 77 20 62 65 68 61 76 69 ..<li>new behavi
42f0: 6f 72 20 6f 6e 20 3c 62 3e 50 52 4f 4a 2e 36 3c or on <b>PROJ.6<
4300: 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 73 70 61 74 /b>: the <b>spat
4310: 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 3e 20 ial_ref_sys</b>
4320: 6d 65 74 61 64 61 74 61 20 54 61 62 6c 65 20 77 metadata Table w
4330: 69 6c 6c 20 62 65 20 70 6f 70 75 6c 61 74 65 64 ill be populated
4340: 20 62 79 20 69 6e 73 65 72 74 69 6e 67 20 74 68 by inserting th
4350: 65 20 43 52 53 65 73 20 64 65 66 69 6e 69 74 69 e CRSes definiti
4360: 6f 6e 73 20 65 78 74 72 61 63 74 65 64 20 66 72 ons extracted fr
4370: 6f 6d 20 74 68 65 20 53 51 4c 69 74 65 20 70 72 om the SQLite pr
4380: 69 76 61 74 65 20 64 61 74 61 62 61 73 65 20 63 ivate database c
4390: 75 72 72 65 6e 74 6c 79 20 63 6f 6e 6e 65 63 74 urrently connect
43a0: 65 64 20 74 6f 20 50 52 4f 4a 2e 36 3b 20 6d 6f ed to PROJ.6; mo
43b0: 72 65 20 70 72 65 63 69 73 65 6c 79 2c 20 63 6f re precisely, co
43c0: 6c 75 6d 6e 20 3c 62 3e 70 72 6f 6a 34 74 65 78 lumn <b>proj4tex
43d0: 74 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 70 6f t</b> will be po
43e0: 70 75 6c 61 74 65 64 20 62 79 20 69 6e 73 65 72 pulated by inser
43f0: 74 69 6e 67 20 74 68 65 20 6e 65 77 20 3c 62 3e ting the new <b>
4400: 70 72 6f 6a 2d 73 74 72 69 6e 67 73 3c 2f 62 3e proj-strings</b>
4410: 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 as supported by
4420: 20 50 52 4f 4a 2e 36 2c 20 77 68 69 6c 73 74 20 PROJ.6, whilst
4430: 63 6f 6c 75 6d 6e 20 3c 62 3e 73 72 74 65 78 74 column <b>srtext
4440: 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 70 6f 70 </b> will be pop
4450: 75 6c 61 74 65 64 20 62 79 20 69 6e 73 65 72 74 ulated by insert
4460: 69 6e 67 20 74 68 65 20 3c 62 3e 49 53 4f 2d 32 ing the <b>ISO-2
4470: 30 31 38 20 57 4b 54 3c 2f 62 3e 20 64 65 66 69 018 WKT</b> defi
4480: 6e 69 74 69 6f 6e 73 20 61 73 20 73 75 70 70 6f nitions as suppo
4490: 72 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 3c 62 rted by PROJ.6<b
44a0: 72 3e 0d 0a 3c 75 3e 3c 62 3e 3c 69 3e 49 6d 70 r>..<u><b><i>Imp
44b0: 6f 72 74 61 6e 74 20 63 6f 6e 73 65 71 75 65 6e ortant consequen
44c0: 63 65 3c 2f 69 3e 3c 2f 62 3e 3c 2f 75 3e 3a 20 ce</i></b></u>:
44d0: 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 if there is no d
44e0: 61 74 61 62 61 73 65 20 63 75 72 72 65 6e 74 6c atabase currentl
44f0: 79 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 50 y connected to P
4500: 52 4f 4a 2e 36 20 74 68 65 20 69 6e 69 74 69 61 ROJ.6 the initia
4510: 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 3c 62 3e 73 lization of <b>s
4520: 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f patial_ref_sys</
4530: 62 3e 20 77 69 6c 6c 20 66 61 69 6c 2e 3c 2f 6c b> will fail.</l
4540: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ul>..</td>
4550: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c </tr>..</table><
4560: 62 72 3e 0d 0a 46 65 77 20 70 72 61 63 74 69 63 br>..Few practic
4570: 61 6c 20 53 51 4c 20 65 78 61 6d 70 6c 65 73 3a al SQL examples:
4580: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 ..<verbatim>..SE
4590: 4c 45 43 54 20 53 54 5f 41 73 54 65 78 74 20 28 LECT ST_AsText (
45a0: 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d ST_Transform( M
45b0: 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 akePoint( 11.878
45c0: 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 056 , 43.463056,
45d0: 20 34 33 32 36 20 29 2c 20 33 30 30 33 29 29 3b 4326 ), 3003));
45e0: 20 2d 2d 20 53 52 49 44 3d 33 30 30 33 20 2d 20 -- SRID=3003 -
45f0: 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 default settings
4600: 3b 20 75 73 69 6e 67 20 70 72 6f 6a 2d 73 74 72 ; using proj-str
4610: 69 6e 67 73 20 66 72 6f 6d 20 73 70 61 74 69 61 ings from spatia
4620: 6c 5f 72 65 66 5f 73 79 73 2e 70 72 6f 6a 34 74 l_ref_sys.proj4t
4630: 65 78 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ext..-----------
4640: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4650: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e ----------..POIN
4660: 54 28 31 37 33 32 38 33 32 2e 34 34 34 38 39 32 T(1732832.444892
4670: 20 34 38 31 36 33 35 30 2e 31 34 36 32 34 36 29 4816350.146246)
4680: 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 54 5f 41 73 ....SELECT ST_As
4690: 54 65 78 74 20 28 20 53 54 5f 54 72 61 6e 73 66 Text ( ST_Transf
46a0: 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 orm( MakePoint(
46b0: 31 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 11.878056 , 43.4
46c0: 36 33 30 35 36 2c 20 34 33 32 36 20 29 2c 20 33 63056, 4326 ), 3
46d0: 30 30 33 2c 20 4e 55 4c 4c 2c 20 27 73 72 74 65 003, NULL, 'srte
46e0: 78 74 27 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 xt')); -- SRID=3
46f0: 30 30 33 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 003 - NULL area
4700: 6f 66 20 75 73 65 2c 20 75 73 69 6e 67 20 49 53 of use, using IS
4710: 4f 2d 32 30 31 38 20 57 4b 54 20 64 65 66 69 6e O-2018 WKT defin
4720: 69 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 itions from spat
4730: 69 61 6c 5f 72 65 66 5f 73 79 73 2e 73 72 74 65 ial_ref_sys.srte
4740: 78 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d xt..------------
4750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4760: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 ---------..POINT
4770: 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 37 20 (1732852.942717
4780: 34 38 31 36 32 37 37 2e 36 31 37 36 39 31 29 0d 4816277.617691).
4790: 0a 0d 0a 53 45 4c 45 43 54 20 53 54 5f 41 73 54 ...SELECT ST_AsT
47a0: 65 78 74 20 28 20 53 54 5f 54 72 61 6e 73 66 6f ext ( ST_Transfo
47b0: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 rm( MakePoint( 1
47c0: 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 1.878056 , 43.46
47d0: 33 30 35 36 2c 20 34 33 32 36 20 29 2c 20 33 30 3056, 4326 ), 30
47e0: 30 33 2c 20 4e 55 4c 4c 2c 20 27 61 75 74 68 5f 03, NULL, 'auth_
47f0: 6e 61 6d 65 3a 61 75 74 68 5f 73 72 69 64 27 29 name:auth_srid')
4800: 29 3b 20 2d 2d 20 53 52 49 44 3d 33 30 30 33 20 ); -- SRID=3003
4810: 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 20 75 - NULL area of u
4820: 73 65 2c 20 69 67 6e 6f 72 69 6e 67 20 73 70 61 se, ignoring spa
4830: 74 69 61 6c 69 74 65 5f 72 65 66 5f 73 79 73 20 tialite_ref_sys
4840: 61 6e 64 20 75 73 69 6e 67 20 74 68 65 20 50 52 and using the PR
4850: 4f 4a 2e 36 20 6f 77 6e 20 70 72 69 76 61 74 65 OJ.6 own private
4860: 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d database..-----
4870: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4880: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4890: 0d 0a 50 4f 49 4e 54 28 31 37 33 32 38 35 32 2e ..POINT(1732852.
48a0: 39 34 32 37 31 37 20 34 38 31 36 32 37 37 2e 36 942717 4816277.6
48b0: 31 37 36 39 31 29 0d 0a 0d 0a 53 45 4c 45 43 54 17691)....SELECT
48c0: 20 53 54 5f 41 73 54 65 78 74 20 28 20 53 54 5f ST_AsText ( ST_
48d0: 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 Transform( MakeP
48e0: 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 oint( 11.878056
48f0: 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 , 43.463056, 432
4900: 36 20 29 2c 20 33 32 36 33 32 29 29 3b 20 2d 2d 6 ), 32632)); --
4910: 20 53 52 49 44 3d 33 32 36 33 32 20 2d 20 64 65 SRID=32632 - de
4920: 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3b 20 fault settings;
4930: 75 73 69 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e using proj-strin
4940: 67 73 20 66 72 6f 6d 20 73 70 61 74 69 61 6c 5f gs from spatial_
4950: 72 65 66 5f 73 79 73 2e 70 72 6f 6a 34 74 65 78 ref_sys.proj4tex
4960: 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t..-------------
4970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4980: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 --------..POINT(
4990: 37 33 32 38 32 31 2e 37 31 38 34 37 35 20 34 38 732821.718475 48
49a0: 31 36 32 36 32 2e 36 33 31 32 34 35 29 0d 0a 0d 16262.631245)...
49b0: 0a 53 45 4c 45 43 54 20 53 54 5f 41 73 54 65 78 .SELECT ST_AsTex
49c0: 74 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d t ( ST_Transform
49d0: 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e ( MakePoint( 11.
49e0: 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 878056 , 43.4630
49f0: 35 36 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 56, 4326 ), 3263
4a00: 32 2c 20 4e 55 4c 4c 2c 20 27 73 72 74 65 78 74 2, NULL, 'srtext
4a10: 27 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 32 36 ')); -- SRID=326
4a20: 33 32 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 32 - NULL area o
4a30: 66 20 75 73 65 2c 20 75 73 69 6e 67 20 49 53 4f f use, using ISO
4a40: 2d 32 30 31 38 20 57 4b 54 20 64 65 66 69 6e 69 -2018 WKT defini
4a50: 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 tions from spati
4a60: 61 6c 5f 72 65 66 5f 73 79 73 2e 73 72 74 65 78 al_ref_sys.srtex
4a70: 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t..-------------
4a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4a90: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 --------..POINT(
4aa0: 37 33 32 38 32 31 2e 37 31 38 34 37 35 20 34 38 732821.718475 48
4ab0: 31 36 32 36 32 2e 36 33 31 32 34 35 29 0d 0a 0d 16262.631245)...
4ac0: 0a 53 45 4c 45 43 54 20 53 54 5f 41 73 54 65 78 .SELECT ST_AsTex
4ad0: 74 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d t ( ST_Transform
4ae0: 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e ( MakePoint( 11.
4af0: 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 878056 , 43.4630
4b00: 35 36 2c 20 34 33 32 36 20 29 2c 20 33 32 36 33 56, 4326 ), 3263
4b10: 32 2c 20 4e 55 4c 4c 2c 20 27 61 75 74 68 5f 6e 2, NULL, 'auth_n
4b20: 61 6d 65 3a 61 75 74 68 5f 73 72 69 64 27 29 29 ame:auth_srid'))
4b30: 3b 20 2d 2d 20 53 52 49 44 3d 33 32 36 33 32 20 ; -- SRID=32632
4b40: 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 20 75 - NULL area of u
4b50: 73 65 2c 20 69 67 6e 6f 72 69 6e 67 20 73 70 61 se, ignoring spa
4b60: 74 69 61 6c 69 74 65 5f 72 65 66 5f 73 79 73 20 tialite_ref_sys
4b70: 61 6e 64 20 75 73 69 6e 67 20 74 68 65 20 50 52 and using the PR
4b80: 4f 4a 2e 36 20 6f 77 6e 20 70 72 69 76 61 74 65 OJ.6 own private
4b90: 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d database..-----
4ba0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4bb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4bc0: 0d 0a 50 4f 49 4e 54 28 37 33 32 38 32 31 2e 37 ..POINT(732821.7
4bd0: 31 38 34 37 35 20 34 38 31 36 32 36 32 2e 36 33 18475 4816262.63
4be0: 31 32 34 35 29 0d 0a 3c 2f 76 65 72 62 61 74 69 1245)..</verbati
4bf0: 6d 3e 0d 0a 54 68 69 73 20 66 69 72 73 74 20 74 m>..This first t
4c00: 65 73 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 est is based on
4c10: 61 20 6e 65 77 20 53 70 61 74 69 61 4c 69 74 65 a new SpatiaLite
4c20: 20 64 61 62 61 73 65 20 63 72 65 61 74 65 64 20 dabase created
4c30: 77 69 74 68 20 66 75 6c 6c 20 50 52 4f 4a 2e 36 with full PROJ.6
4c40: 20 73 75 70 70 6f 72 74 2e 20 41 73 20 79 6f 75 support. As you
4c50: 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 can easily noti
4c60: 63 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 ce:..<ul>..<li>t
4c70: 68 65 20 66 69 72 73 74 20 74 72 61 6e 73 66 6f he first transfo
4c80: 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 53 52 49 rmation from SRI
4c90: 44 3d 34 33 32 36 20 74 6f 20 53 52 49 44 3d 33 D=4326 to SRID=3
4ca0: 30 30 33 20 62 61 73 65 64 20 6f 6e 20 74 72 61 003 based on tra
4cb0: 64 69 74 69 6f 6e 61 6c 20 3c 62 3e 70 72 6f 6a ditional <b>proj
4cc0: 2d 73 74 72 69 6e 67 73 3c 2f 62 3e 20 72 65 74 -strings</b> ret
4cd0: 72 69 65 76 65 64 20 66 72 6f 6d 20 3c 62 3e 73 rieved from <b>s
4ce0: 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 2e 70 patial_ref_sys.p
4cf0: 72 6f 6a 34 74 65 78 74 3c 2f 62 3e 20 72 61 74 roj4text</b> rat
4d00: 68 65 72 20 73 75 72 70 72 69 73 69 6e 67 6c 79 her surprisingly
4d10: 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 64 significantly d
4d20: 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 iffers from the
4d30: 6f 74 68 65 72 20 74 77 6f 20 72 65 73 75 6c 74 other two result
4d40: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 62 75 74 s.</li>..<li>but
4d50: 20 61 6c 6c 20 74 72 61 6e 73 66 6f 72 6d 61 74 all transformat
4d60: 69 6f 6e 73 20 66 72 6f 6d 20 53 52 49 44 3d 34 ions from SRID=4
4d70: 33 32 36 20 74 6f 20 53 52 49 44 3d 33 32 36 33 326 to SRID=3263
4d80: 32 20 72 65 74 75 72 6e 20 69 64 65 6e 74 69 63 2 return identic
4d90: 61 6c 20 72 65 73 75 6c 74 73 2e 3c 2f 6c 69 3e al results.</li>
4da0: 0d 0a 3c 6c 69 3e 74 68 69 73 20 69 73 20 61 20 ..<li>this is a
4db0: 64 69 72 65 63 74 20 63 6f 6e 66 69 72 6d 61 74 direct confirmat
4dc0: 69 6f 6e 20 74 68 61 74 20 73 74 69 6c 6c 20 63 ion that still c
4dd0: 6f 6e 74 69 6e 75 69 6e 67 20 74 6f 20 75 73 65 ontinuing to use
4de0: 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c the traditional
4df0: 20 61 70 70 72 6f 61 63 68 20 6f 66 20 74 72 61 approach of tra
4e00: 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 64 72 69 nsformations dri
4e10: 76 65 6e 20 62 79 20 70 72 6f 6a 2d 73 74 72 69 ven by proj-stri
4e20: 6e 67 73 20 3c 62 3e 3c 75 3e 3c 69 3e 64 65 66 ngs <b><u><i>def
4e30: 69 6e 69 74 65 6c 79 20 69 73 6e 27 74 20 74 68 initely isn't th
4e40: 65 20 6f 70 74 69 6d 61 6c 20 6d 65 74 68 6f 64 e optimal method
4e50: 20 66 6f 72 20 75 73 69 6e 67 20 50 52 4f 4a 2e for using PROJ.
4e60: 36 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3c 2f 6c 6</i></u></b></l
4e70: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c i>..</ul><br>..<
4e80: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
4e90: 54 20 53 54 5f 41 73 54 65 78 74 20 28 20 53 54 T ST_AsText ( ST
4ea0: 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 _Transform( Make
4eb0: 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36 Point( 11.878056
4ec0: 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33 , 43.463056, 43
4ed0: 32 36 20 29 2c 20 33 30 30 33 29 29 3b 20 2d 2d 26 ), 3003)); --
4ee0: 20 53 52 49 44 3d 33 30 30 33 20 2d 20 64 65 66 SRID=3003 - def
4ef0: 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3b 20 75 ault settings; u
4f00: 73 69 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e 67 sing proj-string
4f10: 73 20 66 72 6f 6d 20 73 70 61 74 69 61 6c 5f 72 s from spatial_r
4f20: 65 66 5f 73 79 73 2e 70 72 6f 6a 34 74 65 78 74 ef_sys.proj4text
4f30: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4f50: 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 31 -------..POINT(1
4f60: 37 33 32 38 35 32 2e 39 34 32 37 31 37 20 34 38 732852.942717 48
4f70: 31 36 32 37 37 2e 36 31 37 36 39 31 29 0d 0a 0d 16277.617691)...
4f80: 0a 53 45 4c 45 43 54 20 53 54 5f 41 73 54 65 78 .SELECT ST_AsTex
4f90: 74 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d t ( ST_Transform
4fa0: 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e ( MakePoint( 11.
4fb0: 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 878056 , 43.4630
4fc0: 35 36 2c 20 34 33 32 36 20 29 2c 20 33 30 30 33 56, 4326 ), 3003
4fd0: 2c 20 4e 55 4c 4c 2c 20 27 73 72 74 65 78 74 27 , NULL, 'srtext'
4fe0: 29 29 3b 20 2d 2d 20 53 52 49 44 3d 33 30 30 33 )); -- SRID=3003
4ff0: 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 20 - NULL area of
5000: 75 73 65 2c 20 75 73 69 6e 67 20 49 53 4f 2d 32 use, using ISO-2
5010: 30 31 38 20 57 4b 54 20 64 65 66 69 6e 69 74 69 018 WKT definiti
5020: 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 61 6c ons from spatial
5030: 5f 72 65 66 5f 73 79 73 2e 73 72 74 65 78 74 0d _ref_sys.srtext.
5040: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
5050: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5060: 2d 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 31 37 ------..POINT(17
5070: 33 32 38 35 32 2e 39 34 32 37 31 37 20 34 38 31 32852.942717 481
5080: 36 32 37 37 2e 36 31 37 36 39 31 29 0d 0a 0d 0a 6277.617691)....
5090: 53 45 4c 45 43 54 20 53 54 5f 41 73 54 65 78 74 SELECT ST_AsText
50a0: 20 28 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 ( ST_Transform(
50b0: 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 MakePoint( 11.8
50c0: 37 38 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 78056 , 43.46305
50d0: 36 2c 20 34 33 32 36 20 29 2c 20 33 30 30 33 2c 6, 4326 ), 3003,
50e0: 20 4e 55 4c 4c 2c 20 27 61 75 74 68 5f 6e 61 6d NULL, 'auth_nam
50f0: 65 3a 61 75 74 68 5f 73 72 69 64 27 29 29 3b 20 e:auth_srid'));
5100: 2d 2d 20 53 52 49 44 3d 33 30 30 33 20 2d 20 4e -- SRID=3003 - N
5110: 55 4c 4c 20 61 72 65 61 20 6f 66 20 75 73 65 2c ULL area of use,
5120: 20 69 67 6e 6f 72 69 6e 67 20 73 70 61 74 69 61 ignoring spatia
5130: 6c 69 74 65 5f 72 65 66 5f 73 79 73 20 61 6e 64 lite_ref_sys and
5140: 20 75 73 69 6e 67 20 74 68 65 20 50 52 4f 4a 2e using the PROJ.
5150: 36 20 6f 77 6e 20 70 72 69 76 61 74 65 20 64 61 6 own private da
5160: 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d tabase..--------
5170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 -------------..P
5190: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32 OINT(1732852.942
51a0: 37 31 37 20 34 38 31 36 32 37 37 2e 36 31 37 36 717 4816277.6176
51b0: 39 31 29 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 54 91)....SELECT ST
51c0: 5f 41 73 54 65 78 74 20 28 20 53 54 5f 54 72 61 _AsText ( ST_Tra
51d0: 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 6e nsform( MakePoin
51e0: 74 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 34 t( 11.878056 , 4
51f0: 33 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 29 3.463056, 4326 )
5200: 2c 20 33 32 36 33 32 29 29 3b 20 2d 2d 20 53 52 , 32632)); -- SR
5210: 49 44 3d 33 32 36 33 32 20 2d 20 64 65 66 61 75 ID=32632 - defau
5220: 6c 74 20 73 65 74 74 69 6e 67 73 3b 20 75 73 69 lt settings; usi
5230: 6e 67 20 70 72 6f 6a 2d 73 74 72 69 6e 67 73 20 ng proj-strings
5240: 66 72 6f 6d 20 73 70 61 74 69 61 6c 5f 72 65 66 from spatial_ref
5250: 5f 73 79 73 2e 70 72 6f 6a 34 74 65 78 74 0d 0a _sys.proj4text..
5260: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5270: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5280: 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 37 33 32 -----..POINT(732
5290: 38 32 31 2e 37 31 38 34 37 35 20 34 38 31 36 32 821.718475 48162
52a0: 36 32 2e 36 33 31 32 34 35 29 0d 0a 0d 0a 53 45 62.631245)....SE
52b0: 4c 45 43 54 20 53 54 5f 41 73 54 65 78 74 20 28 LECT ST_AsText (
52c0: 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d ST_Transform( M
52d0: 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 akePoint( 11.878
52e0: 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 056 , 43.463056,
52f0: 20 34 33 32 36 20 29 2c 20 33 32 36 33 32 2c 20 4326 ), 32632,
5300: 4e 55 4c 4c 2c 20 27 73 72 74 65 78 74 27 29 29 NULL, 'srtext'))
5310: 3b 20 2d 2d 20 53 52 49 44 3d 33 32 36 33 32 20 ; -- SRID=32632
5320: 2d 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 20 75 - NULL area of u
5330: 73 65 2c 20 75 73 69 6e 67 20 49 53 4f 2d 32 30 se, using ISO-20
5340: 31 38 20 57 4b 54 20 64 65 66 69 6e 69 74 69 6f 18 WKT definitio
5350: 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 61 6c 5f ns from spatial_
5360: 72 65 66 5f 73 79 73 2e 73 72 74 65 78 74 0d 0a ref_sys.srtext..
5370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5390: 2d 2d 2d 2d 2d 0d 0a 50 4f 49 4e 54 28 37 33 32 -----..POINT(732
53a0: 38 32 31 2e 37 31 38 34 37 35 20 34 38 31 36 32 821.718475 48162
53b0: 36 32 2e 36 33 31 32 34 35 29 0d 0a 0d 0a 53 45 62.631245)....SE
53c0: 4c 45 43 54 20 53 54 5f 41 73 54 65 78 74 20 28 LECT ST_AsText (
53d0: 20 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d ST_Transform( M
53e0: 61 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 akePoint( 11.878
53f0: 30 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 056 , 43.463056,
5400: 20 34 33 32 36 20 29 2c 20 33 32 36 33 32 2c 20 4326 ), 32632,
5410: 4e 55 4c 4c 2c 20 27 61 75 74 68 5f 6e 61 6d 65 NULL, 'auth_name
5420: 3a 61 75 74 68 5f 73 72 69 64 27 29 29 3b 20 2d :auth_srid')); -
5430: 2d 20 53 52 49 44 3d 33 32 36 33 32 20 2d 20 4e - SRID=32632 - N
5440: 55 4c 4c 20 61 72 65 61 20 6f 66 20 75 73 65 2c ULL area of use,
5450: 20 69 67 6e 6f 72 69 6e 67 20 73 70 61 74 69 61 ignoring spatia
5460: 6c 69 74 65 5f 72 65 66 5f 73 79 73 20 61 6e 64 lite_ref_sys and
5470: 20 75 73 69 6e 67 20 74 68 65 20 50 52 4f 4a 2e using the PROJ.
5480: 36 20 6f 77 6e 20 70 72 69 76 61 74 65 20 64 61 6 own private da
5490: 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d tabase..--------
54a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
54b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 50 -------------..P
54c0: 4f 49 4e 54 28 37 33 32 38 32 31 2e 37 31 38 34 OINT(732821.7184
54d0: 37 35 20 34 38 31 36 32 36 32 2e 36 33 31 32 34 75 4816262.63124
54e0: 35 29 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 5)..</verbatim>.
54f0: 0a 54 68 69 73 20 73 65 63 6f 6e 64 20 74 65 73 .This second tes
5500: 74 20 69 73 20 62 61 73 65 64 20 69 6e 73 74 65 t is based inste
5510: 61 64 20 6f 6e 20 61 20 6c 65 67 61 63 79 20 53 ad on a legacy S
5520: 70 61 74 69 61 4c 69 74 65 20 64 61 74 61 62 61 patiaLite databa
5530: 73 65 20 63 72 65 61 74 65 64 20 62 79 20 73 6f se created by so
5540: 6d 65 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 me earlier versi
5550: 6f 6e 20 6c 61 63 6b 69 6e 67 20 50 52 4f 4a 2e on lacking PROJ.
5560: 36 20 73 75 70 70 6f 72 74 2e 3c 62 72 3e 0d 0a 6 support.<br>..
5570: 49 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 In this specific
5580: 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 6e case there is n
5590: 6f 20 64 69 66 66 65 72 65 6e 63 65 20 69 6e 20 o difference in
55a0: 74 68 65 20 72 65 73 75 6c 74 73 20 72 65 74 75 the results retu
55b0: 72 6e 65 64 20 62 79 20 64 69 66 66 65 72 65 6e rned by differen
55c0: 74 20 6d 65 74 68 6f 64 73 2e 3c 62 72 3e 3c 62 t methods.<br><b
55d0: 72 3e 0d 0a 3c 62 3e 3c 75 3e 4d 69 73 74 65 72 r>..<b><u>Mister
55e0: 79 20 75 6e 76 65 69 6c 65 64 3c 2f 75 3e 3c 2f y unveiled</u></
55f0: 62 3e 3a 20 6a 75 73 74 20 61 20 71 75 69 63 6b b>: just a quick
5600: 20 67 6c 61 6e 63 65 20 74 6f 20 74 68 65 20 6f glance to the o
5610: 6c 64 20 61 6e 64 20 6e 65 77 20 3c 62 3e 70 72 ld and new <b>pr
5620: 6f 6a 2d 73 74 72 69 6e 67 73 3c 2f 62 3e 3a 0d oj-strings</b>:.
5630: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 52 49 44 3d .<ul>..<li>SRID=
5640: 33 30 30 33 20 70 72 6f 6a 2d 73 74 72 69 6e 67 3003 proj-string
5650: 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 6f as defined by o
5660: 6c 64 20 50 52 4f 4a 2e 34 3a 0d 0a 3c 75 6c 3e ld PROJ.4:..<ul>
5670: 0d 0a 3c 6c 69 3e 3c 62 3e 2b 70 72 6f 6a 3d 74 ..<li><b>+proj=t
5680: 6d 65 72 63 20 2b 6c 61 74 5f 30 3d 30 20 2b 6c merc +lat_0=0 +l
5690: 6f 6e 5f 30 3d 39 20 2b 6b 3d 30 2e 39 39 39 36 on_0=9 +k=0.9996
56a0: 20 2b 78 5f 30 3d 31 35 30 30 30 30 30 20 2b 79 +x_0=1500000 +y
56b0: 5f 30 3d 30 20 2b 65 6c 6c 70 73 3d 69 6e 74 6c _0=0 +ellps=intl
56c0: 20 2b 74 6f 77 67 73 38 34 3d 2d 31 30 34 2e 31 +towgs84=-104.1
56d0: 2c 2d 34 39 2e 31 2c 2d 39 2e 39 2c 30 2e 39 37 ,-49.1,-9.9,0.97
56e0: 31 2c 2d 32 2e 39 31 37 2c 30 2e 37 31 34 2c 2d 1,-2.917,0.714,-
56f0: 31 31 2e 36 38 20 2b 75 6e 69 74 73 3d 6d 20 2b 11.68 +units=m +
5700: 6e 6f 5f 64 65 66 73 3c 2f 62 3e 3c 2f 6c 69 3e no_defs</b></li>
5710: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
5720: 69 3e 53 52 49 44 3d 33 30 30 33 20 70 72 6f 6a i>SRID=3003 proj
5730: 2d 73 74 72 69 6e 67 20 61 73 20 64 65 66 69 6e -string as defin
5740: 65 64 20 62 79 20 6e 65 77 20 50 52 4f 4a 2e 36 ed by new PROJ.6
5750: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
5760: 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74 +proj=tmerc +lat
5770: 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b _0=0 +lon_0=9 +k
5780: 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30 =0.9996 +x_0=150
5790: 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 6c 0000 +y_0=0 +ell
57a0: 70 73 3d 69 6e 74 6c 20 2b 75 6e 69 74 73 3d 6d ps=intl +units=m
57b0: 20 2b 6e 6f 5f 64 65 66 73 20 2b 74 79 70 65 3d +no_defs +type=
57c0: 63 72 73 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f crs</b></li>..</
57d0: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 41 73 20 79 6f 75 ul></li>..As you
57e0: 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 can easily noti
57f0: 63 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 ce, there is no
5800: 3c 62 3e 2b 74 6f 77 67 73 38 34 3c 2f 62 3e 20 <b>+towgs84</b>
5810: 74 65 72 6d 20 64 65 66 69 6e 65 64 20 69 6e 20 term defined in
5820: 6e 65 77 20 50 52 4f 4a 2e 36 2c 20 61 6e 64 20 new PROJ.6, and
5830: 74 68 69 73 20 66 75 6c 6c 79 20 65 78 70 6c 61 this fully expla
5840: 69 6e 73 20 61 6c 6c 2e 0d 0a 3c 2f 75 6c 3e 0d ins all...</ul>.
5850: 0a 3c 68 33 3e 4e 65 77 20 61 75 78 69 6c 69 61 .<h3>New auxilia
5860: 72 79 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 ry SQL functions
5870: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 73 75 specifically su
5880: 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 3c pporting PROJ.6<
5890: 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c /h3>..<table cel
58a0: 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c lspacing="8" cel
58b0: 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 63 lpadding="8" bgc
58c0: 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 62 olor="#e8ffe8" b
58d0: 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e order="1">..<tr>
58e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 <th bgcolor="#ff
58f0: 62 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74 69 b03e">SQL Functi
5900: 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c on</th><th bgcol
5910: 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 53 75 70 or="#ffb03e">Sup
5920: 70 6f 72 74 65 64 20 61 72 67 75 6d 65 6e 74 73 ported arguments
5930: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
5940: 3d 22 23 66 66 62 30 33 65 22 3e 44 65 73 63 72 ="#ffb03e">Descr
5950: 69 70 74 69 6f 6e 3c 2f 74 68 3e 3c 2f 74 72 3e iption</th></tr>
5960: 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 48 61 73 ..<tr><td><b>Has
5970: 50 72 6f 6a 36 3c 2f 62 3e 28 20 3c 69 3e 76 6f Proj6</b>( <i>vo
5980: 69 64 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 42 6f id</i> ) : <i>Bo
5990: 6f 6c 65 61 6e 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a olean</i></td>..
59a0: 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a 3c <td>None</td>..<
59b0: 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 3c td>Will return <
59c0: 62 3e 31 3c 2f 62 3e 20 28 3c 62 3e 54 52 55 45 b>1</b> (<b>TRUE
59d0: 3c 2f 62 3e 29 20 69 66 20 74 68 65 20 6c 69 62 </b>) if the lib
59e0: 72 61 72 79 20 68 61 73 20 62 65 65 6e 20 62 75 rary has been bu
59f0: 69 6c 74 20 6f 6e 20 3c 62 3e 50 52 4f 4a 2e 36 ilt on <b>PROJ.6
5a00: 3c 2f 62 3e 20 28 6f 72 20 61 6e 79 20 6c 61 74 </b> (or any lat
5a10: 65 72 20 76 65 72 73 69 6f 6e 29 2c 20 6f 74 68 er version), oth
5a20: 65 72 77 69 73 65 20 3c 62 3e 30 3c 2f 62 3e 20 erwise <b>0</b>
5a30: 28 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 29 2e 3c (<b>FALSE</b>).<
5a40: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c /td></tr>..<tr><
5a50: 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 65 74 4c 61 td><b>PROJ_GetLa
5a60: 73 74 45 72 72 6f 72 4d 73 67 3c 2f 62 3e 28 20 stErrorMsg</b>(
5a70: 3c 69 3e 76 6f 69 64 3c 2f 69 3e 20 29 20 3a 20 <i>void</i> ) :
5a80: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74 <i>String</i></t
5a90: 64 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 d>..<td>None</td
5aa0: 3e 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 >..<td>Will retu
5ab0: 72 6e 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 rn the most rece
5ac0: 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 nt error message
5ad0: 20 72 65 74 75 72 6e 65 64 20 62 79 20 50 52 4f returned by PRO
5ae0: 4a 20 28 69 66 20 61 6e 79 29 2e 3c 62 72 3e 0d J (if any).<br>.
5af0: 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c .<b>NULL</b> wil
5b00: 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 66 l be returned if
5b10: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 75 72 there is no cur
5b20: 65 6e 74 6c 79 20 70 65 6e 64 69 6e 67 20 50 52 ently pending PR
5b30: 4f 4a 20 65 72 72 6f 72 2e 3c 2f 74 64 3e 3c 2f OJ error.</td></
5b40: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e tr>..<tr><td><b>
5b50: 50 52 4f 4a 5f 47 65 74 44 61 74 61 62 61 73 65 PROJ_GetDatabase
5b60: 50 61 74 68 3c 2f 62 3e 28 20 3c 69 3e 76 6f 69 Path</b>( <i>voi
5b70: 64 3c 2f 69 3e 20 3a 20 3c 69 3e 53 74 72 69 6e d</i> : <i>Strin
5b80: 67 3c 2f 69 3e 29 3c 2f 74 64 3e 0d 0a 3c 74 64 g</i>)</td>..<td
5b90: 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a 3c 74 64 3e >None</td>..<td>
5ba0: 57 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 Will return the
5bb0: 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 70 61 currently set pa
5bc0: 74 68 6e 61 6d 65 20 6c 65 61 64 69 6e 67 20 74 thname leading t
5bd0: 6f 20 74 68 65 20 70 72 69 76 61 74 65 20 50 52 o the private PR
5be0: 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 61 OJ's SQLite data
5bf0: 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 base.<br>..<b>NU
5c00: 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 LL</b> will be r
5c10: 65 74 75 72 6e 65 64 20 69 66 20 74 68 65 72 65 eturned if there
5c20: 20 69 73 20 6e 6f 20 70 72 69 76 61 74 65 20 50 is no private P
5c30: 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 ROJ's SQLite dat
5c40: 61 62 61 73 65 20 63 75 72 72 65 6e 74 6c 79 20 abase currently
5c50: 63 6f 6e 6e 65 63 74 65 64 2e 3c 2f 74 64 3e 3c connected.</td><
5c60: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 /tr>..<tr><td><b
5c70: 3e 50 52 4f 4a 5f 53 65 74 44 61 74 61 62 61 73 >PROJ_SetDatabas
5c80: 65 50 61 74 68 3c 2f 62 3e 20 28 20 6e 65 77 5f ePath</b> ( new_
5c90: 70 61 74 68 20 3c 69 3e 53 74 72 69 6e 67 3c 2f path <i>String</
5ca0: 69 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 i> ) : <i>String
5cb0: 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d </i></td>..<td>.
5cc0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 65 .<ul>..<li><b>ne
5cd0: 77 5f 70 61 74 68 3c 2f 62 3e 3a 20 61 20 72 65 w_path</b>: a re
5ce0: 6c 61 74 69 76 65 20 6f 72 20 61 62 73 6f 6c 75 lative or absolu
5cf0: 74 65 20 70 61 74 68 6e 61 6d 65 20 6c 65 61 64 te pathname lead
5d00: 69 6e 67 20 74 6f 20 61 20 76 61 6c 69 64 20 50 ing to a valid P
5d10: 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 ROJ's SQLite dat
5d20: 61 62 61 73 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 abase.</li>..</u
5d30: 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 69 6c l></td>..<td>Wil
5d40: 6c 20 63 68 61 6e 67 65 20 74 68 65 20 63 75 72 l change the cur
5d50: 72 65 6e 74 6c 79 20 73 65 74 20 70 61 74 68 6e rently set pathn
5d60: 61 6d 65 20 6c 65 61 64 69 6e 67 20 74 6f 20 74 ame leading to t
5d70: 68 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 he private PROJ'
5d80: 73 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 s SQLite databas
5d90: 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c e.<br>..<b>NULL<
5da0: 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 /b> will be retu
5db0: 72 6e 65 64 20 69 66 20 74 68 65 20 70 61 73 73 rned if the pass
5dc0: 65 64 20 70 61 74 68 20 69 73 20 69 6e 76 61 6c ed path is inval
5dd0: 69 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 id, otherwise th
5de0: 65 20 70 61 74 68 20 6f 66 20 74 68 65 20 63 75 e path of the cu
5df0: 72 72 65 6e 74 6c 79 20 73 65 74 20 70 72 69 76 rrently set priv
5e00: 61 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 ate PROJ's SQLit
5e10: 65 20 64 61 74 61 62 61 73 65 20 77 69 6c 6c 20 e database will
5e20: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 74 64 be returned.</td
5e30: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e ></tr>..<tr><td>
5e40: 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 <b>PROJ_AsWKT</b
5e50: 3e 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 > ( auth_name <i
5e60: 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 >String</i> , au
5e70: 74 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 th_srid <i>Integ
5e80: 65 72 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 74 er</i> ) : <i>St
5e90: 72 69 6e 67 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 ring</i><hr>..<b
5ea0: 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 3e 20 >PROJ_AsWKT</b>
5eb0: 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 ( auth_name <i>S
5ec0: 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 68 tring</i> , auth
5ed0: 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 _srid <i>Integer
5ee0: 3c 2f 69 3e 20 2c 20 77 6b 74 5f 73 74 79 6c 65 </i> , wkt_style
5ef0: 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 <i>String</i> )
5f00: 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e : <i>String</i>
5f10: 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 73 <hr>..<b>PROJ_As
5f20: 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 5f 6e WKT</b> ( auth_n
5f30: 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ame <i>String</i
5f40: 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 20 3c 69 > , auth_srid <i
5f50: 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 77 >Integer</i> , w
5f60: 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 72 69 kt_style <i>Stri
5f70: 6e 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 65 ng</i> , indente
5f80: 64 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e d <i>Boolean</i>
5f90: 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f ) : <i>String</
5fa0: 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f i><hr>..<b>PROJ_
5fb0: 41 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 AsWKT</b> ( auth
5fc0: 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c _name <i>String<
5fd0: 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 20 /i> , auth_srid
5fe0: 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c <i>Integer</i> ,
5ff0: 20 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 wkt_style <i>St
6000: 72 69 6e 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e ring</i> , inden
6010: 74 65 64 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f ted <i>Boolean</
6020: 69 3e 20 2c 20 69 6e 64 65 6e 74 61 74 69 6f 6e i> , indentation
6030: 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 <i>Integer</i>
6040: 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ) : <i>String</i
6050: 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e ></td>..<td><ul>
6060: 0d 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f 6e 61 ..<li><b>auth_na
6070: 6d 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 61 75 me</b> and <b>au
6080: 74 68 5f 73 72 69 64 3c 2f 62 3e 20 69 64 65 6e th_srid</b> iden
6090: 74 69 66 79 20 74 68 65 20 69 6e 74 65 6e 64 65 tify the intende
60a0: 64 20 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 61 d CRS.<br>..<b>a
60b0: 75 74 68 5f 6e 61 6d 65 3c 2f 62 3e 20 63 61 6e uth_name</b> can
60c0: 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c be <b>NULL</b>,
60d0: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 and in this cas
60e0: 65 20 3c 62 3e 45 50 53 47 3c 2f 62 3e 20 77 69 e <b>EPSG</b> wi
60f0: 6c 6c 20 62 65 20 61 73 73 75 6d 65 64 2e 3c 2f ll be assumed.</
6100: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 li>..<li>the opt
6110: 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c ional argument <
6120: 62 3e 73 74 79 6c 65 3c 2f 62 3e 20 64 65 74 65 b>style</b> dete
6130: 72 6d 69 6e 65 73 20 77 68 69 63 68 20 73 70 65 rmines which spe
6140: 63 69 66 69 63 20 57 4b 54 20 66 6f 72 6d 61 74 cific WKT format
6150: 20 73 68 6f 75 6c 64 20 62 65 20 61 64 6f 70 74 should be adopt
6160: 65 64 2c 20 61 6e 64 20 6d 75 73 74 20 62 65 20 ed, and must be
6170: 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 62 3e 47 one between <b>G
6180: 44 41 4c 3c 2f 62 3e 2c 20 3c 62 3e 45 53 52 49 DAL</b>, <b>ESRI
6190: 3c 2f 62 3e 2c 20 3c 62 3e 49 53 4f 2d 32 30 31 </b>, <b>ISO-201
61a0: 35 3c 2f 62 3e 20 6f 72 20 3c 62 3e 49 53 4f 2d 5</b> or <b>ISO-
61b0: 32 30 31 38 3c 2f 62 3e 20 28 74 68 69 73 20 6c 2018</b> (this l
61c0: 61 74 74 65 72 20 62 65 69 6e 67 20 74 68 65 20 atter being the
61d0: 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 29 default setting)
61e0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 .</li>..<li>the
61f0: 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e optional argumen
6200: 74 20 3c 62 3e 69 6e 64 65 6e 74 65 64 3c 2f 62 t <b>indented</b
6210: 3e 20 69 66 20 73 65 74 20 74 6f 20 3c 62 3e 54 > if set to <b>T
6220: 52 55 45 3c 2f 62 3e 20 77 69 6c 6c 20 6e 69 63 RUE</b> will nic
6230: 65 6c 79 20 66 6f 72 6d 61 74 20 61 20 6d 75 6c ely format a mul
6240: 74 69 6c 69 6e 65 20 57 4b 54 20 65 78 70 72 65 tiline WKT expre
6250: 73 73 69 6f 6e 2c 20 6f 74 68 65 72 77 69 73 65 ssion, otherwise
6260: 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 a single monoli
6270: 74 68 69 63 20 6c 69 6e 65 20 6c 61 63 6b 69 6e thic line lackin
6280: 67 20 61 6e 79 20 77 68 69 74 65 2d 73 70 61 63 g any white-spac
6290: 65 20 6f 72 20 6e 65 77 2d 6c 69 6e 65 20 77 69 e or new-line wi
62a0: 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 28 74 ll be printed (t
62b0: 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 3c 62 he default is <b
62c0: 3e 54 52 55 45 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e >TRUE</b>).</li>
62d0: 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e ..<li>the option
62e0: 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e 69 al argument <b>i
62f0: 6e 64 65 6e 74 61 74 69 6f 6e 3c 2f 62 3e 20 64 ndentation</b> d
6300: 65 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 6d 61 etermines how ma
6310: 6e 79 20 77 68 69 74 65 2d 73 70 61 63 65 73 20 ny white-spaces
6320: 61 72 65 20 74 6f 20 62 65 20 75 73 65 64 20 66 are to be used f
6330: 6f 72 20 69 6e 64 65 6e 74 69 6e 67 20 28 6f 6e or indenting (on
6340: 6c 79 20 6d 65 61 6e 69 6e 67 66 75 6c 20 69 66 ly meaningful if
6350: 20 3c 62 3e 3c 69 3e 69 6e 64 65 6e 74 65 64 3d <b><i>indented=
6360: 54 52 55 45 3c 2f 69 3e 3c 2f 62 3e 3b 20 74 68 TRUE</i></b>; th
6370: 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 e default values
6380: 20 69 73 20 3c 62 3e 34 3c 2f 62 3e 29 2e 3c 2f is <b>4</b>).</
6390: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d li>..</ul></td>.
63a0: 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e .<td>Will return
63b0: 20 74 68 65 20 57 4b 54 20 65 78 70 72 65 73 73 the WKT express
63c0: 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e ion correspondin
63d0: 67 20 74 6f 20 61 20 67 69 76 65 6e 20 43 52 53 g to a given CRS
63e0: 3b 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e ; the definition
63f0: 73 20 77 69 6c 6c 20 62 65 20 74 61 6b 65 6e 20 s will be taken
6400: 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 74 68 directly from th
6410: 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 73 e private PROJ's
6420: 20 6f 77 6e 20 64 61 74 61 62 61 73 65 2e 3c 62 own database.<b
6430: 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 r>..<b>NULL</b>
6440: 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 will be returned
6450: 20 6f 6e 20 66 61 69 6c 75 72 65 20 6f 72 20 6f on failure or o
6460: 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 n invalid argume
6470: 6e 74 73 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a nts.</td></tr>..
6480: 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f <tr><td><b>PROJ_
6490: 47 75 65 73 73 53 72 69 64 46 72 6f 6d 57 4b 54 GuessSridFromWKT
64a0: 3c 2f 62 3e 20 28 20 77 6b 74 5f 65 78 70 72 20 </b> ( wkt_expr
64b0: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 <i>String</i> )
64c0: 3a 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e : <i>Integer</i>
64d0: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d </td>..<td><ul>.
64e0: 0a 3c 6c 69 3e 3c 62 3e 77 6b 74 5f 65 78 70 72 .<li><b>wkt_expr
64f0: 3c 2f 62 3e 3a 20 74 68 65 20 57 4b 54 20 65 78 </b>: the WKT ex
6500: 70 72 65 73 73 69 6f 6e 20 74 6f 20 62 65 20 65 pression to be e
6510: 76 61 6c 75 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a valuated.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e </ul></td>..<td>
6530: 0d 0a 57 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 ..Will possibly
6540: 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 53 52 return the <b>SR
6550: 49 44 20 76 61 6c 75 65 3c 2f 62 3e 20 63 6f 72 ID value</b> cor
6560: 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 20 responding to a
6570: 67 69 76 65 6e 20 57 4b 54 20 65 78 70 72 65 73 given WKT expres
6580: 73 69 6f 6e 20 64 65 66 69 6e 69 6e 67 20 61 20 sion defining a
6590: 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 3c CRS.<br>..<b>-1<
65a0: 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 /b> will be retu
65b0: 72 6e 65 64 20 69 66 20 6e 6f 20 43 52 53 20 73 rned if no CRS s
65c0: 75 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a upported by PROJ
65d0: 2e 36 20 6d 61 74 63 68 65 73 20 74 68 65 20 57 .6 matches the W
65e0: 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 62 KT expression.<b
65f0: 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 r>..<b>NULL</b>
6600: 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 will be returned
6610: 20 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 on invalid argu
6620: 6d 65 6e 74 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 ment...</td></tr
6630: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 >..<tr><td><b>PR
6640: 4f 4a 5f 47 75 65 73 73 53 72 69 64 46 72 6f 6d OJ_GuessSridFrom
6650: 53 48 50 3c 2f 62 3e 20 28 20 66 69 6c 65 6e 61 SHP</b> ( filena
6660: 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e me <i>String</i>
6670: 20 29 20 3a 20 3c 69 3e 49 6e 74 65 67 65 72 3c ) : <i>Integer<
6680: 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 /i></td>..<td><u
6690: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 66 69 6c 65 6e l>..<li><b>filen
66a0: 61 6d 65 3c 2f 62 3e 3a 20 74 68 65 20 61 62 73 ame</b>: the abs
66b0: 6f 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 76 olute or relativ
66c0: 65 20 70 61 74 68 20 6c 65 61 64 69 6e 67 20 74 e path leading t
66d0: 6f 20 73 6f 6d 65 20 53 68 61 70 65 66 69 6c 65 o some Shapefile
66e0: 2e 3c 62 72 3e 0d 0a 4e 6f 74 65 3a 20 65 78 61 .<br>..Note: exa
66f0: 63 74 6c 65 79 20 61 73 20 72 65 71 75 69 72 65 ctley as require
6700: 64 20 62 79 20 3c 62 3e 3c 69 3e 49 6d 70 6f 72 d by <b><i>Impor
6710: 74 53 48 50 3c 2f 69 3e 3c 2f 62 3e 28 29 20 3c tSHP</i></b>() <
6720: 62 3e 3c 69 3e 66 69 6c 65 6e 61 6d 65 3c 2f 69 b><i>filename</i
6730: 3e 3c 2f 62 3e 20 6d 75 73 74 20 6f 6d 69 74 20 ></b> must omit
6740: 61 6e 79 20 3c 62 3e 2e 73 68 70 3c 2f 62 3e 2c any <b>.shp</b>,
6750: 20 3c 62 3e 2e 73 68 78 3c 2f 62 3e 2c 20 3c 62 <b>.shx</b>, <b
6760: 3e 2e 64 62 66 3c 2f 62 3e 20 6f 72 20 3c 62 3e >.dbf</b> or <b>
6770: 2e 70 72 6a 3c 2f 62 3e 20 73 75 66 66 69 78 2e .prj</b> suffix.
6780: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 </li>..</ul></td
6790: 3e 0d 0a 3c 74 64 3e 0d 0a 57 69 6c 6c 20 70 6f >..<td>..Will po
67a0: 73 73 69 62 6c 79 20 72 65 74 75 72 6e 20 74 68 ssibly return th
67b0: 65 20 3c 62 3e 53 52 49 44 20 76 61 6c 75 65 3c e <b>SRID value<
67c0: 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e /b> correspondin
67d0: 67 20 74 6f 20 74 68 65 20 43 52 53 20 64 65 66 g to the CRS def
67e0: 69 6e 65 64 20 62 79 20 74 68 65 20 2e 50 52 4a ined by the .PRJ
67f0: 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 53 member of the S
6800: 68 61 70 65 66 69 6c 65 2e 3c 62 72 3e 0d 0a 3c hapefile.<br>..<
6810: 62 3e 2d 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 b>-1</b> will be
6820: 20 72 65 74 75 72 6e 65 64 20 69 66 20 6e 6f 20 returned if no
6830: 43 52 53 20 73 75 70 70 6f 72 74 65 64 20 62 79 CRS supported by
6840: 20 50 52 4f 4a 2e 36 20 6d 61 74 63 68 65 73 20 PROJ.6 matches
6850: 50 52 4a 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 PRJ member of th
6860: 65 20 53 68 61 70 65 66 69 6c 65 2e 3c 62 72 3e e Shapefile.<br>
6870: 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 ..<b>NULL</b> wi
6880: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 6f ll be returned o
6890: 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 n invalid argume
68a0: 6e 74 2e 3c 68 72 3e 0d 0a 3c 75 3e 50 6c 65 61 nt.<hr>..<u>Plea
68b0: 73 65 20 6e 6f 74 65 20 77 65 6c 6c 3c 2f 75 3e se note well</u>
68c0: 3a 20 74 68 69 73 20 53 51 4c 20 66 75 6e 63 74 : this SQL funct
68d0: 69 6f 6e 20 6f 70 65 6e 64 20 74 68 65 20 64 6f ion opend the do
68e0: 6f 72 20 74 6f 20 6d 61 6e 79 20 70 6f 74 65 6e or to many poten
68f0: 74 69 61 6c 20 73 65 63 75 72 69 74 79 20 69 73 tial security is
6900: 73 75 65 73 2c 20 61 6e 64 20 74 68 75 73 20 69 sues, and thus i
6910: 73 20 61 6c 77 61 79 73 20 3c 69 3e 64 69 73 61 s always <i>disa
6920: 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 3c bled by default<
6930: 2f 69 3e 2e 3c 62 72 3e 0d 0a 45 78 70 6c 69 63 /i>.<br>..Explic
6940: 69 74 6c 79 20 73 65 74 74 69 6e 67 20 74 68 65 itly setting the
6950: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 environment var
6960: 69 61 62 6c 65 20 3c 62 3e 53 50 41 54 49 41 4c iable <b>SPATIAL
6970: 49 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c ITE_SECURITY=rel
6980: 61 78 65 64 3c 2f 62 3e 20 69 73 20 61 62 73 6f axed</b> is abso
6990: 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 20 lutely required
69a0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 61 62 in order to enab
69b0: 6c 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e le this function
69c0: 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c ...</td></tr>..<
69d0: 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 74 61 /table><br>..<ta
69e0: 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d ble cellspacing=
69f0: 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "8" cellpadding=
6a00: 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 "16" bgcolor="#f
6a10: 66 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 64 fffe9">..<tr><td
6a20: 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 >..<b><u>Note</u
6a30: 3e 3c 2f 62 3e 3a 20 61 6c 6c 20 74 68 65 20 61 ></b>: all the a
6a40: 62 6f 76 65 20 53 51 4c 20 46 75 6e 63 74 69 6f bove SQL Functio
6a50: 6e 73 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c ns will be avail
6a60: 61 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 53 able only when S
6a70: 70 61 74 69 61 6c 69 74 65 2d 35 2e 30 2e 30 20 patialite-5.0.0
6a80: 68 61 73 20 62 65 65 6e 20 62 75 69 6c 74 20 61 has been built a
6a90: 67 61 69 6e 73 74 20 3c 62 3e 50 52 4f 4a 2e 36 gainst <b>PROJ.6
6aa0: 3c 2f 62 3e 20 28 6f 72 20 61 6e 79 20 73 75 62 </b> (or any sub
6ab0: 73 65 71 75 65 6e 74 20 76 65 72 73 69 6f 6e 29 sequent version)
6ac0: 2e 3c 62 72 3e 0d 0a 49 66 20 53 70 61 74 69 61 .<br>..If Spatia
6ad0: 4c 69 74 65 2d 35 2e 30 2e 30 20 68 61 73 20 62 Lite-5.0.0 has b
6ae0: 65 65 6e 20 62 75 69 6c 74 20 69 6e 73 74 65 61 een built instea
6af0: 64 20 61 67 61 69 6e 73 74 20 61 6e 79 20 70 72 d against any pr
6b00: 65 76 69 6f 73 75 73 20 76 65 72 73 69 6f 6e 20 eviosus version
6b10: 28 61 73 20 65 2e 67 2e 20 3c 62 3e 50 52 4f 4a (as e.g. <b>PROJ
6b20: 2e 34 3c 2f 62 3e 29 20 61 6e 79 20 61 74 74 65 .4</b>) any atte
6b30: 6d 70 74 20 74 6f 20 63 61 6c 6c 20 6f 6e 65 20 mpt to call one
6b40: 6f 66 20 74 68 65 73 65 20 53 51 4c 20 46 75 6e of these SQL Fun
6b50: 63 74 69 6f 6e 73 20 77 69 6c 6c 20 73 69 6d 70 ctions will simp
6b60: 6c 79 20 72 65 74 75 72 6e 20 61 20 3c 62 3e 3c ly return a <b><
6b70: 69 3e 3c 75 3e 6e 6f 20 73 75 63 68 20 66 75 6e i><u>no such fun
6b80: 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 3c 2f 62 ction</u></i></b
6b90: 3e 20 53 51 4c 20 65 72 72 6f 72 2e 0d 0a 3c 2f > SQL error...</
6ba0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c td></tr>..</tabl
6bb0: 65 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 72 61 63 74 e><br>..<b>Pract
6bc0: 69 63 61 6c 20 65 78 61 6d 70 6c 65 73 3a 3c 2f ical examples:</
6bd0: 62 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a b>..<verbatim>..
6be0: 53 45 4c 45 43 54 20 50 52 4f 4a 5f 47 65 74 44 SELECT PROJ_GetD
6bf0: 61 74 61 62 61 73 65 50 61 74 68 28 29 3b 20 20 atabasePath();
6c00: 2d 2d 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 -- retrieving th
6c10: 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 e currently set
6c20: 50 52 4f 4a 27 73 20 6f 77 6e 20 64 61 74 61 62 PROJ's own datab
6c30: 61 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ase..-----------
6c40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6c50: 2d 2d 2d 0d 0a 2f 75 73 72 2f 6c 6f 63 61 6c 2f ---../usr/local/
6c60: 73 68 61 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e share/proj/proj.
6c70: 64 62 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f db....SELECT PRO
6c80: 4a 5f 53 65 74 44 61 74 61 62 61 73 65 50 61 74 J_SetDatabasePat
6c90: 68 28 27 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f h('/home/sandro/
6ca0: 6e 6f 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f not_existing_pro
6cb0: 6a 2e 64 62 27 29 3b 20 2d 2d 20 6e 6f 6e 20 65 j.db'); -- non e
6cc0: 78 69 73 74 69 6e 67 20 64 61 74 61 62 61 73 65 xisting database
6cd0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
6ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6cf0: 0d 0a 4e 55 4c 4c 0d 0a 0d 0a 53 45 4c 45 43 54 ..NULL....SELECT
6d00: 20 50 52 4f 4a 5f 47 65 74 4c 61 73 74 45 72 72 PROJ_GetLastErr
6d10: 6f 72 4d 73 67 28 29 3b 20 2d 2d 20 72 65 74 72 orMsg(); -- retr
6d20: 69 65 76 69 6e 67 20 74 68 65 20 66 61 69 6c 75 ieving the failu
6d30: 72 65 20 63 61 75 73 65 0d 0a 2d 2d 2d 2d 2d 2d re cause..------
6d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6d50: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 70 72 6f 6a 5f 63 --------..proj_c
6d60: 6f 6e 74 65 78 74 5f 73 65 74 5f 64 61 74 61 62 ontext_set_datab
6d70: 61 73 65 5f 70 61 74 68 3a 20 4f 70 65 6e 20 6f ase_path: Open o
6d80: 66 20 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e f /home/sandro/n
6d90: 6f 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f 6a ot_existing_proj
6da0: 2e 64 62 20 66 61 69 6c 65 64 0d 0a 0d 0a 53 45 .db failed....SE
6db0: 4c 45 43 54 20 50 52 4f 4a 5f 53 65 74 44 61 74 LECT PROJ_SetDat
6dc0: 61 62 61 73 65 50 61 74 68 28 27 2f 68 6f 6d 65 abasePath('/home
6dd0: 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72 /sandro/valid_pr
6de0: 6f 6a 2e 64 62 27 29 3b 20 2d 2d 20 76 61 6c 69 oj.db'); -- vali
6df0: 64 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d d database..----
6e00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6e10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2f 68 6f 6d ----------../hom
6e20: 65 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 e/sandro/valid_p
6e30: 72 6f 6a 2e 64 62 0d 0a 0d 0a 53 45 4c 45 43 54 roj.db....SELECT
6e40: 20 50 52 4f 4a 5f 41 73 57 4b 54 28 27 45 50 53 PROJ_AsWKT('EPS
6e50: 47 27 2c 20 34 33 32 36 29 3b 20 2d 2d 20 64 65 G', 4326); -- de
6e60: 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3a 20 fault settings:
6e70: 49 53 4f 2d 32 30 31 38 20 73 74 79 6c 65 2c 20 ISO-2018 style,
6e80: 69 6e 64 65 6e 74 65 64 20 77 69 74 68 20 69 6e indented with in
6e90: 64 65 6e 74 61 74 69 6f 6e 20 34 0d 0a 2d 2d 2d dentation 4..---
6ea0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
6eb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 47 45 4f -----------..GEO
6ec0: 44 43 52 53 5b 22 57 47 53 20 38 34 22 2c 0d 0a DCRS["WGS 84",..
6ed0: 20 20 20 20 44 41 54 55 4d 5b 22 57 6f 72 6c 64 DATUM["World
6ee0: 20 47 65 6f 64 65 74 69 63 20 53 79 73 74 65 6d Geodetic System
6ef0: 20 31 39 38 34 22 2c 0d 0a 20 20 20 20 20 20 20 1984",..
6f00: 20 45 4c 4c 49 50 53 4f 49 44 5b 22 57 47 53 20 ELLIPSOID["WGS
6f10: 38 34 22 2c 36 33 37 38 31 33 37 2c 32 39 38 2e 84",6378137,298.
6f20: 32 35 37 32 32 33 35 36 33 2c 0d 0a 20 20 20 20 257223563,..
6f30: 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e LENGTHUN
6f40: 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c IT["metre",1]]],
6f50: 0d 0a 20 20 20 20 50 52 49 4d 45 4d 5b 22 47 72 .. PRIMEM["Gr
6f60: 65 65 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 20 20 eenwich",0,..
6f70: 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 ANGLEUNIT["
6f80: 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 degree",0.017453
6f90: 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 2925199433]],..
6fa0: 20 20 20 43 53 5b 65 6c 6c 69 70 73 6f 69 64 61 CS[ellipsoida
6fb0: 6c 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 l,2],.. A
6fc0: 58 49 53 5b 22 67 65 6f 64 65 74 69 63 20 6c 61 XIS["geodetic la
6fd0: 74 69 74 75 64 65 20 28 4c 61 74 29 22 2c 6e 6f titude (Lat)",no
6fe0: 72 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 rth,..
6ff0: 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 20 ORDER[1],..
7000: 20 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e ANGLEUN
7010: 49 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 IT["degree",0.01
7020: 37 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 74532925199433]]
7030: 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 5b ,.. AXIS[
7040: 22 67 65 6f 64 65 74 69 63 20 6c 6f 6e 67 69 74 "geodetic longit
7050: 75 64 65 20 28 4c 6f 6e 29 22 2c 65 61 73 74 2c ude (Lon)",east,
7060: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 52 .. OR
7070: 44 45 52 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 20 DER[2],..
7080: 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 ANGLEUNIT["
7090: 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 degree",0.017453
70a0: 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 2925199433]],..
70b0: 20 20 20 41 52 45 41 5b 22 57 6f 72 6c 64 22 5d AREA["World"]
70c0: 2c 0d 0a 20 20 20 20 42 42 4f 58 5b 2d 39 30 2c ,.. BBOX[-90,
70d0: 2d 31 38 30 2c 39 30 2c 31 38 30 5d 2c 0d 0a 20 -180,90,180],..
70e0: 20 20 20 49 44 5b 22 45 50 53 47 22 2c 34 33 32 ID["EPSG",432
70f0: 36 5d 5d 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 6]]....SELECT PR
7100: 4f 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 27 2c OJ_AsWKT('EPSG',
7110: 20 34 33 32 36 2c 20 27 45 53 52 49 27 2c 20 30 4326, 'ESRI', 0
7120: 2c 20 30 29 3b 20 2d 2d 20 45 53 52 49 20 73 74 , 0); -- ESRI st
7130: 79 6c 65 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 yle, monolithic
7140: 6c 69 6e 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d line..----------
7150: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7160: 2d 2d 2d 2d 0d 0a 47 45 4f 47 43 53 5b 22 47 43 ----..GEOGCS["GC
7170: 53 5f 57 47 53 5f 31 39 38 34 22 2c 44 41 54 55 S_WGS_1984",DATU
7180: 4d 5b 22 44 5f 57 47 53 5f 31 39 38 34 22 2c 53 M["D_WGS_1984",S
7190: 50 48 45 52 4f 49 44 5b 22 57 47 53 5f 31 39 38 PHEROID["WGS_198
71a0: 34 22 2c 36 33 37 38 31 33 37 2e 30 2c 32 39 38 4",6378137.0,298
71b0: 2e 32 35 37 32 32 33 35 36 33 5d 5d 2c 50 52 49 .257223563]],PRI
71c0: 4d 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c MEM["Greenwich",
71d0: 30 2e 30 5d 2c 55 4e 49 54 5b 22 44 65 67 72 65 0.0],UNIT["Degre
71e0: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 e",0.01745329251
71f0: 39 39 34 33 33 5d 5d 0d 0a 0d 0a 53 45 4c 45 43 99433]]....SELEC
7200: 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69 64 T PROJ_GuessSrid
7210: 46 72 6f 6d 57 4b 54 28 27 47 45 4f 47 43 53 5b FromWKT('GEOGCS[
7220: 22 47 43 53 5f 4d 6f 6e 74 65 5f 4d 61 72 69 6f "GCS_Monte_Mario
7230: 5f 52 6f 6d 65 22 2c 44 41 54 55 4d 5b 22 44 5f _Rome",DATUM["D_
7240: 4d 6f 6e 74 65 5f 4d 61 72 69 6f 22 2c 53 50 48 Monte_Mario",SPH
7250: 45 52 4f 49 44 5b 22 49 6e 74 65 72 6e 61 74 69 EROID["Internati
7260: 6f 6e 61 6c 5f 31 39 32 34 22 2c 36 33 37 38 33 onal_1924",63783
7270: 38 38 2e 30 2c 32 39 37 2e 30 5d 5d 2c 50 52 49 88.0,297.0]],PRI
7280: 4d 45 4d 5b 22 52 6f 6d 65 22 2c 31 32 2e 34 35 MEM["Rome",12.45
7290: 32 33 33 33 33 33 33 33 33 33 33 5d 2c 55 4e 49 23333333333],UNI
72a0: 54 5b 22 44 65 67 72 65 65 22 2c 30 2e 30 31 37 T["Degree",0.017
72b0: 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 27 4532925199433]]'
72c0: 29 3b 20 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ); ..-----------
72d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
72e0: 2d 2d 2d 0d 0a 34 38 30 36 0d 0a 0d 0a 53 45 4c ---..4806....SEL
72f0: 45 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 ECT PROJ_GuessSr
7300: 69 64 46 72 6f 6d 53 48 50 28 27 2f 68 6f 6d 65 idFromSHP('/home
7310: 2f 73 61 6e 64 72 6f 2f 74 75 73 63 61 6e 79 5f /sandro/tuscany_
7320: 73 68 70 2f 70 72 6f 76 32 30 31 31 27 29 3b 20 shp/prov2011');
7330: 2d 2d 20 72 65 6d 65 6d 62 65 72 3a 20 72 65 71 -- remember: req
7340: 75 69 72 65 73 20 74 6f 20 65 78 70 6c 69 63 69 uires to explici
7350: 74 6c 79 20 73 65 74 20 53 50 41 54 49 41 4c 49 tly set SPATIALI
7360: 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c 61 TE_SECURITY=rela
7370: 78 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d xed..-----------
7380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7390: 2d 2d 2d 0d 0a 33 30 30 33 0d 0a 3c 2f 76 65 72 ---..3003..</ver
73a0: 62 61 74 69 6d 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 batim>..<br>..<h
73b0: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 r><br>..<table c
73c0: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 ellspacing="8" c
73d0: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 ellpadding="8" b
73e0: 67 63 6f 6c 6f 72 3d 22 23 66 66 65 30 65 39 22 gcolor="#ffe0e9"
73f0: 20 77 69 64 74 68 3d 22 31 30 30 25 22 3e 0d 0a width="100%">..
7400: 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 31 3e 49 6d <tr><th>..<h1>Im
7410: 70 6f 72 74 61 6e 74 20 6e 6f 74 69 63 65 20 66 portant notice f
7420: 6f 72 20 57 69 6e 64 6f 77 73 20 75 73 65 72 73 or Windows users
7430: 3c 2f 68 31 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 </h1>..</th></tr
7440: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e >..<tr><td>..<b>
7450: 50 52 4f 4a 2e 36 3c 2f 62 3e 20 63 72 69 74 69 PROJ.6</b> criti
7460: 63 61 6c 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e cally depends on
7470: 20 69 74 73 20 6f 77 6e 20 70 72 69 76 61 74 65 its own private
7480: 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 SQLite database
7490: 20 28 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e (<b>proj.db</b>
74a0: 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c ) containing all
74b0: 20 72 65 6c 65 76 61 6e 74 20 64 65 66 69 6e 69 relevant defini
74c0: 74 69 6f 6e 73 20 61 62 6f 75 74 20 45 6c 6c 69 tions about Elli
74d0: 70 73 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d 65 psoids, Prime Me
74e0: 72 69 64 69 61 6e 73 2c 20 43 52 53 65 73 2c 20 ridians, CRSes,
74f0: 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 Transformations
7500: 61 6e 64 20 61 6c 69 6b 65 2e 3c 62 72 3e 0d 0a and alike.<br>..
7510: 49 66 20 50 52 4f 4a 2e 36 20 69 73 20 75 6e 61 If PROJ.6 is una
7520: 62 6c 65 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 ble to correctly
7530: 20 65 73 74 61 62 6c 69 73 68 20 61 20 63 6f 6e establish a con
7540: 6e 65 63 74 69 6f 6e 20 74 6f 20 74 68 69 73 20 nection to this
7550: 64 61 74 61 62 61 73 65 20 69 74 20 77 69 6c 6c database it will
7560: 20 62 65 20 73 65 76 65 72 65 6c 79 20 6c 69 6d be severely lim
7570: 69 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 6e 6f ited and will no
7580: 74 20 62 65 20 61 62 6c 65 20 74 6f 20 63 6f 72 t be able to cor
7590: 72 65 63 74 6c 79 20 62 65 68 61 76 65 20 61 73 rectly behave as
75a0: 20 65 78 70 65 63 74 65 64 2e 3c 62 72 3e 3c 62 expected.<br><b
75b0: 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 r>..<ul>..<li><b
75c0: 3e 3c 75 3e 3c 69 3e 53 68 6f 72 74 20 63 6f 6e ><u><i>Short con
75d0: 63 6c 75 73 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 3c clusion</i></u><
75e0: 2f 62 3e 3a 20 69 6e 73 74 61 6c 6c 69 6e 67 20 /b>: installing
75f0: 74 68 65 20 73 6f 66 74 77 61 72 65 20 61 6c 6f the software alo
7600: 6e 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 ne is not enough
7610: 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 52 4f 4a 2e .<br>..The PROJ.
7620: 36 20 70 72 69 76 61 74 65 20 64 61 74 61 62 61 6 private databa
7630: 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 se <b>proj.db</b
7640: 3e 20 6d 75 73 74 20 62 65 20 70 72 6f 70 65 72 > must be proper
7650: 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 20 ly installed as
7660: 77 65 6c 6c 2c 20 69 6e 20 6f 72 64 65 72 20 74 well, in order t
7670: 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 6e o ensure that an
7680: 79 74 68 69 6e 67 20 72 75 6e 73 20 73 6d 6f 6f ything runs smoo
7690: 74 68 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c thly.</li>..</ul
76a0: 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 ><br>..This isn'
76b0: 74 20 75 73 75 61 6c 6c 79 20 61 20 62 69 67 20 t usually a big
76c0: 69 73 73 75 65 20 6f 6e 20 4c 69 6e 75 78 20 61 issue on Linux a
76d0: 6e 64 20 55 6e 69 78 2d 6c 69 6b 65 20 70 6c 61 nd Unix-like pla
76e0: 74 66 6f 72 6d 73 2c 20 77 68 65 72 65 20 61 20 tforms, where a
76f0: 72 61 74 69 6f 6e 61 6c 20 61 6e 64 20 76 65 72 rational and ver
7700: 79 20 63 6c 65 61 72 20 66 69 6c 65 73 79 73 74 y clear filesyst
7710: 65 6d 20 6c 61 79 6f 75 74 20 65 78 69 73 74 73 em layout exists
7720: 2e 3c 62 72 3e 0d 0a 4f 6e 20 74 68 65 73 65 20 .<br>..On these
7730: 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d operating system
7740: 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 6d 61 s the package ma
7750: 6e 61 67 65 72 20 28 6f 72 20 3c 62 3e 6d 61 6b nager (or <b>mak
7760: 65 20 69 6e 73 74 61 6c 6c 3c 2f 62 3e 29 20 77 e install</b>) w
7770: 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c ill automaticall
7780: 79 20 74 61 6b 65 20 63 61 72 65 20 74 6f 20 69 y take care to i
7790: 6e 73 74 61 6c 6c 20 3c 62 3e 70 72 6f 6a 2e 64 nstall <b>proj.d
77a0: 62 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 6d 6f 73 b</b> on the mos
77b0: 74 20 61 70 70 72 6f 70 72 69 61 74 65 20 64 69 t appropriate di
77c0: 72 65 63 74 6f 72 79 20 28 75 73 75 61 6c 6c 79 rectory (usually
77d0: 20 61 73 20 3c 62 3e 2f 75 73 72 2f 73 68 61 72 as <b>/usr/shar
77e0: 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 3c 2f e/proj/proj.db</
77f0: 62 3e 20 6f 72 20 61 73 20 3c 62 3e 2f 75 73 72 b> or as <b>/usr
7800: 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 70 72 6f /local/share/pro
7810: 6a 2f 70 72 6f 6a 2e 64 62 3c 2f 62 3e 29 20 61 j/proj.db</b>) a
7820: 6e 64 20 74 68 61 74 27 73 20 61 6c 6c 2e 3c 62 nd that's all.<b
7830: 72 3e 3c 62 72 3e 0d 0a 54 68 69 6e 67 73 20 61 r><br>..Things a
7840: 72 65 20 75 6e 68 61 70 70 69 6c 79 20 61 20 6c re unhappily a l
7850: 69 74 74 6c 65 20 62 69 74 20 6d 6f 72 65 20 64 ittle bit more d
7860: 69 66 66 69 63 75 6c 74 73 20 6f 6e 20 57 69 6e ifficults on Win
7870: 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 2e 0d dows platforms..
7880: 0a 54 68 65 20 75 73 65 72 20 69 74 73 65 6c 66 .The user itself
7890: 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 is responsible
78a0: 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 69 6e 73 for properly ins
78b0: 74 61 6c 6c 69 6e 67 20 3c 62 3e 70 72 6f 6a 2e talling <b>proj.
78c0: 64 62 3c 2f 62 3e 0d 0a 53 6f 20 69 74 20 62 65 db</b>..So it be
78d0: 63 6f 6d 65 73 20 63 72 69 74 69 63 61 6c 20 75 comes critical u
78e0: 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 74 68 65 nderstanding the
78f0: 20 62 61 73 69 63 20 72 75 6c 65 73 20 61 64 6f basic rules ado
7900: 70 74 65 64 20 62 79 20 3c 62 3e 6c 69 62 73 70 pted by <b>libsp
7910: 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 69 6e 20 atialite</b> in
7920: 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c order to properl
7930: 79 20 6c 6f 63 61 74 65 20 3c 62 3e 70 72 6f 6a y locate <b>proj
7940: 2e 64 62 3c 2f 62 3e 20 6f 6e 20 57 69 6e 64 6f .db</b> on Windo
7950: 77 73 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ws...</td></tr>.
7960: 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 32 3e 57 .<tr><th>..<h2>W
7970: 68 65 72 65 20 70 72 6f 6a 2e 64 62 20 69 73 20 here proj.db is
7980: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 66 expected to be f
7990: 6f 75 6e 64 20 6f 6e 20 57 69 6e 64 6f 77 73 3c ound on Windows<
79a0: 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e /h2>..</td></tr>
79b0: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 6f 6c 3e ..<tr><td>..<ol>
79c0: 0d 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73 74 20 ..<li>the first
79d0: 70 6c 61 63 65 20 77 68 65 72 65 20 3c 62 3e 70 place where <b>p
79e0: 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c 20 roj.db</b> will
79f0: 62 65 20 73 65 61 72 63 68 65 64 20 69 73 20 74 be searched is t
7a00: 68 65 20 73 61 6d 65 20 66 6f 6c 64 65 72 20 66 he same folder f
7a10: 6f 72 6d 20 77 68 65 72 65 20 74 68 65 20 3c 62 orm where the <b
7a20: 3e 45 58 45 3c 2f 62 3e 20 62 69 6e 61 72 79 20 >EXE</b> binary
7a30: 77 61 73 20 69 6e 69 74 69 61 6c 6c 79 20 6c 6f was initially lo
7a40: 61 64 65 64 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 aded.<br>..<i><u
7a50: 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f 75 3e >Example</i></u>
7a60: 3a 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 : assuming that
7a70: 79 6f 75 20 61 72 65 20 63 75 72 72 65 6e 74 6c you are currentl
7a80: 79 20 65 78 65 63 75 74 69 6e 67 20 3c 62 3e 43 y executing <b>C
7a90: 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74 69 61 :\myprogs\spatia
7aa0: 6c 69 74 65 5c 62 69 6e 5c 73 70 61 74 69 61 6c lite\bin\spatial
7ab0: 69 74 65 2e 65 78 65 3c 2f 62 3e 0d 0a 3c 75 6c ite.exe</b>..<ul
7ac0: 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 61 6e 20 61 >..<li>then an a
7ad0: 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d ttempt will be m
7ae0: 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74 20 3c ade to connect <
7af0: 62 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 b>C:\myprogs\spa
7b00: 74 69 61 6c 69 74 65 5c 62 69 6e 5c 70 72 6f 6a tialite\bin\proj
7b10: 2e 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f .db</b></li>..</
7b20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 ul></li>..<li>a
7b30: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 second attempt w
7b40: 69 6c 6c 20 62 65 20 6d 61 64 65 20 6f 6e 20 62 ill be made on b
7b50: 65 68 61 6c 66 20 6f 66 20 74 68 65 20 3c 62 3e ehalf of the <b>
7b60: 50 75 62 6c 69 63 3c 2f 62 3e 20 66 6f 6c 64 65 Public</b> folde
7b70: 72 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 45 78 r.<br>..<i><u>Ex
7b80: 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a 20 61 ample</u></i>: a
7b90: 6e 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 n attempt will b
7ba0: 65 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 e made to connec
7bb0: 74 20 3c 62 3e 43 3a 5c 55 73 65 72 73 5c 50 75 t <b>C:\Users\Pu
7bc0: 62 6c 69 63 5c 73 70 61 74 69 61 6c 69 74 65 5c blic\spatialite\
7bd0: 70 72 6f 6a 5c 70 72 6f 6a 2e 64 62 3c 2f 62 3e proj\proj.db</b>
7be0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 74 68 69 </li>..<li>a thi
7bf0: 72 64 20 28 61 6e 64 20 6c 61 73 74 29 20 61 74 rd (and last) at
7c00: 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d 61 tempt will be ma
7c10: 64 65 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 de on behalf of
7c20: 74 68 65 20 3c 62 3e 55 73 65 72 3c 2f 62 3e 20 the <b>User</b>
7c30: 66 6f 6c 64 65 72 2e 3c 62 72 3e 0d 0a 3c 69 3e folder.<br>..<i>
7c40: 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f <u>Example</i></
7c50: 75 3e 3a 20 61 6e 20 61 74 74 65 6d 70 74 20 77 u>: an attempt w
7c60: 69 6c 6c 20 62 65 20 6d 61 64 65 20 74 6f 20 63 ill be made to c
7c70: 6f 6e 6e 65 63 74 20 3c 62 3e 43 3a 5c 55 73 65 onnect <b>C:\Use
7c80: 72 73 5c 73 61 6e 64 72 6f 5c 73 70 61 74 69 61 rs\sandro\spatia
7c90: 6c 69 74 65 5c 70 72 6f 6a 5c 70 72 6f 6a 2e 64 lite\proj\proj.d
7ca0: 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c b</b></li>..</ol
7cb0: 3e 0d 0a 3c 68 33 3e 41 6e 20 75 73 65 66 75 6c >..<h3>An useful
7cc0: 20 64 69 61 67 6e 6f 73 74 69 63 20 63 68 65 63 diagnostic chec
7cd0: 6b 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 69 k</h3>..<verbati
7ce0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f m>..SELECT PROJ_
7cf0: 47 65 74 44 61 74 61 62 61 73 65 50 61 74 68 28 GetDatabasePath(
7d00: 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d );..</verbatim>.
7d10: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 3c 62 .<ul>..<li>if <b
7d20: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 73 20 72 65 74 >NULL</b> is ret
7d30: 75 72 6e 65 64 2c 20 74 68 65 6e 20 50 52 4f 4a urned, then PROJ
7d40: 2e 36 20 69 73 20 64 65 66 69 6e 69 74 65 6c 79 .6 is definitely
7d50: 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 6e 65 unable to conne
7d60: 63 74 20 74 6f 20 69 74 73 20 6f 77 6e 20 70 72 ct to its own pr
7d70: 69 76 61 74 65 20 53 51 4c 69 74 65 20 64 61 74 ivate SQLite dat
7d80: 61 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 abase <b>proj.db
7d90: 3c 2f 62 3e 3c 62 72 3e 0d 0a 59 6f 75 20 68 61 </b><br>..You ha
7da0: 76 65 20 74 6f 20 63 61 72 65 66 75 6c 6c 79 20 ve to carefully
7db0: 76 65 72 69 66 69 79 20 74 68 61 74 20 69 74 27 verifiy that it'
7dc0: 73 20 72 65 61 6c 6c 79 20 69 6e 73 74 61 6c 6c s really install
7dd0: 65 64 20 6f 6e 20 6f 6e 65 20 6f 66 20 74 68 65 ed on one of the
7de0: 20 65 78 70 65 63 74 65 64 20 73 74 61 6e 64 61 expected standa
7df0: 72 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 3c 2f 6c rd locations.</l
7e00: 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 77 69 73 i>..<li>otherwis
7e10: 65 20 74 68 65 20 70 61 74 68 20 6c 65 61 64 69 e the path leadi
7e20: 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e ng to the curren
7e30: 74 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 3c 62 tly connected <b
7e40: 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c >proj.db</b> wil
7e50: 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f l be returned.</
7e60: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a li>..</ul><br>..
7e70: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 </td></tr>..</ta
7e80: 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 ble><br><br>..<t
7e90: 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 able cellspacing
7ea0: 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="8" cellpadding
7eb0: 3d 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 63 ="8" bgcolor="#c
7ec0: 39 66 66 66 30 22 20 77 69 64 74 68 3d 22 31 30 9fff0" width="10
7ed0: 30 25 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 0%">..<tr><th>..
7ee0: 3c 68 32 3e 55 73 69 6e 67 20 74 68 65 20 65 6e <h2>Using the en
7ef0: 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 vironment variab
7f00: 6c 65 20 53 50 41 54 49 41 4c 49 54 45 5f 50 52 le SPATIALITE_PR
7f10: 4f 4a 5f 44 42 5f 50 41 54 48 3c 2f 68 32 3e 0d OJ_DB_PATH</h2>.
7f20: 0a 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 .</th></tr>..<tr
7f30: 3e 3c 74 64 3e 0d 0a 49 66 20 74 68 65 20 65 6e ><td>..If the en
7f40: 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 vironment variab
7f50: 6c 65 20 3c 62 3e 53 50 41 54 49 41 4c 49 54 45 le <b>SPATIALITE
7f60: 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 48 3c 2f 62 _PROJ_DB_PATH</b
7f70: 3e 20 69 73 20 73 65 74 2c 20 74 68 65 6e 20 3c > is set, then <
7f80: 62 3e 6c 69 62 73 70 61 74 69 61 6c 69 74 65 3c b>libspatialite<
7f90: 2f 62 3e 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 /b> will simply
7fa0: 61 74 74 65 6d 70 74 20 74 6f 20 63 6f 6e 6e 65 attempt to conne
7fb0: 63 74 20 74 68 65 20 64 61 74 61 62 61 73 65 20 ct the database
7fc0: 70 6f 69 6e 74 65 64 20 62 79 20 74 68 69 73 20 pointed by this
7fd0: 76 61 72 69 61 62 6c 65 2e 3c 62 72 3e 0d 0a 53 variable.<br>..S
7fe0: 75 63 68 20 61 20 63 61 70 61 62 69 6c 69 74 79 uch a capability
7ff0: 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 6e 6f is supported no
8000: 74 20 6f 6e 6c 79 20 6f 6e 20 57 69 6e 64 6f 77 t only on Window
8010: 73 20 62 75 74 20 61 6c 73 6f 20 6f 6e 20 4c 69 s but also on Li
8020: 6e 75 78 20 28 61 6e 64 20 6f 6e 20 61 6e 79 20 nux (and on any
8030: 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 29 2e other platform).
8040: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e <br><br>..<i><u>
8050: 4c 69 6e 75 78 20 65 78 61 6d 70 6c 65 3c 2f 75 Linux example</u
8060: 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c ></i>:..<ul>..<l
8070: 69 3e 3c 62 3e 65 78 70 6f 72 74 20 22 53 50 41 i><b>export "SPA
8080: 54 49 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f TIALITE_PROJ_DB_
8090: 50 41 54 48 3d 2f 68 6f 6d 65 2f 73 61 6e 64 72 PATH=/home/sandr
80a0: 6f 2f 61 75 78 2f 70 72 6f 6a 2e 64 62 22 3c 62 o/aux/proj.db"<b
80b0: 72 3e 0d 0a 65 63 68 6f 20 24 53 50 41 54 49 41 r>..echo $SPATIA
80c0: 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 LITE_PROJ_DB_PAT
80d0: 48 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c 69 74 H<br>..spatialit
80e0: 65 3c 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e e<b></li>..</ul>
80f0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e <br><br>..<i><u>
8100: 57 69 6e 64 6f 77 73 20 65 78 61 6d 70 6c 65 3c Windows example<
8110: 2f 75 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a /u></i>:..<ul>..
8120: 3c 6c 69 3e 3c 62 3e 53 45 54 20 53 50 41 54 49 <li><b>SET SPATI
8130: 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 ALITE_PROJ_DB_PA
8140: 54 48 3d 43 3a 5c 55 73 65 72 73 5c 73 61 6e 64 TH=C:\Users\sand
8150: 72 6f 5c 61 75 78 5c 70 72 6f 6a 2e 64 62 3c 62 ro\aux\proj.db<b
8160: 72 3e 0d 0a 65 63 68 6f 20 25 53 50 41 54 49 41 r>..echo %SPATIA
8170: 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 LITE_PROJ_DB_PAT
8180: 48 25 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c 69 H%<br>..spatiali
8190: 74 65 5f 67 75 69 3c 62 3e 3c 2f 6c 69 3e 0d 0a te_gui<b></li>..
81a0: 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c </ul><br><br>..<
81b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /th></tr>..</tab
81c0: 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 le><br>..<hr><br
81d0: 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 >..<a href="http
81e0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
81f0: 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 .it/fossil/libsp
8200: 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 atialite/wiki?na
8210: 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 me=4.3.0-doc">ba
8220: 63 6b 3c 2f 61 3e 0a 5a 20 31 66 36 66 39 36 38 ck</a>.Z 1f6f968
8230: 65 66 31 64 33 31 66 36 63 63 65 37 37 30 64 66 ef1d31f6cce770df
8240: 32 30 66 36 39 32 64 35 61 0a 20f692d5a.