Wiki page
[PROJ.6] by
sandro
2019-05-05 12:38:52.
0000: 44 20 32 30 31 39 2d 30 35 2d 30 35 54 31 32 3a D 2019-05-05T12:
0010: 33 38 3a 35 32 2e 32 30 30 0a 4c 20 50 52 4f 4a 38:52.200.L PROJ
0020: 2e 36 0a 50 20 64 30 36 36 39 63 31 35 66 39 34 .6.P d0669c15f94
0030: 35 65 38 66 32 37 66 38 61 63 64 30 36 66 30 63 5e8f27f8acd06f0c
0040: 62 34 36 32 31 32 35 63 30 61 32 65 32 0a 55 20 b462125c0a2e2.U
0050: 73 61 6e 64 72 6f 0a 57 20 33 36 36 37 38 0a 3c sandro.W 36678.<
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 65 63 61 6d 65 20 74 68 65 erdam became 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 6d 6f 72 65 20 72 65 63 65 6e 74 20 49 53 e more recent IS
1430: 4f 20 57 4b 54 20 6e 6f 74 61 74 69 6f 6e 3a 0d O WKT notation:.
1440: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c .<br><br>..<tabl
1450: 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 e cellspacing="8
1460: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 " cellpadding="8
1470: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 65 38 66 66 " bgcolor="#e8ff
1480: 65 38 22 20 62 6f 72 64 65 72 3d 22 31 22 3e 0d e8" border="1">.
1490: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
14a0: 3d 22 23 66 66 62 30 33 65 22 3e 53 52 49 44 3c ="#ffb03e">SRID<
14b0: 2f 74 68 3e 3c 74 64 3e 33 30 30 33 3c 2f 74 64 /th><td>3003</td
14c0: 3e 3c 74 64 3e 34 33 32 36 3c 2f 74 64 3e 3c 74 ><td>4326</td><t
14d0: 64 3e 33 32 36 33 32 3c 2f 74 64 3e 3c 2f 74 72 d>32632</td></tr
14e0: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
14f0: 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 43 52 53 or="#ffb03e">CRS
1500: 20 4e 61 6d 65 3c 2f 74 68 3e 3c 74 64 3e 4d 6f Name</th><td>Mo
1510: 6e 74 65 20 4d 61 72 69 6f 20 2f 20 49 74 61 6c nte Mario / Ital
1520: 79 20 7a 6f 6e 65 20 31 3c 2f 74 64 3e 3c 2f 74 y zone 1</td></t
1530: 64 3e 3c 74 64 3e 57 47 53 20 38 34 3c 2f 74 64 d><td>WGS 84</td
1540: 3e 3c 74 64 3e 57 47 53 20 38 34 20 2f 20 55 54 ><td>WGS 84 / UT
1550: 4d 20 7a 6f 6e 65 20 33 32 4e 3c 2f 74 64 3e 3c M zone 32N</td><
1560: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 /tr>..<tr><th bg
1570: 63 6f 6c 6f 72 3d 22 23 66 66 62 30 33 65 22 3e color="#ffb03e">
1580: 49 53 4f 2d 32 30 31 38 20 57 4b 54 3c 2f 74 68 ISO-2018 WKT</th
1590: 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 6e 3d 22 74 >..<td valign="t
15a0: 6f 70 22 3e 3c 76 65 72 62 61 74 69 6d 3e 0d 0a op"><verbatim>..
15b0: 50 52 4f 4a 43 52 53 5b 22 4d 6f 6e 74 65 20 4d PROJCRS["Monte M
15c0: 61 72 69 6f 20 2f 20 49 74 61 6c 79 20 7a 6f 6e ario / Italy zon
15d0: 65 20 31 22 2c 0d 0a 20 20 20 20 42 41 53 45 47 e 1",.. BASEG
15e0: 45 4f 44 43 52 53 5b 22 4d 6f 6e 74 65 20 4d 61 EODCRS["Monte Ma
15f0: 72 69 6f 22 2c 0d 0a 20 20 20 20 20 20 20 20 44 rio",.. D
1600: 41 54 55 4d 5b 22 4d 6f 6e 74 65 20 4d 61 72 69 ATUM["Monte Mari
1610: 6f 22 2c 3c 62 72 3e 0d 0a 20 20 20 20 20 20 20 o",<br>..
1620: 20 20 20 20 20 45 4c 4c 49 50 53 4f 49 44 5b 22 ELLIPSOID["
1630: 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 31 39 International 19
1640: 32 34 22 2c 36 33 37 38 33 38 38 2c 32 39 37 2c 24",6378388,297,
1650: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
1660: 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 LENGTHUNIT["me
1670: 74 72 65 22 2c 31 5d 5d 5d 2c 0d 0a 20 20 20 20 tre",1]]],..
1680: 20 20 20 20 50 52 49 4d 45 4d 5b 22 47 72 65 65 PRIMEM["Gree
1690: 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 20 20 20 20 nwich",0,..
16a0: 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 ANGLEUNIT
16b0: 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 ["degree",0.0174
16c0: 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 5d 2c 532925199433]]],
16d0: 0d 0a 20 20 20 20 43 4f 4e 56 45 52 53 49 4f 4e .. CONVERSION
16e0: 5b 22 49 74 61 6c 79 20 7a 6f 6e 65 20 31 22 2c ["Italy zone 1",
16f0: 0d 0a 20 20 20 20 20 20 20 20 4d 45 54 48 4f 44 .. METHOD
1700: 5b 22 54 72 61 6e 73 76 65 72 73 65 20 4d 65 72 ["Transverse Mer
1710: 63 61 74 6f 72 22 2c 0d 0a 20 20 20 20 20 20 20 cator",..
1720: 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 39 ID["EPSG",9
1730: 38 30 37 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 807]],..
1740: 50 41 52 41 4d 45 54 45 52 5b 22 4c 61 74 69 74 PARAMETER["Latit
1750: 75 64 65 20 6f 66 20 6e 61 74 75 72 61 6c 20 6f ude of natural o
1760: 72 69 67 69 6e 22 2c 30 2c 0d 0a 20 20 20 20 20 rigin",0,..
1770: 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 ANGLEUNIT
1780: 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 ["degree",0.0174
1790: 35 33 32 39 32 35 31 39 39 34 33 33 5d 2c 0d 0a 532925199433],..
17a0: 20 20 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 ID["
17b0: 45 50 53 47 22 2c 38 38 30 31 5d 5d 2c 0d 0a 20 EPSG",8801]],..
17c0: 20 20 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 PARAMETER
17d0: 5b 22 4c 6f 6e 67 69 74 75 64 65 20 6f 66 20 6e ["Longitude of n
17e0: 61 74 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c 39 atural origin",9
17f0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 ,.. A
1800: 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 65 NGLEUNIT["degree
1810: 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 39 ",0.017453292519
1820: 39 34 33 33 5d 2c 0d 0a 20 20 20 20 20 20 20 20 9433],..
1830: 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38 ID["EPSG",88
1840: 30 32 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 02]],.. P
1850: 41 52 41 4d 45 54 45 52 5b 22 53 63 61 6c 65 20 ARAMETER["Scale
1860: 66 61 63 74 6f 72 20 61 74 20 6e 61 74 75 72 61 factor at natura
1870: 6c 20 6f 72 69 67 69 6e 22 2c 30 2e 39 39 39 36 l origin",0.9996
1880: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 ,.. S
1890: 43 41 4c 45 55 4e 49 54 5b 22 75 6e 69 74 79 22 CALEUNIT["unity"
18a0: 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 ,1],..
18b0: 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38 30 35 ID["EPSG",8805
18c0: 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 41 52 ]],.. PAR
18d0: 41 4d 45 54 45 52 5b 22 46 61 6c 73 65 20 65 61 AMETER["False ea
18e0: 73 74 69 6e 67 22 2c 31 35 30 30 30 30 30 2c 0d sting",1500000,.
18f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e . LEN
1900: 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c GTHUNIT["metre",
1910: 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 1],..
1920: 20 49 44 5b 22 45 50 53 47 22 2c 38 38 30 36 5d ID["EPSG",8806]
1930: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 41 52 41 ],.. PARA
1940: 4d 45 54 45 52 5b 22 46 61 6c 73 65 20 6e 6f 72 METER["False nor
1950: 74 68 69 6e 67 22 2c 30 2c 0d 0a 20 20 20 20 20 thing",0,..
1960: 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 LENGTHUNI
1970: 54 5b 22 6d 65 74 72 65 22 2c 31 5d 2c 0d 0a 20 T["metre",1],..
1980: 20 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 ID["E
1990: 50 53 47 22 2c 38 38 30 37 5d 5d 5d 2c 0d 0a 20 PSG",8807]]],..
19a0: 20 20 20 43 53 5b 43 61 72 74 65 73 69 61 6e 2c CS[Cartesian,
19b0: 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 2],.. AXI
19c0: 53 5b 22 65 61 73 74 69 6e 67 20 28 58 29 22 2c S["easting (X)",
19d0: 65 61 73 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 east,..
19e0: 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 ORDER[1],..
19f0: 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48 LENGTH
1a00: 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d UNIT["metre",1]]
1a10: 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 5b ,.. AXIS[
1a20: 22 6e 6f 72 74 68 69 6e 67 20 28 59 29 22 2c 6e "northing (Y)",n
1a30: 6f 72 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 orth,..
1a40: 20 20 20 4f 52 44 45 52 5b 32 5d 2c 3c 62 72 3e ORDER[2],<br>
1a50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 .. LE
1a60: 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 NGTHUNIT["metre"
1a70: 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 52 45 41 5b ,1]],.. AREA[
1a80: 22 49 74 61 6c 79 20 2d 20 77 65 73 74 20 6f 66 "Italy - west of
1a90: 20 31 32 c2 b0 45 22 5d 2c 0d 0a 20 20 20 20 42 12..E"],.. B
1aa0: 42 4f 58 5b 33 36 2e 35 33 2c 35 2e 39 34 2c 34 BOX[36.53,5.94,4
1ab0: 37 2e 30 34 2c 31 32 5d 2c 0d 0a 20 20 20 20 49 7.04,12],.. I
1ac0: 44 5b 22 45 50 53 47 22 2c 33 30 30 33 5d 5d 0d D["EPSG",3003]].
1ad0: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 3c 2f 74 64 .</verbatim></td
1ae0: 3e 0d 0a 3c 74 64 20 76 61 6c 69 67 6e 3d 22 74 >..<td valign="t
1af0: 6f 70 22 3e 3c 76 65 72 62 61 74 69 6d 3e 0d 0a op"><verbatim>..
1b00: 47 45 4f 44 43 52 53 5b 22 57 47 53 20 38 34 22 GEODCRS["WGS 84"
1b10: 2c 0d 0a 20 20 20 20 44 41 54 55 4d 5b 22 57 6f ,.. DATUM["Wo
1b20: 72 6c 64 20 47 65 6f 64 65 74 69 63 20 53 79 73 rld Geodetic Sys
1b30: 74 65 6d 20 31 39 38 34 22 2c 0d 0a 20 20 20 20 tem 1984",..
1b40: 20 20 20 20 45 4c 4c 49 50 53 4f 49 44 5b 22 57 ELLIPSOID["W
1b50: 47 53 20 38 34 22 2c 36 33 37 38 31 33 37 2c 32 GS 84",6378137,2
1b60: 39 38 2e 32 35 37 32 32 33 35 36 33 2c 0d 0a 20 98.257223563,..
1b70: 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 54 LENGT
1b80: 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d HUNIT["metre",1]
1b90: 5d 5d 2c 0d 0a 20 20 20 20 50 52 49 4d 45 4d 5b ]],.. PRIMEM[
1ba0: 22 47 72 65 65 6e 77 69 63 68 22 2c 30 2c 0d 0a "Greenwich",0,..
1bb0: 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 ANGLEUNI
1bc0: 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 T["degree",0.017
1bd0: 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 4532925199433]],
1be0: 0d 0a 20 20 20 20 43 53 5b 65 6c 6c 69 70 73 6f .. CS[ellipso
1bf0: 69 64 61 6c 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 idal,2],..
1c00: 20 20 41 58 49 53 5b 22 67 65 6f 64 65 74 69 63 AXIS["geodetic
1c10: 20 6c 61 74 69 74 75 64 65 20 28 4c 61 74 29 22 latitude (Lat)"
1c20: 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 20 20 20 20 ,north,..
1c30: 20 20 20 20 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a ORDER[1],..
1c40: 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 4c ANGL
1c50: 45 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c 30 EUNIT["degree",0
1c60: 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 33 .017453292519943
1c70: 33 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 3]],.. AX
1c80: 49 53 5b 22 67 65 6f 64 65 74 69 63 20 6c 6f 6e IS["geodetic lon
1c90: 67 69 74 75 64 65 20 28 4c 6f 6e 29 22 2c 65 61 gitude (Lon)",ea
1ca0: 73 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 st,..
1cb0: 20 4f 52 44 45 52 5b 32 5d 2c 0d 0a 20 20 20 20 ORDER[2],..
1cc0: 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 ANGLEUNI
1cd0: 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 T["degree",0.017
1ce0: 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 4532925199433]],
1cf0: 0d 0a 20 20 20 20 41 52 45 41 5b 22 57 6f 72 6c .. AREA["Worl
1d00: 64 22 5d 2c 0d 0a 20 20 20 20 42 42 4f 58 5b 2d d"],.. BBOX[-
1d10: 39 30 2c 2d 31 38 30 2c 39 30 2c 31 38 30 5d 2c 90,-180,90,180],
1d20: 0d 0a 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c .. ID["EPSG",
1d30: 34 33 32 36 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 4326]]..</verbat
1d40: 69 6d 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 20 76 61 im></td>..<td va
1d50: 6c 69 67 6e 3d 22 74 6f 70 22 3e 3c 76 65 72 62 lign="top"><verb
1d60: 61 74 69 6d 3e 0d 0a 50 52 4f 4a 43 52 53 5b 22 atim>..PROJCRS["
1d70: 57 47 53 20 38 34 20 2f 20 55 54 4d 20 7a 6f 6e WGS 84 / UTM zon
1d80: 65 20 33 32 4e 22 2c 0d 0a 20 20 20 20 42 41 53 e 32N",.. BAS
1d90: 45 47 45 4f 44 43 52 53 5b 22 57 47 53 20 38 34 EGEODCRS["WGS 84
1da0: 22 2c 0d 0a 20 20 20 20 20 20 20 20 44 41 54 55 ",.. DATU
1db0: 4d 5b 22 57 6f 72 6c 64 20 47 65 6f 64 65 74 69 M["World Geodeti
1dc0: 63 20 53 79 73 74 65 6d 20 31 39 38 34 22 2c 0d c System 1984",.
1dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 4c 4c . ELL
1de0: 49 50 53 4f 49 44 5b 22 57 47 53 20 38 34 22 2c IPSOID["WGS 84",
1df0: 36 33 37 38 31 33 37 2c 32 39 38 2e 32 35 37 32 6378137,298.2572
1e00: 32 33 35 36 33 2c 0d 0a 20 20 20 20 20 20 20 20 23563,..
1e10: 20 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e LENGTHUN
1e20: 49 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c IT["metre",1]]],
1e30: 0d 0a 20 20 20 20 20 20 20 20 50 52 49 4d 45 4d .. PRIMEM
1e40: 5b 22 47 72 65 65 6e 77 69 63 68 22 2c 30 2c 0d ["Greenwich",0,.
1e50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 . ANG
1e60: 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c LEUNIT["degree",
1e70: 30 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 0.01745329251994
1e80: 33 33 5d 5d 5d 2c 0d 0a 20 20 20 20 43 4f 4e 56 33]]],.. CONV
1e90: 45 52 53 49 4f 4e 5b 22 55 54 4d 20 7a 6f 6e 65 ERSION["UTM zone
1ea0: 20 33 32 4e 22 2c 0d 0a 20 20 20 20 20 20 20 20 32N",..
1eb0: 4d 45 54 48 4f 44 5b 22 54 72 61 6e 73 76 65 72 METHOD["Transver
1ec0: 73 65 20 4d 65 72 63 61 74 6f 72 22 2c 0d 0a 20 se Mercator",..
1ed0: 20 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 ID["E
1ee0: 50 53 47 22 2c 39 38 30 37 5d 5d 2c 0d 0a 20 20 PSG",9807]],..
1ef0: 20 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b PARAMETER[
1f00: 22 4c 61 74 69 74 75 64 65 20 6f 66 20 6e 61 74 "Latitude of nat
1f10: 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c 30 2c 0d ural origin",0,.
1f20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 47 . ANG
1f30: 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 65 22 2c LEUNIT["degree",
1f40: 30 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 0.01745329251994
1f50: 33 33 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 33],..
1f60: 20 20 49 44 5b 22 45 50 53 47 22 2c 38 38 30 31 ID["EPSG",8801
1f70: 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 20 50 41 52 ]],.. PAR
1f80: 41 4d 45 54 45 52 5b 22 4c 6f 6e 67 69 74 75 64 AMETER["Longitud
1f90: 65 20 6f 66 20 6e 61 74 75 72 61 6c 20 6f 72 69 e of natural ori
1fa0: 67 69 6e 22 2c 39 2c 0d 0a 20 20 20 20 20 20 20 gin",9,..
1fb0: 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 ANGLEUNIT["
1fc0: 64 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 degree",0.017453
1fd0: 32 39 32 35 31 39 39 34 33 33 5d 2c 0d 0a 20 20 2925199433],..
1fe0: 20 20 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 ID["EP
1ff0: 53 47 22 2c 38 38 30 32 5d 5d 2c 0d 0a 20 20 20 SG",8802]],..
2000: 20 20 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 PARAMETER["
2010: 53 63 61 6c 65 20 66 61 63 74 6f 72 20 61 74 20 Scale factor at
2020: 6e 61 74 75 72 61 6c 20 6f 72 69 67 69 6e 22 2c natural origin",
2030: 30 2e 39 39 39 36 2c 0d 0a 20 20 20 20 20 20 20 0.9996,..
2040: 20 20 20 20 20 53 43 41 4c 45 55 4e 49 54 5b 22 SCALEUNIT["
2050: 75 6e 69 74 79 22 2c 31 5d 2c 0d 0a 20 20 20 20 unity",1],..
2060: 20 20 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 ID["EPSG
2070: 22 2c 38 38 30 35 5d 5d 2c 0d 0a 20 20 20 20 20 ",8805]],..
2080: 20 20 20 50 41 52 41 4d 45 54 45 52 5b 22 46 61 PARAMETER["Fa
2090: 6c 73 65 20 65 61 73 74 69 6e 67 22 2c 35 30 30 lse easting",500
20a0: 30 30 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 000,..
20b0: 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d 65 LENGTHUNIT["me
20c0: 74 72 65 22 2c 31 5d 2c 0d 0a 20 20 20 20 20 20 tre",1],..
20d0: 20 20 20 20 20 20 49 44 5b 22 45 50 53 47 22 2c ID["EPSG",
20e0: 38 38 30 36 5d 5d 2c 0d 0a 20 20 20 20 20 20 20 8806]],..
20f0: 20 50 41 52 41 4d 45 54 45 52 5b 22 46 61 6c 73 PARAMETER["Fals
2100: 65 20 6e 6f 72 74 68 69 6e 67 22 2c 30 2c 0d 0a e northing",0,..
2110: 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 4e 47 LENG
2120: 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 2c 31 THUNIT["metre",1
2130: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ],..
2140: 49 44 5b 22 45 50 53 47 22 2c 38 38 30 37 5d 5d ID["EPSG",8807]]
2150: 5d 2c 0d 0a 20 20 20 20 43 53 5b 43 61 72 74 65 ],.. CS[Carte
2160: 73 69 61 6e 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 sian,2],..
2170: 20 20 41 58 49 53 5b 22 28 45 29 22 2c 65 61 73 AXIS["(E)",eas
2180: 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 t,..
2190: 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 20 20 20 ORDER[1],..
21a0: 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 LENGTHUNI
21b0: 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 2c 0d 0a T["metre",1]],..
21c0: 20 20 20 20 20 20 20 20 41 58 49 53 5b 22 28 4e AXIS["(N
21d0: 29 22 2c 6e 6f 72 74 68 2c 0d 0a 20 20 20 20 20 )",north,..
21e0: 20 20 20 20 20 20 20 4f 52 44 45 52 5b 32 5d 2c ORDER[2],
21f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 45 .. LE
2200: 4e 47 54 48 55 4e 49 54 5b 22 6d 65 74 72 65 22 NGTHUNIT["metre"
2210: 2c 31 5d 5d 2c 0d 0a 20 20 20 20 41 52 45 41 5b ,1]],.. AREA[
2220: 22 57 6f 72 6c 64 20 2d 20 4e 20 68 65 6d 69 73 "World - N hemis
2230: 70 68 65 72 65 20 2d 20 36 c2 b0 45 20 74 6f 20 phere - 6..E to
2240: 31 32 c2 b0 45 20 2d 20 62 79 20 63 6f 75 6e 74 12..E - by count
2250: 72 79 22 5d 2c 0d 0a 20 20 20 20 42 42 4f 58 5b ry"],.. BBOX[
2260: 30 2c 36 2c 38 34 2c 31 32 5d 2c 0d 0a 20 20 20 0,6,84,12],..
2270: 20 49 44 5b 22 45 50 53 47 22 2c 33 32 36 33 32 ID["EPSG",32632
2280: 5d 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 3c ]]..</verbatim><
2290: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
22a0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 able>..<br>..As
22b0: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e you can easily n
22c0: 6f 74 69 63 65 2c 20 74 68 65 20 74 77 6f 20 6e otice, the two n
22d0: 6f 74 61 74 69 6f 6e 73 20 61 72 65 20 70 72 6f otations are pro
22e0: 66 6f 75 6e 64 6c 79 20 64 69 66 66 65 72 65 6e foundly differen
22f0: 74 2e 0d 0a 54 68 65 20 6f 6c 64 20 3c 62 3e 70 t...The old <b>p
2300: 72 6f 6a 2d 73 74 72 69 6e 67 3c 2f 62 3e 20 6e roj-string</b> n
2310: 6f 74 61 74 69 6f 6e 20 69 73 20 65 78 74 72 65 otation is extre
2320: 6d 65 6c 79 20 63 6f 6e 63 69 73 65 20 61 6e 64 mely concise and
2330: 20 72 6f 75 67 68 2c 20 77 68 69 6c 73 74 20 74 rough, whilst t
2340: 68 65 20 6e 65 77 20 3c 62 3e 49 53 4f 2d 57 4b he new <b>ISO-WK
2350: 54 3c 2f 62 3e 20 69 73 20 76 65 72 62 6f 73 65 T</b> is verbose
2360: 20 62 75 74 20 65 78 68 61 75 73 74 69 76 65 2c but exhaustive,
2370: 20 64 65 74 61 69 6c 65 64 20 61 6e 64 20 70 72 detailed and pr
2380: 65 63 69 73 65 2e 3c 62 72 3e 0d 0a 54 68 65 72 ecise.<br>..Ther
2390: 65 20 69 73 20 6e 6f 20 70 6f 73 73 69 62 6c 65 e is no possible
23a0: 20 6d 61 74 63 68 3a 20 49 53 4f 2d 57 4b 54 20 match: ISO-WKT
23b0: 69 73 20 63 6c 65 61 72 6c 79 20 73 75 70 65 72 is clearly super
23c0: 69 6f 72 20 61 6e 64 20 6d 6f 72 65 20 73 6f 70 ior and more sop
23d0: 68 69 73 74 69 63 61 74 65 64 20 75 6e 64 65 72 histicated under
23e0: 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 61 73 any possible as
23f0: 70 65 63 74 2e 3c 62 72 3e 0d 0a 4e 6f 74 20 61 pect.<br>..Not a
2400: 74 20 61 6c 6c 20 73 75 72 70 72 69 73 69 6e 67 t all surprising
2410: 6c 79 2c 20 63 6f 6f 72 64 69 6e 61 74 65 20 74 ly, coordinate t
2420: 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 62 ransformations b
2430: 61 73 65 64 20 6f 6e 20 49 53 4f 2d 57 4b 54 20 ased on ISO-WKT
2440: 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 69 6e 73 definitions (ins
2450: 74 65 61 64 20 6f 66 20 70 72 6f 6a 2d 73 74 72 tead of proj-str
2460: 69 6e 67 73 29 20 61 72 65 20 75 73 75 61 6c 6c ings) are usuall
2470: 79 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 y expected to be
2480: 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 2e 3c more accurate.<
2490: 62 72 3e 3c 62 72 3e 0d 0a 41 6e 64 20 74 68 61 br><br>..And tha
24a0: 74 27 73 20 6e 6f 74 20 61 6c 6c 3b 20 74 68 65 t's not all; the
24b0: 20 6f 6c 64 20 3c 62 3e 70 72 6f 6a 2d 73 74 72 old <b>proj-str
24c0: 69 6e 67 73 3c 2f 62 3e 20 77 65 72 65 6e 27 74 ings</b> weren't
24d0: 20 66 6f 72 6d 61 6c 6c 79 20 64 65 66 69 6e 65 formally define
24e0: 64 20 62 79 20 61 6e 79 20 73 74 61 6e 64 61 72 d by any standar
24f0: 64 2c 20 61 6e 64 20 6f 6e 6c 79 20 50 52 4f 4a d, and only PROJ
2500: 2c 20 47 44 41 4c 20 61 6e 64 20 66 65 77 20 6f , GDAL and few o
2510: 74 68 65 72 20 46 4c 4f 53 53 20 2f 20 47 46 4f ther FLOSS / GFO
2520: 53 53 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f SS implementatio
2530: 6e 73 20 63 61 6e 20 75 6e 64 65 72 73 74 61 6e ns can understan
2540: 64 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 41 74 20 d them.<br>..At
2550: 74 68 65 20 6f 70 70 6f 73 69 74 65 2c 20 74 68 the opposite, th
2560: 65 20 6e 65 77 20 3c 62 3e 49 53 4f 2d 57 4b 54 e new <b>ISO-WKT
2570: 3c 2f 62 3e 20 69 73 20 66 6f 72 6d 61 6c 6c 79 </b> is formally
2580: 20 64 65 66 69 6e 65 64 20 62 79 20 61 6e 20 69 defined by an i
2590: 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 73 74 61 nternational sta
25a0: 6e 64 61 72 64 2c 20 61 6e 64 20 61 6c 6d 6f 73 ndard, and almos
25b0: 74 20 61 6c 6c 20 66 72 65 65 20 61 6e 64 20 70 t all free and p
25c0: 72 6f 70 72 69 65 74 61 72 79 20 69 6d 70 6c 65 roprietary imple
25d0: 6d 65 6e 74 61 74 69 6f 6e 73 20 61 72 65 20 65 mentations are e
25e0: 78 70 65 63 74 65 64 20 74 6f 20 73 75 70 70 6f xpected to suppo
25f0: 72 74 20 69 74 2e 3c 62 72 3e 3c 62 72 3e 0d 0a rt it.<br><br>..
2600: 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 <table cellspaci
2610: 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 ng="8" cellpaddi
2620: 6e 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d ng="16" bgcolor=
2630: 22 23 66 66 66 66 65 39 22 3e 0d 0a 3c 74 72 3e "#ffffe9">..<tr>
2640: 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 49 6d 70 6f <td>..<b><u>Impo
2650: 72 74 61 6e 74 20 6e 6f 74 69 63 65 3c 2f 75 3e rtant notice</u>
2660: 3c 2f 62 3e 3a 20 74 68 65 72 65 20 61 72 65 20 </b>: there are
2670: 73 65 76 65 72 61 6c 20 64 69 61 6c 65 63 74 73 several dialects
2680: 20 69 6e 20 74 68 65 20 57 4b 54 20 6e 6f 74 61 in the WKT nota
2690: 74 69 6f 6e 20 64 65 73 63 72 69 62 69 6e 67 20 tion describing
26a0: 43 52 53 65 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 CRSes.<br>..All
26b0: 74 68 65 6d 20 73 68 61 72 65 20 74 68 65 20 73 them share the s
26c0: 61 6d 65 20 63 6f 6d 6d 6f 6e 20 63 6f 72 65 20 ame common core
26d0: 61 6e 64 20 6d 61 69 6e 6c 79 20 64 69 66 66 65 and mainly diffe
26e0: 72 20 69 6e 20 66 65 77 20 6d 69 6e 6f 72 20 64 r in few minor d
26f0: 65 74 61 69 6c 73 2e 3c 62 72 3e 0d 0a 50 52 4f etails.<br>..PRO
2700: 4a 2e 36 20 63 61 6e 20 75 6e 64 65 72 73 74 61 J.6 can understa
2710: 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 nd the following
2720: 20 64 69 61 6c 65 63 74 73 3a 0d 0a 3c 6f 6c 3e dialects:..<ol>
2730: 0d 0a 3c 6c 69 3e 3c 62 3e 45 53 52 49 20 57 4b ..<li><b>ESRI WK
2740: 54 3c 2f 62 3e 3a 20 61 20 64 69 61 6c 65 63 74 T</b>: a dialect
2750: 20 77 69 64 65 6c 79 20 61 64 6f 70 74 65 64 20 widely adopted
2760: 62 79 20 45 53 52 49 20 70 72 6f 70 72 69 65 74 by ESRI propriet
2770: 61 72 79 20 73 6f 66 74 77 61 72 65 2e 3c 2f 6c ary software.</l
2780: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 47 44 41 4c 20 i>..<li><b>GDAL
2790: 57 4b 54 31 3c 2f 62 3e 3a 20 61 20 64 69 61 6c WKT1</b>: a dial
27a0: 65 63 74 20 68 69 73 74 6f 72 69 63 61 6c 6c 79 ect historically
27b0: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 supported by th
27c0: 65 20 6f 70 65 6e 20 73 6f 75 72 63 65 20 47 44 e open source GD
27d0: 41 4c 20 6c 69 62 72 61 72 79 2e 3c 2f 6c 69 3e AL library.</li>
27e0: 0d 0a 3c 6c 69 3e 3c 62 3e 57 4b 54 32 3a 32 30 ..<li><b>WKT2:20
27f0: 31 35 3c 2f 62 3e 3a 20 61 73 20 64 65 66 69 6e 15</b>: as defin
2800: 65 64 20 62 79 20 3c 62 3e 49 53 4f 20 31 39 31 ed by <b>ISO 191
2810: 36 32 3a 32 30 31 35 3c 2f 62 3e 20 73 74 61 6e 62:2015</b> stan
2820: 64 61 72 64 20 73 70 65 63 69 66 69 63 61 74 69 dard specificati
2830: 6f 6e 20 28 6e 6f 77 20 73 75 70 65 72 73 65 64 on (now supersed
2840: 65 64 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ed).</li>..<li><
2850: 62 3e 57 4b 54 32 3a 32 30 31 38 3c 2f 62 3e 3a b>WKT2:2018</b>:
2860: 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 74 as defined by t
2870: 68 65 20 6d 6f 72 65 20 72 65 63 65 6e 74 20 3c he more recent <
2880: 62 3e 49 53 4f 20 31 39 31 36 32 3a 32 30 31 38 b>ISO 19162:2018
2890: 3c 2f 62 3e 20 73 74 61 6e 64 61 72 64 20 73 70 </b> standard sp
28a0: 65 63 69 66 69 63 61 74 69 6f 6e 20 2e 3c 2f 6c ecification .</l
28b0: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ol>..</td>
28c0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c </tr>..</table><
28d0: 62 72 3e 0d 0a 3c 68 33 3e 54 72 61 6e 73 66 6f br>..<h3>Transfo
28e0: 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 rmation pipeline
28f0: 73 3c 2f 68 33 3e 0d 0a 54 68 65 72 65 20 69 73 s</h3>..There is
2900: 20 61 20 73 65 63 6f 6e 64 20 61 73 74 6f 6e 69 a second astoni
2910: 73 68 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 6e shing improvemen
2920: 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 50 t supported by P
2930: 52 4f 4a 2e 36 2c 20 74 68 61 74 20 61 72 65 20 ROJ.6, that are
2940: 3c 62 3e 3c 69 3e 74 72 61 6e 73 66 6f 72 6d 61 <b><i>transforma
2950: 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 73 3c 2f tion pipelines</
2960: 69 3e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 68 65 i></b>.<br>..Whe
2970: 6e 20 75 73 69 6e 67 20 61 20 3c 62 3e 3c 69 3e n using a <b><i>
2980: 70 69 70 65 6c 69 6e 65 3c 2f 69 3e 3c 2f 62 3e pipeline</i></b>
2990: 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20 you can freely
29a0: 64 65 66 69 6e 65 20 61 6e 79 20 63 6f 6d 70 6c define any compl
29b0: 65 78 20 67 65 6f 64 65 74 69 63 20 74 72 61 6e ex geodetic tran
29c0: 73 66 6f 72 6d 61 74 69 6f 6e 20 62 79 20 63 68 sformation by ch
29d0: 61 69 6e 69 6e 67 20 74 6f 67 65 74 68 65 72 20 aining together
29e0: 6d 61 6e 79 20 65 6c 65 6d 65 6e 74 61 72 79 20 many elementary
29f0: 73 74 65 70 73 20 73 75 63 68 20 61 73 20 63 6f steps such as co
2a00: 6e 76 65 72 73 69 6f 6e 2c 20 74 72 61 6e 73 66 nversion, transf
2a10: 6f 72 6d 61 74 69 6f 6e 2c 20 70 72 6f 6a 65 63 ormation, projec
2a20: 74 69 6f 6e 2c 20 61 78 69 73 20 73 77 61 70 20 tion, axis swap
2a30: 61 6e 64 20 73 6f 20 6f 6e 2e 3c 62 72 3e 0d 0a and so on.<br>..
2a40: 41 20 70 69 70 65 6c 69 6e 65 20 69 73 20 63 6f A pipeline is co
2a50: 6e 63 65 70 74 75 61 6c 6c 79 20 73 69 6d 69 6c nceptually simil
2a60: 61 72 20 74 6f 20 61 20 55 4e 49 58 20 73 68 65 ar to a UNIX she
2a70: 6c 6c 20 73 63 72 69 70 74 2c 20 77 69 74 68 20 ll script, with
2a80: 61 20 64 61 74 61 66 6c 6f 77 20 72 65 67 75 6c a dataflow regul
2a90: 61 72 6c 79 20 70 72 6f 63 65 64 69 6e 67 20 66 arly proceding f
2aa0: 6f 72 77 61 72 64 20 66 72 6f 6d 20 73 74 65 70 orward from step
2ab0: 20 74 6f 20 73 74 65 70 20 75 6e 74 69 6c 20 70 to step until p
2ac0: 72 6f 64 75 63 69 6e 67 20 74 68 65 20 66 69 6e roducing the fin
2ad0: 61 6c 20 72 65 73 75 6c 74 2e 3c 62 72 3e 0d 0a al result.<br>..
2ae0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 The following is
2af0: 20 61 20 70 72 61 63 74 69 61 6c 20 65 78 61 6d a practial exam
2b00: 70 6c 65 20 6f 66 20 61 20 70 69 70 65 6c 69 6e ple of a pipelin
2b10: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 e corresponding
2b20: 74 6f 20 61 20 74 72 61 6e 73 66 6f 72 6d 61 74 to a transformat
2b30: 69 6f 6e 20 66 72 6f 6d 20 3c 62 3e 45 50 53 47 ion from <b>EPSG
2b40: 3a 34 33 32 36 3c 2f 62 3e 20 3c 69 3e 57 47 53 :4326</b> <i>WGS
2b50: 20 38 34 3c 2f 69 3e 20 74 6f 20 3c 62 3e 45 50 84</i> to <b>EP
2b60: 53 47 3a 33 32 36 33 32 3c 2f 62 3e 20 3c 69 3e SG:32632</b> <i>
2b70: 57 47 53 20 38 34 20 2f 20 55 54 4d 20 7a 6f 6e WGS 84 / UTM zon
2b80: 65 20 33 32 4e 3c 2f 69 3e 3a 0d 0a 3c 76 65 72 e 32N</i>:..<ver
2b90: 62 61 74 69 6d 3e 0d 0a 2b 70 72 6f 6a 3d 70 69 batim>..+proj=pi
2ba0: 70 65 6c 69 6e 65 20 0d 0a 2b 73 74 65 70 20 2b peline ..+step +
2bb0: 70 72 6f 6a 3d 61 78 69 73 73 77 61 70 20 2b 6f proj=axisswap +o
2bc0: 72 64 65 72 3d 32 2c 31 20 0d 0a 2b 73 74 65 70 rder=2,1 ..+step
2bd0: 20 2b 70 72 6f 6a 3d 75 6e 69 74 63 6f 6e 76 65 +proj=unitconve
2be0: 72 74 20 2b 78 79 5f 69 6e 3d 64 65 67 20 2b 78 rt +xy_in=deg +x
2bf0: 79 5f 6f 75 74 3d 72 61 64 20 0d 0a 2b 73 74 65 y_out=rad ..+ste
2c00: 70 20 2b 70 72 6f 6a 3d 75 74 6d 20 2b 7a 6f 6e p +proj=utm +zon
2c10: 65 3d 33 32 20 2b 65 6c 6c 70 73 3d 57 47 53 38 e=32 +ellps=WGS8
2c20: 34 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 4..</verbatim>..
2c30: 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 <table cellspaci
2c40: 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 64 69 ng="8" cellpaddi
2c50: 6e 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f 72 3d ng="16" bgcolor=
2c60: 22 23 66 66 66 66 64 30 22 3e 0d 0a 3c 74 72 3e "#ffffd0">..<tr>
2c70: 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 55 73 65 66 <td>..<b><u>Usef
2c80: 75 6c 20 68 69 6e 74 3c 2f 75 3e 3c 2f 62 3e 3a ul hint</u></b>:
2c90: 20 50 52 4f 4a 2e 36 20 73 75 70 70 6f 72 74 73 PROJ.6 supports
2ca0: 20 61 20 6e 65 77 20 43 4c 49 20 74 6f 6f 6c 20 a new CLI tool
2cb0: 28 3c 62 3e 70 72 6f 6a 69 6e 66 6f 3c 2f 62 3e (<b>projinfo</b>
2cc0: 29 20 66 6f 72 20 69 6e 73 70 65 63 74 69 6e 67 ) for inspecting
2cd0: 20 69 6e 20 66 75 6c 6c 20 64 65 74 61 69 6c 20 in full detail
2ce0: 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 64 65 66 the internal def
2cf0: 69 6e 69 74 69 6f 6e 73 20 6f 66 20 43 52 53 65 initions of CRSe
2d00: 73 2c 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f s, Transformatio
2d10: 6e 73 20 65 74 63 2e 3c 62 72 3e 0d 0a 54 68 65 ns etc.<br>..The
2d20: 20 61 62 6f 76 65 20 70 69 70 65 6c 69 6e 65 20 above pipeline
2d30: 69 73 20 73 69 6d 70 6c 79 20 74 68 65 20 6f 75 is simply the ou
2d40: 74 70 75 74 20 6f 66 20 74 68 65 20 66 6f 6c 6c tput of the foll
2d50: 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 3a 0d 0a owing command:..
2d60: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 70 72 6f 6a <verbatim>..proj
2d70: 69 6e 66 6f 20 2d 73 20 45 50 53 47 3a 34 33 32 info -s EPSG:432
2d80: 36 20 2d 74 20 45 50 53 47 3a 33 32 36 33 32 20 6 -t EPSG:32632
2d90: 2d 6f 20 70 72 6f 6a 0d 0a 3c 2f 76 65 72 62 61 -o proj..</verba
2da0: 74 69 6d 3e 0d 0a 3c 62 3e 70 72 6f 6a 69 6e 66 tim>..<b>projinf
2db0: 6f 3c 2f 62 3e 20 69 73 20 61 20 76 65 72 79 20 o</b> is a very
2dc0: 70 72 65 63 69 6f 75 73 20 72 65 73 6f 75 72 63 precious resourc
2dd0: 65 3b 20 64 6f 6e 27 74 20 65 73 69 74 61 74 65 e; don't esitate
2de0: 20 74 6f 20 66 72 65 71 75 65 6e 74 6c 79 20 75 to frequently u
2df0: 73 65 20 69 74 20 69 6e 20 6f 72 64 65 72 20 74 se it in order t
2e00: 6f 20 64 69 73 63 6f 76 65 72 20 77 68 61 74 27 o discover what'
2e10: 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65 6e 69 s really happeni
2e20: 6e 67 20 62 65 68 69 6e 64 20 74 68 65 20 73 63 ng behind the sc
2e30: 65 6e 65 73 2e 3c 62 72 3e 0d 0a 49 74 27 73 20 enes.<br>..It's
2e40: 74 68 65 20 62 65 73 74 20 61 6e 64 20 65 61 73 the best and eas
2e50: 69 65 73 74 20 77 61 79 20 66 6f 72 20 66 75 6c iest way for ful
2e60: 6c 79 20 75 6e 64 65 72 73 74 61 6e 74 69 6e 67 ly understanting
2e70: 20 68 6f 77 20 50 52 4f 4a 2e 36 20 64 6f 20 72 how PROJ.6 do r
2e80: 65 61 6c 6c 79 20 77 6f 72 6b 73 2e 0d 0a 3c 2f eally works...</
2e90: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c td></tr>..</tabl
2ea0: 65 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 54 68 65 20 e><br>..<h3>The
2eb0: 70 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 64 private SQLite d
2ec0: 61 74 61 62 61 73 65 20 73 75 70 70 6f 72 74 69 atabase supporti
2ed0: 6e 67 20 50 52 4f 4a 2e 36 3c 2f 68 33 3e 0d 0a ng PROJ.6</h3>..
2ee0: 53 74 61 72 74 69 6e 67 20 73 69 6e 63 65 20 3c Starting since <
2ef0: 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 74 68 65 b>PROJ.6</b> the
2f00: 20 50 52 4f 4a 20 6c 69 62 72 61 72 79 20 72 65 PROJ library re
2f10: 71 75 69 72 65 73 20 61 6e 20 65 78 74 65 72 6e quires an extern
2f20: 61 6c 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 al SQLite databa
2f30: 73 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c se containing al
2f40: 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 62 l definitions ab
2f50: 6f 75 74 20 73 75 70 70 6f 72 74 65 64 20 43 52 out supported CR
2f60: 53 65 73 2c 20 45 6c 6c 69 70 73 6f 69 64 73 2c Ses, Ellipsoids,
2f70: 20 50 72 69 6d 65 20 4d 65 72 69 64 69 61 6e 73 Prime Meridians
2f80: 2c 20 55 6e 69 74 73 20 6f 66 20 4d 65 61 73 75 , Units of Measu
2f90: 72 65 2c 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 re, Transformati
2fa0: 6f 6e 73 20 61 6e 64 20 61 6c 69 6b 65 2e 3c 62 ons and alike.<b
2fb0: 72 3e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 20 r>..Many of the
2fc0: 6e 65 77 20 61 64 76 61 6e 63 65 64 20 50 52 4f new advanced PRO
2fd0: 4a 27 73 20 41 50 49 20 77 69 6c 6c 20 66 61 69 J's API will fai
2fe0: 6c 20 69 66 20 73 75 63 68 20 64 61 74 61 62 61 l if such databa
2ff0: 73 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 se is not availa
3000: 62 6c 65 20 61 74 20 72 75 6e 20 74 69 6d 65 2e ble at run time.
3010: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 ..<br><br>..<tab
3020: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 le cellspacing="
3030: 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 8" cellpadding="
3040: 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 8" bgcolor="#fff
3050: 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d fe9">..<tr><th>.
3060: 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 6c 65 61 .In order to lea
3070: 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 68 rn more about th
3080: 65 20 6d 61 6e 79 20 69 6e 74 65 72 65 73 74 69 e many interesti
3090: 6e 67 20 63 6f 6f 6c 20 6e 65 77 20 66 65 61 74 ng cool new feat
30a0: 75 72 65 73 20 73 75 70 70 6f 72 74 65 64 20 62 ures supported b
30b0: 79 20 50 52 4f 4a 2e 36 20 70 6c 65 61 73 65 20 y PROJ.6 please
30c0: 63 6f 6e 73 75 6c 74 20 74 68 65 20 3c 61 20 68 consult the <a h
30d0: 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 70 72 6f ref="https://pro
30e0: 6a 34 2e 6f 72 67 2f 22 3e 6f 72 69 67 69 6e 61 j4.org/">origina
30f0: 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c l documentation<
3100: 2f 61 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e 0d /a>..</th></tr>.
3110: 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c .</table><br>..<
3120: 68 72 3e 0d 0a 3c 68 31 3e 53 70 61 74 69 61 4c hr>..<h1>SpatiaL
3130: 69 74 65 2d 35 2e 30 2e 30 20 73 75 70 70 6f 72 ite-5.0.0 suppor
3140: 74 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f 68 31 3e ting PROJ.6</h1>
3150: 0d 0a 3c 68 33 3e 45 78 69 73 74 69 6e 67 20 53 ..<h3>Existing S
3160: 51 4c 20 66 75 6e 63 74 69 6f 6e 73 20 61 66 66 QL functions aff
3170: 65 63 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 3c ected by PROJ.6<
3180: 2f 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c /h3>..<table cel
3190: 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c lspacing="8" cel
31a0: 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 63 lpadding="8" bgc
31b0: 6f 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 62 olor="#e8ffe8" b
31c0: 6f 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e order="1">..<tr>
31d0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 <th bgcolor="#ff
31e0: 62 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74 69 b03e">SQL Functi
31f0: 6f 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c on</th><th bgcol
3200: 6f 72 3d 22 23 66 66 62 30 33 65 22 3e 45 78 74 or="#ffb03e">Ext
3210: 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65 3c ended signature<
3220: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
3230: 22 23 66 66 62 30 33 65 22 3e 42 65 68 61 76 69 "#ffb03e">Behavi
3240: 6f 72 20 75 6e 64 65 72 20 50 52 4f 4a 2e 36 3c or under PROJ.6<
3250: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c /th></tr>..<tr><
3260: 74 64 3e 3c 62 3e 53 54 5f 54 72 61 6e 73 66 6f td><b>ST_Transfo
3270: 72 6d 28 29 3c 2f 62 3e 3c 2f 74 64 3e 0d 0a 3c rm()</b></td>..<
3280: 74 64 3e 0d 0a 3c 62 3e 53 54 5f 54 72 61 6e 73 td>..<b>ST_Trans
3290: 66 6f 72 6d 3c 2f 62 3e 20 28 20 67 65 6f 6d 20 form</b> ( geom
32a0: 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 <i>Geometry</i>
32b0: 2c 20 6e 65 77 53 72 69 64 20 3c 69 3e 49 6e 74 , newSrid <i>Int
32c0: 65 67 65 72 3c 2f 69 3e 20 2c 20 61 72 65 61 20 eger</i> , area
32d0: 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 <i>Geometry</i>
32e0: 29 20 3a 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c ) : <i>Geometry<
32f0: 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 53 54 5f 54 /i><hr>..<b>ST_T
3300: 72 61 6e 73 66 6f 72 6d 3c 2f 62 3e 20 28 20 67 ransform</b> ( g
3310: 65 6f 6d 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c eom <i>Geometry<
3320: 2f 69 3e 20 2c 20 6e 65 77 53 72 69 64 20 3c 69 /i> , newSrid <i
3330: 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 61 >Integer</i> , a
3340: 72 65 61 20 3c 69 3e 47 65 6f 6d 65 74 72 79 3c rea <i>Geometry<
3350: 2f 69 3e 20 2c 20 6d 65 74 68 6f 64 20 3c 69 3e /i> , method <i>
3360: 54 65 78 74 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e Text</i> ) : <i>
3370: 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 3c 68 72 3e Geometry</i><hr>
3380: 0d 0a 3c 62 3e 53 54 5f 54 72 61 6e 73 66 6f 72 ..<b>ST_Transfor
3390: 6d 3c 2f 62 3e 20 28 20 67 65 6f 6d 20 3c 69 3e m</b> ( geom <i>
33a0: 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 2c 20 6e Geometry</i> , n
33b0: 65 77 53 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 ewSrid <i>Intege
33c0: 72 3c 2f 69 3e 20 2c 20 61 72 65 61 20 3c 69 3e r</i> , area <i>
33d0: 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 20 2c 20 6d Geometry</i> , m
33e0: 65 74 68 6f 64 20 3c 69 3e 54 65 78 74 3c 2f 69 ethod <i>Text</i
33f0: 3e 20 2c 20 70 72 6f 6a 5f 73 74 72 69 6e 67 20 > , proj_string
3400: 3c 69 3e 54 65 78 74 3c 2f 69 3e 20 29 20 3a 20 <i>Text</i> ) :
3410: 3c 69 3e 47 65 6f 6d 65 74 72 79 3c 2f 69 3e 0d <i>Geometry</i>.
3420: 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 74 .</td>..<td>..<t
3430: 61 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 able cellspacing
3440: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
3450: 3d 22 34 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="4" bgcolor="#f
3460: 66 66 66 64 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 fffd0">..<tr><td
3470: 3e 0d 0a 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 65 >..<b><u><i>Note
3480: 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 61 6c </i></u></b>: al
3490: 6c 20 74 68 65 73 65 20 3c 62 3e 3c 69 3e 65 78 l these <b><i>ex
34a0: 74 65 6e 64 65 64 20 73 69 67 6e 61 74 75 72 65 tended signature
34b0: 73 3c 2f 69 3e 3c 2f 62 3e 20 61 72 65 20 73 75 s</i></b> are su
34c0: 70 70 6f 72 74 65 64 20 6f 6e 6c 79 20 77 68 65 pported only whe
34d0: 6e 20 3c 62 3e 6c 69 62 73 70 61 74 69 61 6c 69 n <b>libspatiali
34e0: 74 65 2d 35 2e 30 3c 2f 62 3e 20 68 61 73 20 62 te-5.0</b> has b
34f0: 65 65 6e 20 62 75 69 6c 74 20 6f 6e 20 74 68 65 een built on the
3500: 20 74 6f 70 20 6f 66 20 3c 62 3e 50 52 4f 4a 2e top of <b>PROJ.
3510: 36 3c 2f 62 3e 3c 62 72 3e 0d 0a 49 66 20 74 68 6</b><br>..If th
3520: 65 20 6c 69 62 72 61 72 79 20 68 61 73 20 62 65 e library has be
3530: 65 6e 20 62 75 69 6c 74 20 69 6e 73 74 65 61 64 en built instead
3540: 20 6f 6e 20 65 61 72 6c 69 65 72 20 76 65 72 73 on earlier vers
3550: 69 6f 6e 73 20 6f 66 20 50 52 4f 4a 20 61 6e 79 ions of PROJ any
3560: 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 6c 6c attempt to call
3570: 20 74 68 65 73 65 20 65 78 74 65 6e 64 65 64 20 these extended
3580: 73 69 67 6e 61 74 75 72 65 73 20 77 69 6c 6c 20 signatures will
3590: 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 3c 62 just return a <b
35a0: 3e 3c 69 3e 77 72 6f 6e 67 20 6e 75 6d 62 65 72 ><i>wrong number
35b0: 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f of arguments to
35c0: 20 66 75 6e 63 74 69 6f 6e 20 53 54 5f 54 72 61 function ST_Tra
35d0: 6e 73 66 6f 72 6d 28 29 3c 2f 69 3e 3c 2f 62 3e nsform()</i></b>
35e0: 20 65 72 72 6f 72 2e 0d 0a 3c 2f 74 64 3e 3c 74 error...</td><t
35f0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e r>..</table><br>
3600: 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 ..<table cellspa
3610: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
3620: 64 69 6e 67 3d 22 34 22 20 62 67 63 6f 6c 6f 72 ding="4" bgcolor
3630: 3d 22 23 66 66 64 66 64 30 22 3e 0d 0a 3c 74 72 ="#ffdfd0">..<tr
3640: 3e 3c 74 64 3e 0d 0a 41 6e 79 20 69 6e 76 61 6c ><td>..Any inval
3650: 69 64 20 61 72 67 75 6d 65 6e 74 20 70 61 73 73 id argument pass
3660: 65 64 20 74 6f 20 3c 62 3e 53 54 5f 54 72 61 6e ed to <b>ST_Tran
3670: 73 66 6f 72 6d 28 29 3c 2f 62 3e 20 28 3c 62 3e sform()</b> (<b>
3680: 3c 69 3e 65 78 74 65 6e 64 65 64 20 73 69 67 6e <i>extended sign
3690: 61 74 75 72 65 73 3c 2f 69 3e 3c 2f 62 3e 29 20 atures</i></b>)
36a0: 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 3c 62 will raise an <b
36b0: 3e 53 51 4c 20 45 78 63 65 70 74 69 6f 6e 3c 2f >SQL Exception</
36c0: 62 3e 2e 0d 0a 3c 2f 74 64 3e 3c 74 72 3e 0d 0a b>...</td><tr>..
36d0: 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 75 </table><br>..<u
36e0: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 l>..<li>the opti
36f0: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 onal argument <b
3700: 3e 61 72 65 61 3c 2f 62 3e 20 6d 61 79 20 62 65 >area</b> may be
3710: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 3c 69 <b>NULL</b> (<i
3720: 3e 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 >default setting
3730: 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 4f 74 68 65 </i>).<br>..Othe
3740: 72 77 69 73 65 20 69 74 27 73 20 65 78 70 65 63 rwise it's expec
3750: 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 ted to contain a
3760: 20 76 61 6c 69 64 20 47 65 6f 6d 65 74 72 79 20 valid Geometry
3770: 69 6e 20 3c 62 3e 53 52 49 44 3d 34 33 32 36 20 in <b>SRID=4326
3780: 28 6c 6f 6e 67 2f 6c 61 74 29 3c 2f 62 3e 2e 0d (long/lat)</b>..
3790: 0a 57 68 65 6e 20 61 6e 20 3c 62 3e 3c 69 3e 61 .When an <b><i>a
37a0: 72 65 61 20 6f 66 20 75 73 65 3c 2f 69 3e 3c 2f rea of use</i></
37b0: 62 3e 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 b> is explicitly
37c0: 20 73 75 70 70 6c 69 65 64 2c 20 74 68 65 6e 20 supplied, then
37d0: 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 6d 61 <b>PROJ.6</b> ma
37e0: 79 20 65 76 65 6e 74 75 61 6c 6c 79 20 75 73 65 y eventually use
37f0: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 the correspondi
3800: 6e 67 20 3c 62 3e 42 42 4f 58 3c 2f 62 3e 20 66 ng <b>BBOX</b> f
3810: 6f 72 20 66 69 6e 65 6c 79 20 74 75 6e 69 6e 67 or finely tuning
3820: 20 74 68 65 20 6d 6f 72 65 20 61 63 63 75 72 61 the more accura
3830: 74 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f te transformatio
3840: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 n.</li>..<li>the
3850: 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 optional argume
3860: 6e 74 20 3c 62 3e 6d 65 74 68 6f 64 3c 2f 62 3e nt <b>method</b>
3870: 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 is expected to
3880: 63 6f 6e 74 61 69 6e 20 6f 6e 65 20 74 68 65 20 contain one the
3890: 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 following values
38a0: 20 28 3c 62 3e 61 75 74 68 5f 6e 61 6d 65 3a 61 (<b>auth_name:a
38b0: 75 74 68 5f 73 74 72 69 64 3c 2f 62 3e 20 77 69 uth_strid</b> wi
38c0: 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 73 73 ll be always ass
38d0: 75 6d 65 64 20 61 73 20 74 68 65 20 3c 69 3e 64 umed as the <i>d
38e0: 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 3c 2f efault setting</
38f0: 69 3e 29 3a 3c 2f 6c 69 3e 0d 0a 3c 75 6c 3e 0d i>):</li>..<ul>.
3900: 0a 3c 6c 69 3e 3c 62 3e 70 72 6f 6a 34 74 65 78 .<li><b>proj4tex
3910: 74 3c 2f 62 3e 3a 20 62 6f 74 68 20 43 52 53 65 t</b>: both CRSe
3920: 73 20 28 6f 72 69 67 69 6e 20 61 6e 64 20 64 65 s (origin and de
3930: 73 74 69 6e 61 74 69 6f 6e 29 20 77 69 6c 6c 20 stination) will
3940: 62 65 20 64 65 66 69 6e 65 64 20 62 79 20 70 61 be defined by pa
3950: 73 73 69 6e 67 20 74 6f 20 50 52 4f 4a 2e 36 20 ssing to PROJ.6
3960: 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 73 the traditionals
3970: 20 3c 62 3e 70 72 6f 6a 2d 73 74 72 69 6e 67 3c <b>proj-string<
3980: 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 /b> definitions
3990: 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f for the correspo
39a0: 6e 64 69 6e 67 20 53 52 49 44 73 20 72 65 74 72 nding SRIDs retr
39b0: 69 65 76 65 64 20 66 72 6f 6d 20 63 6f 6c 75 6d ieved from colum
39c0: 6e 20 3c 62 3e 70 72 6f 6a 34 74 65 78 74 3c 2f n <b>proj4text</
39d0: 62 3e 20 69 6e 20 54 61 62 6c 65 20 3c 62 3e 73 b> in Table <b>s
39e0: 70 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f patial_ref_sys</
39f0: 62 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 65 78 61 b><br>..This exa
3a00: 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64 73 ctly corresponds
3a10: 20 74 6f 20 74 68 65 20 77 65 6c 6c 20 65 78 74 to the well ext
3a20: 61 62 6c 69 73 68 65 64 20 74 72 61 64 69 74 69 ablished traditi
3a30: 6f 6e 61 6c 20 62 65 68 61 76 69 6f 72 20 6f 66 onal behavior of
3a40: 20 61 6c 6c 20 70 72 65 76 69 6f 75 73 20 76 65 all previous ve
3a50: 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 6c 69 62 rsions of <b>lib
3a60: 73 70 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 61 spatialite</b> a
3a70: 6e 64 20 73 74 69 6c 6c 20 63 6f 6e 74 69 6e 75 nd still continu
3a80: 65 73 20 74 6f 20 62 65 20 73 75 70 70 6f 72 74 es to be support
3a90: 65 64 2c 20 62 75 74 20 3c 62 3e 3c 75 3e 3c 69 ed, but <b><u><i
3aa0: 3e 69 73 6e 27 74 20 61 6e 79 20 6c 6f 6e 67 65 >isn't any longe
3ab0: 72 20 74 68 65 20 62 65 73 74 20 77 61 79 20 66 r the best way f
3ac0: 6f 72 20 74 61 6b 69 6e 67 20 66 75 6c 6c 20 70 or taking full p
3ad0: 72 6f 66 69 74 20 6f 66 20 74 68 65 20 6d 6f 72 rofit of the mor
3ae0: 65 20 61 64 76 61 6e 63 65 64 20 63 61 70 61 62 e advanced capab
3af0: 69 6c 69 74 69 65 73 20 6f 66 20 50 52 4f 4a 2e ilities of PROJ.
3b00: 36 3c 2f 69 3e 3c 2f 75 3e 3c 2f 62 3e 3c 2f 6c 6</i></u></b></l
3b10: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 72 74 65 78 i>..<li><b>srtex
3b20: 74 3c 2f 62 3e 3a 20 62 6f 74 68 20 43 52 53 65 t</b>: both CRSe
3b30: 73 20 28 6f 72 69 67 69 6e 20 61 6e 64 20 64 65 s (origin and de
3b40: 73 74 69 6e 61 74 69 6f 6e 29 20 77 69 6c 6c 20 stination) will
3b50: 62 65 20 64 65 66 69 6e 65 64 20 62 79 20 70 61 be defined by pa
3b60: 73 73 69 6e 67 20 74 6f 20 50 52 4f 4a 2e 36 20 ssing to PROJ.6
3b70: 74 68 65 20 3c 62 3e 57 4b 54 3c 2f 62 3e 20 64 the <b>WKT</b> d
3b80: 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 72 20 74 efinitions for t
3b90: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
3ba0: 20 53 52 49 44 73 20 72 65 74 72 69 65 76 65 64 SRIDs retrieved
3bb0: 20 66 72 6f 6d 20 63 6f 6c 75 6d 6e 20 3c 62 3e from column <b>
3bc0: 73 72 74 65 78 74 3c 2f 62 3e 20 69 6e 20 54 61 srtext</b> in Ta
3bd0: 62 6c 65 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 ble <b>spatial_r
3be0: 65 66 5f 73 79 73 3c 2f 62 3e 3c 2f 6c 69 3e 0d ef_sys</b></li>.
3bf0: 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f 6e 61 6d .<li><b>auth_nam
3c00: 65 3a 61 75 74 68 5f 73 72 69 64 3c 2f 62 3e 3a e:auth_srid</b>:
3c10: 20 62 6f 74 68 20 43 52 53 65 73 20 28 6f 72 69 both CRSes (ori
3c20: 67 69 6e 20 61 6e 64 20 64 65 73 74 69 6e 61 74 gin and destinat
3c30: 69 6f 6e 29 20 77 69 6c 6c 20 62 65 20 64 65 66 ion) will be def
3c40: 69 6e 65 64 20 62 79 20 69 67 6e 6f 72 69 6e 67 ined by ignoring
3c50: 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 the definitions
3c60: 20 73 74 6f 72 65 64 20 69 6e 20 3c 62 3e 73 70 stored in <b>sp
3c70: 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 3c 2f 62 atial_ref_sys</b
3c80: 3e 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 50 52 > and leaving PR
3c90: 4f 4a 2e 36 20 66 72 65 65 20 74 6f 20 72 65 74 OJ.6 free to ret
3ca0: 72 69 65 76 65 20 74 68 65 69 72 20 63 6f 72 72 rieve their corr
3cb0: 65 73 70 6f 6e 64 69 6e 67 20 64 65 66 69 6e 69 esponding defini
3cc0: 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 73 20 6f tions from its o
3cd0: 77 6e 20 70 72 69 76 61 74 65 20 53 51 4c 69 74 wn private SQLit
3ce0: 65 20 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d e database.<br>.
3cf0: 0a 3c 62 3e 3c 75 3e 3c 69 3e 4e 6f 74 65 3c 2f .<b><u><i>Note</
3d00: 69 3e 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 69 73 i></u></b>: this
3d10: 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 61 6c 77 method will alw
3d20: 61 79 73 20 74 61 6b 65 20 66 75 6c 6c 20 70 72 ays take full pr
3d30: 6f 66 69 74 20 6f 66 20 74 68 65 20 6d 6f 72 65 ofit of the more
3d40: 20 61 64 76 61 6e 63 65 64 20 63 61 70 61 62 69 advanced capabi
3d50: 6c 69 74 69 65 73 20 6f 66 20 50 52 4f 4a 2e 36 lities of PROJ.6
3d60: 2c 20 65 76 65 6e 20 77 68 65 6e 20 75 73 69 6e , even when usin
3d70: 67 20 73 6f 6d 65 20 53 70 61 74 69 61 4c 69 74 g some SpatiaLit
3d80: 65 20 64 61 74 61 62 61 73 65 20 63 72 65 61 74 e database creat
3d90: 65 64 20 62 79 20 65 61 72 6c 69 65 72 20 76 65 ed by earlier ve
3da0: 72 73 69 6f 6e 73 20 6e 6f 74 20 79 65 74 20 73 rsions not yet s
3db0: 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 upporting PROJ.6
3dc0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 70 72 </li>..<li><b>pr
3dd0: 6f 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e 3a 20 61 oj_string</b>: a
3de0: 6e 20 3c 62 3e 3c 69 3e 75 73 65 72 2d 64 65 66 n <b><i>user-def
3df0: 69 6e 65 64 20 70 72 6f 6a 2d 73 74 72 69 6e 67 ined proj-string
3e00: 3c 2f 69 3e 3c 2f 62 3e 20 28 6d 61 79 20 62 65 </i></b> (may be
3e10: 20 6f 6e 65 20 64 65 66 69 6e 69 6e 69 6e 67 20 one definining
3e20: 61 20 3c 62 3e 3c 69 3e 74 72 61 6e 73 66 6f 72 a <b><i>transfor
3e30: 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 3c mation pipeline<
3e40: 2f 69 3e 3c 2f 62 3e 29 20 77 69 6c 6c 20 62 65 /i></b>) will be
3e50: 20 70 61 73 73 65 64 20 74 6f 20 50 52 4f 4a 2e passed to PROJ.
3e60: 36 3b 20 74 68 69 73 20 69 73 20 61 6e 20 61 64 6; this is an ad
3e70: 76 61 6e 63 65 64 20 6f 70 74 69 6f 6e 20 72 65 vanced option re
3e80: 73 65 72 76 65 64 20 74 6f 20 73 6b 69 6c 6c 65 served to skille
3e90: 64 20 70 6f 77 65 72 20 75 73 65 72 73 2e 3c 2f d power users.</
3ea0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
3eb0: 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 .<li>the optiona
3ec0: 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e 70 72 l argument <b>pr
3ed0: 6f 6a 5f 73 74 72 69 6e 67 3c 2f 62 3e 20 6d 61 oj_string</b> ma
3ee0: 79 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e y be <b>NULL</b>
3ef0: 20 28 3c 69 3e 64 65 66 61 75 6c 74 20 73 65 74 (<i>default set
3f00: 74 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a ting</i>).<br>..
3f10: 4f 74 68 65 72 77 69 73 65 20 69 74 27 73 20 65 Otherwise it's e
3f20: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
3f30: 69 6e 20 61 20 76 61 6c 69 64 20 3c 62 3e 50 52 in a valid <b>PR
3f40: 4f 4a 2e 36 20 3c 69 3e 74 72 61 6e 73 66 6f 72 OJ.6 <i>transfor
3f50: 6d 61 74 69 6f 6e 20 73 74 72 69 6e 67 3c 2f 69 mation string</i
3f60: 3e 3c 2f 62 3e 2c 20 6d 61 79 20 77 65 6c 6c 20 ></b>, may well
3f70: 62 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 be corresponding
3f80: 20 74 6f 20 61 6e 20 3c 62 3e 3c 69 3e 75 73 65 to an <b><i>use
3f90: 72 2d 64 65 66 69 6e 65 64 20 74 72 61 6e 73 66 r-defined transf
3fa0: 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e ormation pipelin
3fb0: 65 3c 2f 69 3e 3c 2f 62 3e 2e 0d 0a 4d 65 61 6e e</i></b>...Mean
3fc0: 69 6e 67 66 75 6c 20 6f 6e 6c 79 20 69 6e 20 74 ingful only in t
3fd0: 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 6d 65 he case of <b>me
3fe0: 74 68 6f 64 3d 70 72 6f 6a 5f 73 74 72 69 6e 67 thod=proj_string
3ff0: 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e </b></li>..</ul>
4000: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 ..</td></tr>..<t
4010: 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 33 r><td colspan="3
4020: 22 3e 0d 0a 3c 68 33 3e 4e 6f 74 65 73 3c 2f 68 ">..<h3>Notes</h
4030: 33 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 53 70 3>..<ul>..<li>Sp
4040: 61 74 69 61 4c 69 74 65 20 64 6f 65 73 20 6e 6f atiaLite does no
4050: 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 79 6f t constraints yo
4060: 75 20 69 6e 20 61 6e 79 20 77 61 79 20 61 6e 64 u in any way and
4070: 20 66 75 6c 6c 79 20 72 65 73 70 65 63 74 73 20 fully respects
4080: 75 73 65 72 73 20 66 72 65 65 64 6f 6d 20 63 61 users freedom ca
4090: 72 65 66 75 6c 6c 79 20 61 76 6f 69 64 69 6e 67 refully avoiding
40a0: 20 3c 69 3e 61 75 74 6f 2d 6d 61 67 69 63 61 6c <i>auto-magical
40b0: 3c 2f 69 3e 20 61 73 73 75 6d 70 74 69 6f 6e 73 </i> assumptions
40c0: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 ...<ul>..<li>The
40d0: 20 6e 65 77 20 3c 62 3e 3c 69 3e 65 78 74 65 6e new <b><i>exten
40e0: 64 65 64 20 73 69 67 6e 61 74 75 72 65 73 3c 2f ded signatures</
40f0: 69 3e 3c 2f 62 3e 20 73 75 70 70 6f 72 74 65 64 i></b> supported
4100: 20 62 79 20 3c 62 3e 53 54 5f 54 72 61 6e 73 66 by <b>ST_Transf
4110: 6f 72 6d 3c 2f 62 3e 20 63 6c 6f 73 65 6c 79 20 orm</b> closely
4120: 6d 69 6d 69 63 20 74 68 65 20 6d 6f 73 74 20 72 mimic the most r
4130: 65 63 65 6e 74 20 50 52 4f 4a 2e 36 20 41 50 49 ecent PROJ.6 API
4140: 2c 20 73 6f 20 79 6f 75 20 61 72 65 20 66 72 65 , so you are fre
4150: 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 e to define your
4160: 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 74 72 61 coordinates tra
4170: 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 69 6e 20 nsformations in
4180: 73 65 76 65 72 61 6c 20 64 69 66 66 65 72 65 6e several differen
4190: 74 20 77 61 79 73 2e 3c 2f 6c 69 3e 20 0d 0a 3c t ways.</li> ..<
41a0: 6c 69 3e 54 68 65 20 64 65 66 61 75 6c 74 20 62 li>The default b
41b0: 65 68 61 76 69 6f 72 20 6f 66 20 53 70 61 74 69 ehavior of Spati
41c0: 61 4c 69 74 65 20 77 68 65 6e 20 75 73 69 6e 67 aLite when using
41d0: 20 50 52 4f 4a 2e 36 20 69 73 20 74 6f 20 63 6f PROJ.6 is to co
41e0: 6d 70 6c 65 74 65 6c 79 20 69 67 6e 6f 72 65 20 mpletely ignore
41f0: 74 68 65 20 43 52 53 20 64 65 66 69 6e 69 74 69 the CRS definiti
4200: 6f 6e 73 20 73 74 6f 72 65 64 20 77 69 74 68 69 ons stored withi
4210: 6e 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 74 n the internal t
4220: 61 62 6c 65 20 3c 62 3e 73 70 61 74 69 61 6c 5f able <b>spatial_
4230: 72 65 66 5f 73 79 73 3c 2f 62 3e 3c 62 72 3e 0d ref_sys</b><br>.
4240: 0a 41 6e 79 20 72 65 71 75 69 72 65 64 20 43 52 .Any required CR
4250: 53 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 6c S definition wil
4260: 6c 20 62 65 20 61 6c 77 61 79 73 20 72 65 74 72 l be always retr
4270: 69 65 76 65 64 20 66 6f 72 6d 20 74 68 65 20 70 ieved form the p
4280: 72 69 76 61 74 65 20 53 51 4c 69 74 65 20 64 61 rivate SQLite da
4290: 74 61 62 61 73 65 20 73 75 70 70 6f 72 74 69 6e tabase supportin
42a0: 67 20 50 52 4f 4a 2e 36 20 28 3c 69 3e 6d 65 74 g PROJ.6 (<i>met
42b0: 68 6f 64 3c 2f 69 3e 3d 3c 62 3e 61 75 74 68 5f hod</i>=<b>auth_
42c0: 6e 61 6d 65 3a 61 75 74 68 5f 73 72 69 64 3c 2f name:auth_srid</
42d0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 b>).</li>..<li>I
42e0: 66 20 79 6f 75 20 68 61 76 65 20 61 6e 79 20 67 f you have any g
42f0: 6f 6f 64 20 72 65 61 73 6f 6e 20 73 75 67 67 65 ood reason sugge
4300: 73 74 69 6e 67 20 74 6f 20 64 6f 20 73 75 63 68 sting to do such
4310: 20 61 20 74 68 69 6e 67 2c 20 79 6f 75 20 61 72 a thing, you ar
4320: 65 20 61 6e 79 77 61 79 20 66 72 65 65 20 74 6f e anyway free to
4330: 20 75 73 65 20 74 68 65 20 70 72 6f 6a 2d 73 74 use the proj-st
4340: 72 69 6e 67 73 20 28 3c 69 3e 6d 65 74 68 6f 64 rings (<i>method
4350: 3c 2f 69 3e 3d 3c 62 3e 70 72 6f 6a 34 74 65 78 </i>=<b>proj4tex
4360: 74 3c 2f 62 3e 29 20 6f 72 20 74 68 65 20 57 4b t</b>) or the WK
4370: 54 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 3c T definitions (<
4380: 69 3e 6d 65 74 68 6f 64 3c 2f 69 3e 3d 3c 62 3e i>method</i>=<b>
4390: 73 72 74 65 78 3c 2f 62 3e 74 29 20 73 74 6f 72 srtex</b>t) stor
43a0: 65 64 20 69 6e 74 6f 20 74 68 65 20 69 6e 74 65 ed into the inte
43b0: 72 6e 61 6c 20 74 61 62 6c 65 20 3c 62 3e 73 70 rnal table <b>sp
43c0: 61 74 69 61 6c 5f 72 65 66 5f 73 79 73 20 74 61 atial_ref_sys ta
43d0: 62 6c 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 42 75 ble</b>.<br>..Bu
43e0: 74 20 74 68 69 73 20 69 73 20 75 6e 64 65 72 20 t this is under
43f0: 79 6f 75 72 20 66 75 6c 6c 20 72 65 73 70 6f 6e your full respon
4400: 73 69 62 69 6c 69 74 79 2c 20 61 6e 64 20 79 6f sibility, and yo
4410: 75 20 6d 75 73 74 20 62 65 20 77 65 6c 6c 20 73 u must be well s
4420: 65 6c 66 2d 63 6f 6e 73 63 69 6f 75 73 20 6f 66 elf-conscious of
4430: 20 77 68 61 74 20 61 72 65 20 79 6f 75 20 64 6f what are you do
4440: 69 6e 67 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ing.</li>..</ul>
4450: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 70 61 74 69 </li>..<li>Spati
4460: 61 4c 69 74 65 20 65 6e 63 6f 75 72 61 67 65 73 aLite encourages
4470: 20 61 6e 64 20 70 72 6f 6d 6f 74 65 73 20 74 68 and promotes th
4480: 65 20 6d 6f 73 74 20 63 72 65 61 74 69 76 65 20 e most creative
4490: 75 73 65 73 20 6f 66 20 50 52 4f 4a 2e 36 2c 20 uses of PROJ.6,
44a0: 74 68 69 73 20 69 6e 63 6c 75 64 69 6e 67 20 3c this including <
44b0: 62 3e 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e b>transformation
44c0: 20 70 69 70 65 6c 69 6e 65 73 3c 2f 62 3e 2e 3c pipelines</b>.<
44d0: 62 72 3e 0d 0a 43 6f 72 72 65 63 74 6c 79 20 75 br>..Correctly u
44e0: 73 69 6e 67 20 3c 69 3e 6d 65 74 68 6f 64 3c 2f sing <i>method</
44f0: 69 3e 3d 3c 62 3e 70 72 6f 6a 5f 73 74 72 69 6e i>=<b>proj_strin
4500: 67 3c 2f 62 3e 20 66 6f 72 20 63 6f 6d 70 75 74 g</b> for comput
4510: 69 6e 67 20 63 75 73 74 6f 6d 20 74 72 61 6e 73 ing custom trans
4520: 66 6f 72 6d 61 74 69 6f 6e 73 20 69 73 6e 27 74 formations isn't
4530: 20 6e 65 63 65 73 73 61 72 69 6c 79 20 73 69 6d necessarily sim
4540: 70 6c 65 20 61 6e 64 20 65 61 73 79 2c 20 62 75 ple and easy, bu
4550: 74 20 69 74 27 73 20 61 20 62 69 67 20 6f 70 70 t it's a big opp
4560: 6f 72 74 75 6e 69 74 79 20 66 6f 72 20 61 6c 6c ortunity for all
4570: 20 73 6b 69 6c 6c 65 64 20 61 6e 64 20 74 61 6c skilled and tal
4580: 65 6e 74 65 64 20 70 6f 77 65 72 20 75 73 65 72 ented power user
4590: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 s.</li>..</ul><b
45a0: 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 r><br>..</td></t
45b0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e r>..</table><br>
45c0: 0d 0a 46 65 77 20 70 72 61 63 74 69 63 61 6c 20 ..Few practical
45d0: 53 51 4c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c SQL examples:..<
45e0: 76 65 72 62 61 74 69 6d 3e 0d 0a 2d 2d 20 74 6f verbatim>..-- to
45f0: 20 45 50 53 47 3a 33 30 30 33 20 2d 20 64 65 66 EPSG:3003 - def
4600: 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3b 20 69 ault settings; i
4610: 67 6e 6f 72 69 6e 67 20 73 70 61 74 69 61 6c 69 gnoring spatiali
4620: 74 65 5f 72 65 66 5f 73 79 73 20 61 6e 64 20 75 te_ref_sys and u
4630: 73 69 6e 67 20 74 68 65 20 50 52 4f 4a 2e 36 20 sing the PROJ.6
4640: 6f 77 6e 20 70 72 69 76 61 74 65 20 64 61 74 61 own private data
4650: 62 61 73 65 0d 0a 53 45 4c 45 43 54 20 41 73 45 base..SELECT AsE
4660: 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f WKT ( ST_Transfo
4670: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 rm( MakePoint( 1
4680: 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 1.878056 , 43.46
4690: 33 30 35 36 20 2c 20 34 33 32 36 20 29 20 2c 20 3056 , 4326 ) ,
46a0: 33 30 30 33 20 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 3003 ));..------
46b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
46c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
46d0: 0a 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 .SRID=3003;POINT
46e0: 28 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 37 (1732852.9427167
46f0: 36 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 39 69 4816277.61769
4700: 30 36 37 34 29 0d 0a 0d 0a 2d 2d 20 74 6f 20 45 0674)....-- to E
4710: 50 53 47 3a 33 30 30 33 20 2d 20 4e 55 4c 4c 20 PSG:3003 - NULL
4720: 61 72 65 61 20 6f 66 20 75 73 65 2c 20 75 73 69 area of use, usi
4730: 6e 67 20 57 4b 54 20 64 65 66 69 6e 69 74 69 6f ng WKT definitio
4740: 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 61 6c 5f ns from spatial_
4750: 72 65 66 5f 73 79 73 2e 73 72 74 65 78 74 0d 0a ref_sys.srtext..
4760: 53 45 4c 45 43 54 20 41 73 45 57 4b 54 20 28 20 SELECT AsEWKT (
4770: 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 ST_Transform( Ma
4780: 6b 65 50 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 kePoint( 11.8780
4790: 35 36 20 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 56 , 43.463056,
47a0: 34 33 32 36 20 29 20 2c 20 33 30 30 33 20 2c 20 4326 ) , 3003 ,
47b0: 4e 55 4c 4c 20 2c 20 27 73 72 74 65 78 74 27 20 NULL , 'srtext'
47c0: 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ));..-----------
47d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
47e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 52 49 44 ----------..SRID
47f0: 3d 33 30 30 33 3b 50 4f 49 4e 54 28 31 37 33 32 =3003;POINT(1732
4800: 38 35 32 2e 39 34 32 37 31 36 37 36 39 20 34 38 852.942716769 48
4810: 31 36 32 37 37 2e 36 31 37 36 39 30 36 37 34 29 16277.617690674)
4820: 0d 0a 0d 0a 2d 2d 20 74 6f 20 45 50 53 47 3a 33 ....-- to EPSG:3
4830: 30 30 33 20 2d 20 4e 55 4c 4c 20 61 72 65 61 20 003 - NULL area
4840: 6f 66 20 75 73 65 2c 20 75 73 69 6e 67 20 70 72 of use, using pr
4850: 6f 6a 2d 73 74 72 69 6e 67 20 64 65 66 69 6e 69 oj-string defini
4860: 74 69 6f 6e 73 20 66 72 6f 6d 20 73 70 61 74 69 tions from spati
4870: 61 6c 5f 72 65 66 5f 73 79 73 2e 70 72 6f 6a 34 al_ref_sys.proj4
4880: 74 65 78 74 0d 0a 53 45 4c 45 43 54 20 41 73 45 text..SELECT AsE
4890: 57 4b 54 20 28 20 53 54 5f 54 72 61 6e 73 66 6f WKT ( ST_Transfo
48a0: 72 6d 28 20 4d 61 6b 65 50 6f 69 6e 74 28 20 31 rm( MakePoint( 1
48b0: 31 2e 38 37 38 30 35 36 20 2c 20 34 33 2e 34 36 1.878056 , 43.46
48c0: 33 30 35 36 2c 20 34 33 32 36 20 29 20 2c 20 33 3056, 4326 ) , 3
48d0: 30 30 33 20 2c 20 4e 55 4c 4c 20 2c 20 27 70 72 003 , NULL , 'pr
48e0: 6f 6a 34 74 65 78 74 27 20 29 29 3b 0d 0a 2d 2d oj4text' ));..--
48f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4910: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 ---..SRID=3003;P
4920: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32 OINT(1732852.942
4930: 37 31 36 37 36 39 20 34 38 31 36 32 37 37 2e 36 716769 4816277.6
4940: 31 37 36 39 30 36 37 34 29 0d 0a 3c 2f 76 65 72 17690674)..</ver
4950: 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 66 69 72 batim>..This fir
4960: 73 74 20 74 65 73 74 20 69 73 20 62 61 73 65 64 st test is based
4970: 20 6f 6e 20 61 20 6e 65 77 20 53 70 61 74 69 61 on a new Spatia
4980: 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 63 72 Lite database cr
4990: 65 61 74 65 64 20 77 69 74 68 20 66 75 6c 6c 20 eated with full
49a0: 50 52 4f 4a 2e 36 20 73 75 70 70 6f 72 74 2e 20 PROJ.6 support.
49b0: 54 68 65 72 65 20 69 73 6e 27 74 20 61 6e 79 74 There isn't anyt
49c0: 68 69 6e 67 20 77 6f 72 74 68 20 74 6f 20 62 65 hing worth to be
49d0: 20 6e 6f 74 65 64 2c 20 65 78 63 65 70 74 20 74 noted, except t
49e0: 68 61 74 20 61 6c 6c 20 6d 65 74 68 6f 64 73 20 hat all methods
49f0: 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 return the same
4a00: 72 65 73 75 6c 74 2e 3c 62 72 3e 3c 62 72 3e 0d result.<br><br>.
4a10: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 2d 2d 20 .<verbatim>..--
4a20: 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d 20 75 to EPSG:3003 - u
4a30: 73 69 6e 67 20 61 20 74 72 61 6e 73 66 6f 72 6d sing a transform
4a40: 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 0d 0a ation pipeline..
4a50: 53 45 4c 45 43 54 20 41 73 45 57 4b 54 20 28 20 SELECT AsEWKT (
4a60: 53 54 5f 54 72 61 6e 73 66 6f 72 6d 28 20 53 77 ST_Transform( Sw
4a70: 61 70 43 6f 6f 72 64 73 20 28 20 4d 61 6b 65 50 apCoords ( MakeP
4a80: 6f 69 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 oint( 11.878056
4a90: 2c 20 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 , 43.463056, 432
4aa0: 36 20 29 20 29 20 2c 20 33 30 30 33 20 2c 20 4e 6 ) ) , 3003 , N
4ab0: 55 4c 4c 20 2c 20 27 70 72 6f 6a 5f 73 74 72 69 ULL , 'proj_stri
4ac0: 6e 67 27 20 2c 0d 0a 27 2b 70 72 6f 6a 3d 70 69 ng' ,..'+proj=pi
4ad0: 70 65 6c 69 6e 65 20 0d 0a 2b 73 74 65 70 20 2b peline ..+step +
4ae0: 70 72 6f 6a 3d 61 78 69 73 73 77 61 70 20 2b 6f proj=axisswap +o
4af0: 72 64 65 72 3d 32 2c 31 20 0d 0a 2b 73 74 65 70 rder=2,1 ..+step
4b00: 20 2b 70 72 6f 6a 3d 75 6e 69 74 63 6f 6e 76 65 +proj=unitconve
4b10: 72 74 20 2b 78 79 5f 69 6e 3d 64 65 67 20 2b 78 rt +xy_in=deg +x
4b20: 79 5f 6f 75 74 3d 72 61 64 20 0d 0a 2b 73 74 65 y_out=rad ..+ste
4b30: 70 20 2b 70 72 6f 6a 3d 70 75 73 68 20 2b 76 5f p +proj=push +v_
4b40: 33 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 3 ..+step +proj=
4b50: 63 61 72 74 20 2b 65 6c 6c 70 73 3d 57 47 53 38 cart +ellps=WGS8
4b60: 34 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b 4 ..+step +inv +
4b70: 70 72 6f 6a 3d 68 65 6c 6d 65 72 74 20 2b 78 3d proj=helmert +x=
4b80: 2d 31 30 34 2e 31 20 2b 79 3d 2d 34 39 2e 31 20 -104.1 +y=-49.1
4b90: 2b 7a 3d 2d 39 2e 39 20 2b 72 78 3d 30 2e 39 37 +z=-9.9 +rx=0.97
4ba0: 31 20 2b 72 79 3d 2d 32 2e 39 31 37 20 2b 72 7a 1 +ry=-2.917 +rz
4bb0: 3d 30 2e 37 31 34 20 2b 73 3d 2d 31 31 2e 36 38 =0.714 +s=-11.68
4bc0: 20 2b 63 6f 6e 76 65 6e 74 69 6f 6e 3d 70 6f 73 +convention=pos
4bd0: 69 74 69 6f 6e 5f 76 65 63 74 6f 72 20 0d 0a 2b ition_vector ..+
4be0: 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 6f 6a 3d step +inv +proj=
4bf0: 63 61 72 74 20 2b 65 6c 6c 70 73 3d 69 6e 74 6c cart +ellps=intl
4c00: 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 70 ..+step +proj=p
4c10: 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 20 op +v_3 ..+step
4c20: 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 74 +proj=tmerc +lat
4c30: 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b _0=0 +lon_0=9 +k
4c40: 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 30 =0.9996 +x_0=150
4c50: 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 6c 0000 +y_0=0 +ell
4c60: 70 73 3d 69 6e 74 6c 27 20 29 29 3b 0d 0a 2d 2d ps=intl' ));..--
4c70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4c90: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 ---..SRID=3003;P
4ca0: 4f 49 4e 54 28 31 37 33 32 38 35 32 2e 39 34 32 OINT(1732852.942
4cb0: 37 31 36 37 36 39 20 34 38 31 36 32 37 37 2e 36 716769 4816277.6
4cc0: 31 37 36 39 30 36 37 34 29 0d 0a 0d 0a 2d 2d 20 17690674)....--
4cd0: 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d 20 75 to EPSG:3003 - u
4ce0: 73 69 6e 67 20 61 20 63 75 73 74 6f 6d 69 7a 65 sing a customize
4cf0: 64 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e d transformation
4d00: 20 70 69 70 65 6c 69 6e 65 0d 0a 53 45 4c 45 43 pipeline..SELEC
4d10: 54 20 41 73 45 57 4b 54 20 28 20 53 54 5f 54 72 T AsEWKT ( ST_Tr
4d20: 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 50 6f 69 ansform( MakePoi
4d30: 6e 74 28 20 31 31 2e 38 37 38 30 35 36 20 2c 20 nt( 11.878056 ,
4d40: 34 33 2e 34 36 33 30 35 36 2c 20 34 33 32 36 20 43.463056, 4326
4d50: 29 20 2c 20 33 30 30 33 20 2c 20 4e 55 4c 4c 20 ) , 3003 , NULL
4d60: 2c 20 27 70 72 6f 6a 5f 73 74 72 69 6e 67 27 20 , 'proj_string'
4d70: 2c 0d 0a 27 2b 70 72 6f 6a 3d 70 69 70 65 6c 69 ,..'+proj=pipeli
4d80: 6e 65 20 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f ne ..+step +pro
4d90: 6a 3d 75 6e 69 74 63 6f 6e 76 65 72 74 20 2b 78 j=unitconvert +x
4da0: 79 5f 69 6e 3d 64 65 67 20 2b 78 79 5f 6f 75 74 y_in=deg +xy_out
4db0: 3d 72 61 64 20 0d 0a 2b 73 74 65 70 20 2b 70 72 =rad ..+step +pr
4dc0: 6f 6a 3d 70 75 73 68 20 2b 76 5f 33 20 0d 0a 2b oj=push +v_3 ..+
4dd0: 73 74 65 70 20 2b 70 72 6f 6a 3d 63 61 72 74 20 step +proj=cart
4de0: 2b 65 6c 6c 70 73 3d 57 47 53 38 34 20 0d 0a 2b +ellps=WGS84 ..+
4df0: 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 6f 6a 3d step +inv +proj=
4e00: 68 65 6c 6d 65 72 74 20 2b 78 3d 2d 31 30 34 2e helmert +x=-104.
4e10: 31 20 2b 79 3d 2d 34 39 2e 31 20 2b 7a 3d 2d 39 1 +y=-49.1 +z=-9
4e20: 2e 39 20 2b 72 78 3d 30 2e 39 37 31 20 2b 72 79 .9 +rx=0.971 +ry
4e30: 3d 2d 32 2e 39 31 37 20 2b 72 7a 3d 30 2e 37 31 =-2.917 +rz=0.71
4e40: 34 20 2b 73 3d 2d 31 31 2e 36 38 20 2b 63 6f 6e 4 +s=-11.68 +con
4e50: 76 65 6e 74 69 6f 6e 3d 70 6f 73 69 74 69 6f 6e vention=position
4e60: 5f 76 65 63 74 6f 72 20 0d 0a 2b 73 74 65 70 20 _vector ..+step
4e70: 2b 69 6e 76 20 2b 70 72 6f 6a 3d 63 61 72 74 20 +inv +proj=cart
4e80: 2b 65 6c 6c 70 73 3d 69 6e 74 6c 20 0d 0a 2b 73 +ellps=intl ..+s
4e90: 74 65 70 20 2b 70 72 6f 6a 3d 70 6f 70 20 2b 76 tep +proj=pop +v
4ea0: 5f 33 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a _3 ..+step +proj
4eb0: 3d 74 6d 65 72 63 20 2b 6c 61 74 5f 30 3d 30 20 =tmerc +lat_0=0
4ec0: 2b 6c 6f 6e 5f 30 3d 39 20 2b 6b 3d 30 2e 39 39 +lon_0=9 +k=0.99
4ed0: 39 36 20 2b 78 5f 30 3d 31 35 30 30 30 30 30 20 96 +x_0=1500000
4ee0: 2b 79 5f 30 3d 30 20 2b 65 6c 6c 70 73 3d 69 6e +y_0=0 +ellps=in
4ef0: 74 6c 27 20 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d tl' ));..-------
4f00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4f10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
4f20: 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 28 SRID=3003;POINT(
4f30: 31 37 33 32 38 35 32 2e 39 34 32 37 31 36 37 36 1732852.94271676
4f40: 39 20 34 38 31 36 32 37 37 2e 36 31 37 36 39 30 9 4816277.617690
4f50: 36 37 34 29 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 674)..</verbatim
4f60: 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64 20 74 >..This second t
4f70: 65 73 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 est is based on
4f80: 75 73 69 6e 67 20 3c 62 3e 3c 69 3e 74 72 61 6e using <b><i>tran
4f90: 73 66 6f 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c sformation pipel
4fa0: 69 6e 65 73 3c 2f 69 3e 3c 2f 62 3e 3a 0d 0a 3c ines</i></b>:..<
4fb0: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 66 69 72 ul>..<li>the fir
4fc0: 73 74 20 71 75 65 72 79 20 64 69 72 65 63 74 6c st query directl
4fd0: 79 20 75 73 65 73 20 61 20 70 72 6f 6a 2d 73 74 y uses a proj-st
4fe0: 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 69 6e ring representin
4ff0: 67 20 74 68 65 20 70 69 70 65 6c 69 6e 65 20 61 g the pipeline a
5000: 73 20 64 65 66 69 6e 65 64 20 62 79 20 65 78 65 s defined by exe
5010: 63 75 74 69 6e 67 3c 62 72 3e 0d 0a 3c 62 3e 70 cuting<br>..<b>p
5020: 72 6f 6a 69 6e 66 6f 20 20 2d 73 20 45 50 53 47 rojinfo -s EPSG
5030: 3a 34 33 32 36 20 2d 74 20 45 50 53 47 3a 33 30 :4326 -t EPSG:30
5040: 30 33 20 2d 2d 61 72 65 61 20 20 22 49 74 61 6c 03 --area "Ital
5050: 79 20 2d 20 6d 61 69 6e 6c 61 6e 64 22 20 2d 6f y - mainland" -o
5060: 20 70 72 6f 6a 3c 2f 62 3e 3c 62 72 3e 0d 0a 28 proj</b><br>..(
5070: 77 65 27 6c 6c 20 73 65 65 20 74 68 69 73 20 74 we'll see this t
5080: 6f 70 69 63 20 69 6e 20 6d 6f 72 65 20 64 65 70 opic in more dep
5090: 74 68 20 6f 6e 20 74 68 65 20 6e 65 78 74 20 70 th on the next p
50a0: 61 72 61 67 72 61 70 68 29 2e 3c 2f 6c 69 3e 0d aragraph).</li>.
50b0: 0a 3c 6c 69 3e 74 68 65 20 73 65 63 6f 6e 64 20 .<li>the second
50c0: 71 75 65 72 79 20 69 73 20 6a 75 73 74 20 61 20 query is just a
50d0: 73 6d 61 6c 6c 20 61 64 61 70 74 61 74 69 6f 6e small adaptation
50e0: 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6f 6e of the first on
50f0: 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 73 e:..<ul>..<li>As
5100: 20 79 6f 75 20 63 61 6e 20 6e 6f 74 69 63 65 20 you can notice
5110: 74 68 65 20 66 69 72 73 74 20 71 75 65 72 79 20 the first query
5120: 72 65 71 75 69 72 65 73 20 63 61 6c 6c 69 6e 67 requires calling
5130: 20 3c 62 3e 53 77 61 70 43 6f 6f 64 69 6e 61 74 <b>SwapCoodinat
5140: 65 73 28 29 3c 2f 62 3e 20 62 65 63 61 75 73 65 es()</b> because
5150: 20 74 68 65 20 66 69 72 73 74 20 73 74 65 70 20 the first step
5160: 6f 66 20 74 68 65 20 70 69 70 65 6c 69 6e 65 20 of the pipeline
5170: 68 61 73 20 61 6e 20 3c 62 3e 61 78 69 73 73 77 has an <b>axissw
5180: 61 70 3c 2f 62 3e 20 64 69 72 65 63 74 69 76 65 ap</b> directive
5190: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65 20 .</li>..<li>The
51a0: 73 65 63 6f 6e 64 20 71 75 65 72 79 20 6a 75 73 second query jus
51b0: 74 20 61 76 6f 69 64 73 20 74 6f 20 63 61 6c 6c t avoids to call
51c0: 20 3c 62 3e 53 77 61 70 43 6f 6f 72 64 73 28 29 <b>SwapCoords()
51d0: 3c 2f 62 3e 20 61 6e 64 20 63 6f 6e 73 65 71 75 </b> and consequ
51e0: 65 6e 74 6c 79 20 74 68 65 20 74 72 61 73 66 6f ently the trasfo
51f0: 72 6d 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 rmation pipeline
5200: 20 73 74 65 70 20 72 65 6d 6f 76 65 73 20 74 68 step removes th
5210: 69 73 20 66 69 72 73 74 20 73 74 65 70 20 73 6f is first step so
5220: 20 74 6f 20 67 65 74 20 74 68 65 20 73 61 6d 65 to get the same
5230: 20 69 64 65 6e 74 69 63 61 6c 20 6f 76 65 72 61 identical overa
5240: 6c 6c 20 65 66 66 65 63 74 2e 3c 2f 6c 69 3e 0d ll effect.</li>.
5250: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
5260: 3e 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c ><b><u>Note</u><
5270: 2f 62 3e 3a 20 53 70 61 74 69 61 4c 69 74 65 20 /b>: SpatiaLite
5280: 77 69 6c 6c 20 61 6c 77 61 79 73 20 64 6f 20 61 will always do a
5290: 20 62 65 73 74 20 65 66 66 6f 72 74 20 69 6e 20 best effort in
52a0: 6f 72 64 65 72 20 74 6f 20 67 75 65 73 73 20 69 order to guess i
52b0: 66 20 73 77 61 70 70 69 6e 67 20 74 68 65 20 63 f swapping the c
52c0: 6f 6f 72 64 69 6e 61 74 65 73 20 62 65 66 6f 72 oordinates befor
52d0: 65 20 70 61 73 73 69 6e 67 20 74 68 65 6d 20 74 e passing them t
52e0: 6f 20 50 52 4f 4a 2e 36 20 69 73 20 72 65 71 75 o PROJ.6 is requ
52f0: 69 72 65 64 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e ired or not.<br>
5300: 0d 0a 42 75 74 20 69 6e 20 74 68 65 20 73 70 65 ..But in the spe
5310: 63 69 66 69 63 20 63 61 73 65 20 6f 66 20 61 20 cific case of a
5320: 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 70 transformation p
5330: 69 70 65 6c 69 6e 65 20 74 68 69 73 20 74 65 73 ipeline this tes
5340: 74 20 6d 61 79 20 65 61 73 69 6c 79 20 66 61 69 t may easily fai
5350: 6c 2c 20 74 68 75 73 20 72 65 71 75 69 72 69 6e l, thus requirin
5360: 67 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 g to explicitly
5370: 63 61 6c 6c 20 3c 62 3e 53 77 61 70 43 6f 6f 72 call <b>SwapCoor
5380: 64 73 28 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c ds()</b></li>..<
5390: 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 /ul><br>..<table
53a0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 cellspacing="8"
53b0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 31 36 cellpadding="16
53c0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 63 39 66 66 " bgcolor="#c9ff
53d0: 66 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a f0">..<tr><td>..
53e0: 3c 68 33 3e 75 73 69 6e 67 20 70 72 6f 6a 69 6e <h3>using projin
53f0: 66 6f 20 66 6f 72 20 64 65 74 65 63 74 69 6e 67 fo for detecting
5400: 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 transformation
5410: 70 69 70 65 6c 69 6e 65 73 20 61 6e 64 20 73 75 pipelines and su
5420: 70 70 6f 72 74 65 64 20 61 72 65 61 73 20 6f 66 pported areas of
5430: 20 75 73 65 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 use</h3>..<verb
5440: 61 74 69 6d 3e 0d 0a 70 72 6f 6a 69 6e 66 6f 20 atim>..projinfo
5450: 2d 73 20 45 50 53 47 3a 34 33 32 36 20 2d 74 20 -s EPSG:4326 -t
5460: 45 50 53 47 3a 33 30 30 33 20 2d 6f 20 70 72 6f EPSG:3003 -o pro
5470: 6a 20 2d 2d 73 70 61 74 69 61 6c 2d 74 65 73 74 j --spatial-test
5480: 20 69 6e 74 65 72 73 65 63 74 0d 0a 43 61 6e 64 intersect..Cand
5490: 69 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 73 idate operations
54a0: 20 66 6f 75 6e 64 3a 20 33 0d 0a 2d 2d 2d 2d 2d found: 3..-----
54b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
54c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
54d0: 0d 0a 4f 70 65 72 61 74 69 6f 6e 20 6e c2 b0 31 ..Operation n..1
54e0: 3a 0d 0a 0d 0a 75 6e 6b 6e 6f 77 6e 20 69 64 2c :....unknown id,
54f0: 20 49 6e 76 65 72 73 65 20 6f 66 20 4d 6f 6e 74 Inverse of Mont
5500: 65 20 4d 61 72 69 6f 20 74 6f 20 57 47 53 20 38 e Mario to WGS 8
5510: 34 20 28 34 29 20 2b 20 49 74 61 6c 79 20 7a 6f 4 (4) + Italy zo
5520: 6e 65 20 31 2c 20 34 20 6d 2c 20 49 74 61 6c 79 ne 1, 4 m, Italy
5530: 20 2d 20 6d 61 69 6e 6c 61 6e 64 0d 0a 0d 0a 50 - mainland....P
5540: 52 4f 4a 20 73 74 72 69 6e 67 3a 0d 0a 2b 70 72 ROJ string:..+pr
5550: 6f 6a 3d 70 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 oj=pipeline ..+s
5560: 74 65 70 20 2b 70 72 6f 6a 3d 61 78 69 73 73 77 tep +proj=axissw
5570: 61 70 20 2b 6f 72 64 65 72 3d 32 2c 31 20 0d 0a ap +order=2,1 ..
5580: 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 +step +proj=unit
5590: 63 6f 6e 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 convert +xy_in=d
55a0: 65 67 20 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d eg +xy_out=rad .
55b0: 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d 70 75 73 .+step +proj=pus
55c0: 68 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 20 2b h +v_3 ..+step +
55d0: 70 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 proj=cart +ellps
55e0: 3d 57 47 53 38 34 20 0d 0a 2b 73 74 65 70 20 2b =WGS84 ..+step +
55f0: 69 6e 76 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72 inv +proj=helmer
5600: 74 20 2b 78 3d 2d 31 30 34 2e 31 20 2b 79 3d 2d t +x=-104.1 +y=-
5610: 34 39 2e 31 20 2b 7a 3d 2d 39 2e 39 20 2b 72 78 49.1 +z=-9.9 +rx
5620: 3d 30 2e 39 37 31 20 2b 72 79 3d 2d 32 2e 39 31 =0.971 +ry=-2.91
5630: 37 20 2b 72 7a 3d 30 2e 37 31 34 20 2b 73 3d 2d 7 +rz=0.714 +s=-
5640: 31 31 2e 36 38 20 2b 63 6f 6e 76 65 6e 74 69 6f 11.68 +conventio
5650: 6e 3d 70 6f 73 69 74 69 6f 6e 5f 76 65 63 74 6f n=position_vecto
5660: 72 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b r ..+step +inv +
5670: 70 72 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 proj=cart +ellps
5680: 3d 69 6e 74 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 =intl ..+step +p
5690: 72 6f 6a 3d 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b roj=pop +v_3 ..+
56a0: 73 74 65 70 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 step +proj=tmerc
56b0: 20 2b 6c 61 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 +lat_0=0 +lon_0
56c0: 3d 39 20 2b 6b 3d 30 2e 39 39 39 36 20 2b 78 5f =9 +k=0.9996 +x_
56d0: 30 3d 31 35 30 30 30 30 30 20 2b 79 5f 30 3d 30 0=1500000 +y_0=0
56e0: 20 2b 65 6c 6c 70 73 3d 69 6e 74 6c 0d 0a 0d 0a +ellps=intl....
56f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5700: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5710: 2d 2d 2d 2d 2d 0d 0a 4f 70 65 72 61 74 69 6f 6e -----..Operation
5720: 20 6e c2 b0 32 3a 0d 0a 0d 0a 75 6e 6b 6e 6f 77 n..2:....unknow
5730: 6e 20 69 64 2c 20 49 6e 76 65 72 73 65 20 6f 66 n id, Inverse of
5740: 20 4d 6f 6e 74 65 20 4d 61 72 69 6f 20 74 6f 20 Monte Mario to
5750: 57 47 53 20 38 34 20 28 32 29 20 2b 20 49 74 61 WGS 84 (2) + Ita
5760: 6c 79 20 7a 6f 6e 65 20 31 2c 20 34 20 6d 2c 20 ly zone 1, 4 m,
5770: 49 74 61 6c 79 20 2d 20 53 61 72 64 69 6e 69 61 Italy - Sardinia
5780: 20 6f 6e 73 68 6f 72 65 0d 0a 0d 0a 50 52 4f 4a onshore....PROJ
5790: 20 73 74 72 69 6e 67 3a 0d 0a 2b 70 72 6f 6a 3d string:..+proj=
57a0: 70 69 70 65 6c 69 6e 65 20 0d 0a 2b 73 74 65 70 pipeline ..+step
57b0: 20 2b 70 72 6f 6a 3d 61 78 69 73 73 77 61 70 20 +proj=axisswap
57c0: 2b 6f 72 64 65 72 3d 32 2c 31 20 0d 0a 2b 73 74 +order=2,1 ..+st
57d0: 65 70 20 2b 70 72 6f 6a 3d 75 6e 69 74 63 6f 6e ep +proj=unitcon
57e0: 76 65 72 74 20 2b 78 79 5f 69 6e 3d 64 65 67 20 vert +xy_in=deg
57f0: 2b 78 79 5f 6f 75 74 3d 72 61 64 20 0d 0a 2b 73 +xy_out=rad ..+s
5800: 74 65 70 20 2b 70 72 6f 6a 3d 70 75 73 68 20 2b tep +proj=push +
5810: 76 5f 33 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f v_3 ..+step +pro
5820: 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 57 47 j=cart +ellps=WG
5830: 53 38 34 20 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 S84 ..+step +inv
5840: 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 72 74 20 2b +proj=helmert +
5850: 78 3d 2d 31 36 38 2e 36 20 2b 79 3d 2d 33 34 20 x=-168.6 +y=-34
5860: 2b 7a 3d 33 38 2e 36 20 2b 72 78 3d 2d 30 2e 33 +z=38.6 +rx=-0.3
5870: 37 34 20 2b 72 79 3d 2d 30 2e 36 37 39 20 2b 72 74 +ry=-0.679 +r
5880: 7a 3d 2d 31 2e 33 37 39 20 2b 73 3d 2d 39 2e 34 z=-1.379 +s=-9.4
5890: 38 20 2b 63 6f 6e 76 65 6e 74 69 6f 6e 3d 70 6f 8 +convention=po
58a0: 73 69 74 69 6f 6e 5f 76 65 63 74 6f 72 20 0d 0a sition_vector ..
58b0: 2b 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 6f 6a +step +inv +proj
58c0: 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 69 6e 74 =cart +ellps=int
58d0: 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d l ..+step +proj=
58e0: 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73 74 65 70 pop +v_3 ..+step
58f0: 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b 6c 61 +proj=tmerc +la
5900: 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 20 2b t_0=0 +lon_0=9 +
5910: 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d 31 35 k=0.9996 +x_0=15
5920: 30 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 65 6c 00000 +y_0=0 +el
5930: 6c 70 73 3d 69 6e 74 6c 0d 0a 0d 0a 2d 2d 2d 2d lps=intl....----
5940: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5950: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5960: 2d 0d 0a 4f 70 65 72 61 74 69 6f 6e 20 6e c2 b0 -..Operation n..
5970: 33 3a 0d 0a 0d 0a 75 6e 6b 6e 6f 77 6e 20 69 64 3:....unknown id
5980: 2c 20 49 6e 76 65 72 73 65 20 6f 66 20 4d 6f 6e , Inverse of Mon
5990: 74 65 20 4d 61 72 69 6f 20 74 6f 20 57 47 53 20 te Mario to WGS
59a0: 38 34 20 28 31 31 29 20 2b 20 49 74 61 6c 79 20 84 (11) + Italy
59b0: 7a 6f 6e 65 20 31 2c 20 31 30 20 6d 2c 20 49 74 zone 1, 10 m, It
59c0: 61 6c 79 20 2d 20 53 69 63 69 6c 79 20 53 74 72 aly - Sicily Str
59d0: 61 69 74 20 77 65 73 74 20 6f 66 20 31 33 c2 b0 ait west of 13..
59e0: 45 0d 0a 0d 0a 50 52 4f 4a 20 73 74 72 69 6e 67 E....PROJ string
59f0: 3a 0d 0a 2b 70 72 6f 6a 3d 70 69 70 65 6c 69 6e :..+proj=pipelin
5a00: 65 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 6a 3d e ..+step +proj=
5a10: 61 78 69 73 73 77 61 70 20 2b 6f 72 64 65 72 3d axisswap +order=
5a20: 32 2c 31 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f 2,1 ..+step +pro
5a30: 6a 3d 75 6e 69 74 63 6f 6e 76 65 72 74 20 2b 78 j=unitconvert +x
5a40: 79 5f 69 6e 3d 64 65 67 20 2b 78 79 5f 6f 75 74 y_in=deg +xy_out
5a50: 3d 72 61 64 20 0d 0a 2b 73 74 65 70 20 2b 70 72 =rad ..+step +pr
5a60: 6f 6a 3d 70 75 73 68 20 2b 76 5f 33 20 0d 0a 2b oj=push +v_3 ..+
5a70: 73 74 65 70 20 2b 70 72 6f 6a 3d 63 61 72 74 20 step +proj=cart
5a80: 2b 65 6c 6c 70 73 3d 57 47 53 38 34 20 0d 0a 2b +ellps=WGS84 ..+
5a90: 73 74 65 70 20 2b 70 72 6f 6a 3d 68 65 6c 6d 65 step +proj=helme
5aa0: 72 74 20 2b 78 3d 32 33 30 2e 34 37 20 2b 79 3d rt +x=230.47 +y=
5ab0: 35 36 2e 30 38 20 2b 7a 3d 2d 32 32 2e 34 33 20 56.08 +z=-22.43
5ac0: 0d 0a 2b 73 74 65 70 20 2b 69 6e 76 20 2b 70 72 ..+step +inv +pr
5ad0: 6f 6a 3d 63 61 72 74 20 2b 65 6c 6c 70 73 3d 69 oj=cart +ellps=i
5ae0: 6e 74 6c 20 0d 0a 2b 73 74 65 70 20 2b 70 72 6f ntl ..+step +pro
5af0: 6a 3d 70 6f 70 20 2b 76 5f 33 20 0d 0a 2b 73 74 j=pop +v_3 ..+st
5b00: 65 70 20 2b 70 72 6f 6a 3d 74 6d 65 72 63 20 2b ep +proj=tmerc +
5b10: 6c 61 74 5f 30 3d 30 20 2b 6c 6f 6e 5f 30 3d 39 lat_0=0 +lon_0=9
5b20: 20 2b 6b 3d 30 2e 39 39 39 36 20 2b 78 5f 30 3d +k=0.9996 +x_0=
5b30: 31 35 30 30 30 30 30 20 2b 79 5f 30 3d 30 20 2b 1500000 +y_0=0 +
5b40: 65 6c 6c 70 73 3d 69 6e 74 6c 0d 0a 3c 2f 76 65 ellps=intl..</ve
5b50: 72 62 61 74 69 6d 3e 0d 0a 3c 2f 74 64 3e 3c 2f rbatim>..</td></
5b60: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 tr>..</table><br
5b70: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 2d >..<verbatim>..-
5b80: 2d 20 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d - to EPSG:3003 -
5b90: 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 default setting
5ba0: 73 2c 20 4e 55 4c 4c 20 61 72 65 61 20 6f 66 20 s, NULL area of
5bb0: 75 73 65 2c 20 2d 20 69 67 6e 6f 72 69 6e 67 20 use, - ignoring
5bc0: 73 70 61 74 69 61 6c 69 74 65 5f 72 65 66 5f 73 spatialite_ref_s
5bd0: 79 73 20 61 6e 64 20 75 73 69 6e 67 20 74 68 65 ys and using the
5be0: 20 50 52 4f 4a 2e 36 20 6f 77 6e 20 70 72 69 76 PROJ.6 own priv
5bf0: 61 74 65 20 64 61 74 61 62 61 73 65 0d 0a 53 45 ate database..SE
5c00: 4c 45 43 54 20 41 73 45 57 4b 54 20 28 20 53 54 LECT AsEWKT ( ST
5c10: 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 _Transform( Make
5c20: 50 6f 69 6e 74 28 20 39 2e 31 36 39 34 36 34 2c Point( 9.169464,
5c30: 20 33 39 2e 34 37 38 32 37 35 2c 20 34 33 32 36 39.478275, 4326
5c40: 20 29 2c 20 33 30 30 33 20 29 29 3b 0d 0a 2d 2d ), 3003 ));..--
5c50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5c70: 2d 2d 2d 0d 0a 53 52 49 44 3d 33 30 30 33 3b 50 ---..SRID=3003;P
5c80: 4f 49 4e 54 28 31 35 31 34 36 30 30 2e 31 33 34 OINT(1514600.134
5c90: 33 32 31 38 36 32 20 34 33 36 39 38 37 34 2e 34 321862 4369874.4
5ca0: 38 39 32 36 39 39 35 37 29 0d 0a 0d 0a 2d 2d 20 89269957)....--
5cb0: 74 6f 20 45 50 53 47 3a 33 30 30 33 20 2d 20 73 to EPSG:3003 - s
5cc0: 61 6d 65 20 61 73 20 61 62 6f 76 65 2c 20 62 75 ame as above, bu
5cd0: 74 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 66 t explicitly def
5ce0: 69 6e 69 6e 67 20 61 20 73 70 65 63 69 66 69 63 ining a specific
5cf0: 20 61 72 65 61 20 6f 66 20 75 73 65 0d 0a 53 45 area of use..SE
5d00: 4c 45 43 54 20 41 73 45 57 4b 54 20 28 20 53 54 LECT AsEWKT ( ST
5d10: 5f 54 72 61 6e 73 66 6f 72 6d 28 20 4d 61 6b 65 _Transform( Make
5d20: 50 6f 69 6e 74 28 20 39 2e 31 36 39 34 36 34 2c Point( 9.169464,
5d30: 20 33 39 2e 34 37 38 32 37 35 2c 20 34 33 32 36 39.478275, 4326
5d40: 20 29 2c 20 33 30 30 33 20 2c 20 42 75 69 6c 64 ), 3003 , Build
5d50: 4d 42 52 28 39 2e 31 20 2c 20 33 39 2e 34 20 2c MBR(9.1 , 39.4 ,
5d60: 20 39 2e 32 20 2c 20 33 39 2e 35 20 2c 20 34 33 9.2 , 39.5 , 43
5d70: 32 36 20 29 29 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 26 )));..-------
5d80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5d90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
5da0: 53 52 49 44 3d 33 30 30 33 3b 50 4f 49 4e 54 28 SRID=3003;POINT(
5db0: 31 35 31 34 36 30 35 2e 39 38 32 37 36 32 32 34 1514605.98276224
5dc0: 38 20 34 33 36 39 38 37 33 2e 30 30 34 32 32 36 8 4369873.004226
5dd0: 39 34 33 29 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 943)..</verbatim
5de0: 3e 0d 0a 54 68 69 72 64 20 61 6e 64 20 6c 61 73 >..Third and las
5df0: 74 20 65 78 61 6d 70 6c 65 2e 20 49 6e 20 73 6f t example. In so
5e00: 6d 65 20 63 61 73 65 73 20 65 78 70 6c 69 63 69 me cases explici
5e10: 74 6c 79 20 64 65 66 69 6e 69 6e 67 20 61 20 73 tly defining a s
5e20: 70 65 63 69 66 69 63 20 3c 62 3e 3c 69 3e 61 72 pecific <b><i>ar
5e30: 65 61 20 6f 66 20 75 73 65 3c 2f 69 3e 3c 2f 62 ea of use</i></b
5e40: 3e 20 6d 61 79 20 65 6e 61 62 6c 65 20 50 52 4f > may enable PRO
5e50: 4a 2e 36 20 74 6f 20 73 65 6c 65 63 74 20 61 6e J.6 to select an
5e60: 20 6f 70 74 69 6d 69 7a 65 64 20 74 72 61 6e 73 optimized trans
5e70: 66 6f 72 6d 61 74 69 6f 6e 20 6c 65 61 64 69 6e formation leadin
5e80: 67 20 74 6f 20 6d 6f 72 65 20 70 72 65 63 69 73 g to more precis
5e90: 65 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a e results.<br>..
5ea0: 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 In this example
5eb0: 77 65 27 76 65 20 75 73 65 64 20 61 20 50 6f 69 we've used a Poi
5ec0: 6e 74 20 6c 6f 63 61 74 65 64 20 69 6e 20 53 61 nt located in Sa
5ed0: 72 64 69 6e 69 61 2c 20 61 6e 64 20 50 52 4f 4a rdinia, and PROJ
5ee0: 2e 36 20 73 75 70 70 6f 72 74 73 20 73 65 76 65 .6 supports seve
5ef0: 72 61 6c 20 66 6c 61 76 6f 72 73 20 6f 66 20 3c ral flavors of <
5f00: 62 3e 45 50 53 47 3a 33 30 30 33 3c 2f 62 3e 20 b>EPSG:3003</b>
5f10: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 depending on the
5f20: 20 73 70 65 63 69 66 69 63 20 61 72 65 61 20 6f specific area o
5f30: 66 20 75 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 49 f use.<br>..<b>I
5f40: 74 61 6c 79 20 2d 20 53 61 72 64 69 6e 69 61 20 taly - Sardinia
5f50: 6f 6e 73 68 6f 72 65 3c 2f 62 3e 20 69 73 20 6f onshore</b> is o
5f60: 6e 65 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2c ne between them,
5f70: 20 73 6f 20 61 66 74 65 72 20 73 70 65 63 69 66 so after specif
5f80: 79 69 6e 67 20 61 6e 20 65 78 70 6c 69 63 69 74 ying an explicit
5f90: 20 3c 62 3e 61 72 65 61 20 6f 66 20 75 73 65 3c <b>area of use<
5fa0: 2f 62 3e 20 61 20 6d 6f 72 65 20 70 72 65 63 69 /b> a more preci
5fb0: 73 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f se transformatio
5fc0: 6e 20 70 69 70 65 6c 69 6e 65 20 77 61 73 20 73 n pipeline was s
5fd0: 65 6c 65 63 74 65 64 2e 3c 62 72 3e 3c 62 72 3e elected.<br><br>
5fe0: 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 ..<table cellspa
5ff0: 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c 70 61 64 cing="8" cellpad
6000: 64 69 6e 67 3d 22 31 36 22 20 62 67 63 6f 6c 6f ding="16" bgcolo
6010: 72 3d 22 23 66 66 66 66 64 30 22 3e 0d 0a 3c 74 r="#ffffd0">..<t
6020: 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c 75 3e 4c 65 r><td>..<b><u>Le
6030: 73 73 6f 6e 20 6c 65 61 72 6e 65 64 3c 2f 75 3e sson learned</u>
6040: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </b>:..<ul>..<li
6050: 3e 54 68 65 20 62 65 73 74 20 6d 6f 64 65 20 66 >The best mode f
6060: 6f 72 20 74 61 6b 69 6e 67 20 66 75 6c 6c 20 70 or taking full p
6070: 72 6f 66 69 74 20 66 72 6f 6d 20 50 52 4f 4a 2e rofit from PROJ.
6080: 36 20 69 73 20 62 79 20 75 73 69 6e 67 20 3c 69 6 is by using <i
6090: 3e 6d 65 74 68 6f 64 3c 2f 69 3e 3d 3c 62 3e 61 >method</i>=<b>a
60a0: 75 74 68 5f 6e 61 6d 65 3a 61 75 74 68 5f 73 72 uth_name:auth_sr
60b0: 69 64 3c 2f 62 3e 20 28 74 68 61 74 20 69 73 20 id</b> (that is
60c0: 74 68 65 20 3c 62 3e 3c 69 3e 64 65 66 61 75 6c the <b><i>defaul
60d0: 74 20 73 65 74 74 69 6e 67 3c 2f 69 3e 3c 2f 62 t setting</i></b
60e0: 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77 61 >).<br>..This wa
60f0: 79 20 79 6f 75 27 6c 6c 20 62 65 20 61 62 73 6f y you'll be abso
6100: 6c 75 74 65 6c 79 20 73 75 72 65 20 74 68 61 74 lutely sure that
6110: 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 the most recent
6120: 20 61 6e 64 20 66 75 6c 6c 79 20 64 65 74 61 69 and fully detai
6130: 6c 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 led definitions
6140: 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 72 will be always r
6150: 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 74 68 etrieved from th
6160: 65 20 50 52 4f 4a 2e 36 20 6f 77 6e 20 64 61 74 e PROJ.6 own dat
6170: 61 62 61 73 65 20 63 6f 6d 70 6c 65 74 65 6c 79 abase completely
6180: 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 64 65 ignoring any de
6190: 66 69 6e 69 74 69 6f 6e 20 28 6d 61 79 20 62 65 finition (may be
61a0: 20 69 6e 63 6f 6d 70 6c 65 74 65 20 6f 72 20 6f incomplete or o
61b0: 62 73 6f 6c 65 74 65 29 20 65 76 65 6e 74 75 61 bsolete) eventua
61c0: 6c 6c 79 20 73 74 6f 72 65 64 20 69 6e 74 6f 20 lly stored into
61d0: 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 5f 72 the <b>spatial_r
61e0: 65 66 5f 73 79 73 3c 2f 62 3e 20 74 61 62 6c 65 ef_sys</b> table
61f0: 2e 0d 0a 54 68 69 73 20 69 73 20 61 20 70 61 72 ...This is a par
6200: 74 69 63 75 6c 61 72 79 20 75 73 65 66 75 6c 20 ticulary useful
6210: 6f 70 74 69 6f 6e 20 77 68 65 6e 20 70 72 6f 63 option when proc
6220: 65 73 73 69 6e 67 20 6f 6c 64 65 72 20 64 61 74 essing older dat
6230: 61 62 61 73 65 73 20 62 65 69 6e 67 20 63 72 65 abases being cre
6240: 61 74 65 64 20 62 79 20 65 61 72 6c 69 65 72 20 ated by earlier
6250: 76 65 72 73 69 6f 6e 73 20 6f 66 20 53 70 61 74 versions of Spat
6260: 69 61 4c 69 74 65 20 6e 6f 74 20 79 65 74 20 73 iaLite not yet s
6270: 75 70 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 upporting PROJ.6
6280: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 70 61 74 69 </li>..<li>Spati
6290: 61 4c 69 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 aLite does not c
62a0: 6f 6e 73 74 72 61 69 6e 74 73 20 79 6f 75 20 69 onstraints you i
62b0: 6e 20 61 6e 79 20 77 61 79 20 61 6e 64 20 66 75 n any way and fu
62c0: 6c 6c 79 20 72 65 73 70 65 63 74 73 20 75 73 65 lly respects use
62d0: 72 73 20 66 72 65 65 64 6f 6d 20 63 61 72 65 66 rs freedom caref
62e0: 75 6c 6c 79 20 61 76 6f 69 64 69 6e 67 20 3c 69 ully avoiding <i
62f0: 3e 61 75 74 6f 2d 6d 61 67 69 63 61 6c 3c 2f 69 >auto-magical</i
6300: 3e 20 61 73 73 75 6d 70 74 69 6f 6e 73 2e 3c 62 > assumptions.<b
6310: 72 3e 0d 0a 49 66 20 79 6f 75 20 68 61 76 65 20 r>..If you have
6320: 61 6e 79 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 any good reason
6330: 73 75 67 67 65 73 74 69 6e 67 20 74 6f 20 64 6f suggesting to do
6340: 20 73 75 63 68 20 61 20 74 68 69 6e 67 20 79 6f such a thing yo
6350: 75 20 61 72 65 20 61 6e 79 77 61 79 20 66 72 65 u are anyway fre
6360: 65 20 74 6f 20 75 73 65 20 74 68 65 20 70 72 6f e to use the pro
6370: 6a 2d 73 74 72 69 6e 67 73 20 28 3c 69 3e 6d 65 j-strings (<i>me
6380: 74 68 6f 64 3c 2f 69 3e 3d 3c 62 3e 70 72 6f 6a thod</i>=<b>proj
6390: 34 74 65 78 74 3c 2f 62 3e 29 20 6f 72 20 74 68 4text</b>) or th
63a0: 65 20 57 4b 54 20 64 65 66 69 6e 69 74 69 6f 6e e WKT definition
63b0: 73 20 28 3c 69 3e 6d 65 74 68 6f 64 3c 2f 69 3e s (<i>method</i>
63c0: 3d 3c 62 3e 73 72 74 65 78 74 3c 2f 62 3e 29 20 =<b>srtext</b>)
63d0: 73 74 6f 72 65 64 20 69 6e 74 6f 20 74 68 65 20 stored into the
63e0: 3c 62 3e 73 70 61 74 69 61 6c 5f 72 65 66 5f 73 <b>spatial_ref_s
63f0: 79 73 3c 2f 62 3e 20 74 61 62 6c 65 2e 3c 62 72 ys</b> table.<br
6400: 3e 0d 0a 42 75 74 20 74 68 69 73 20 69 73 20 75 >..But this is u
6410: 6e 64 65 72 20 79 6f 75 72 20 66 75 6c 6c 20 72 nder your full r
6420: 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 2c 20 61 esponsibility, a
6430: 6e 64 20 79 6f 75 20 6d 75 73 74 20 62 65 20 77 nd you must be w
6440: 65 6c 6c 20 73 75 72 65 20 6f 66 20 77 68 61 74 ell sure of what
6450: 20 61 72 65 20 79 6f 75 20 64 6f 69 6e 67 2e 3c are you doing.<
6460: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 70 61 74 69 61 /li>..<li>Spatia
6470: 4c 69 74 65 20 65 6e 63 6f 75 72 61 67 65 73 20 Lite encourages
6480: 61 6e 64 20 70 72 6f 6d 6f 74 65 73 20 74 68 65 and promotes the
6490: 20 6d 6f 73 74 20 63 72 65 61 74 69 76 65 20 75 most creative u
64a0: 73 65 73 20 6f 66 20 50 52 4f 4a 2e 36 2c 20 74 ses of PROJ.6, t
64b0: 68 69 73 20 69 6e 63 6c 75 64 69 6e 67 20 3c 62 his including <b
64c0: 3e 3c 69 3e 74 72 61 6e 73 66 6f 72 6d 61 74 69 ><i>transformati
64d0: 6f 6e 20 70 69 70 65 6c 69 6e 65 73 3c 2f 69 3e on pipelines</i>
64e0: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 43 6f 72 72 65 </b>.<br>..Corre
64f0: 63 74 6c 79 20 75 73 69 6e 67 20 3c 69 3e 6d 65 ctly using <i>me
6500: 74 68 6f 64 3c 2f 69 3e 3d 3c 62 3e 70 72 6f 6a thod</i>=<b>proj
6510: 5f 73 74 72 69 6e 67 3c 2f 62 3e 20 66 6f 72 20 _string</b> for
6520: 63 6f 6d 70 75 74 69 6e 67 20 63 75 73 74 6f 6d computing custom
6530: 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 transformations
6540: 20 69 73 6e 27 74 20 6e 65 63 65 73 73 61 72 69 isn't necessari
6550: 6c 79 20 73 69 6d 70 6c 65 20 61 6e 64 20 65 61 ly simple and ea
6560: 73 79 2c 20 62 75 74 20 69 74 27 73 20 61 20 62 sy, but it's a b
6570: 69 67 20 6f 70 70 6f 72 74 75 6e 69 74 79 20 66 ig opportunity f
6580: 6f 72 20 61 6c 6c 20 73 6b 69 6c 6c 65 64 20 61 or all skilled a
6590: 6e 64 20 74 61 6c 65 6e 74 65 64 20 70 6f 77 65 nd talented powe
65a0: 72 20 75 73 65 72 73 2e 3c 2f 6c 69 3e 0d 0a 3c r users.</li>..<
65b0: 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e /ul>..</td></tr>
65c0: 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a ..</table><br>..
65d0: 3c 68 33 3e 4e 65 77 20 61 75 78 69 6c 69 61 72 <h3>New auxiliar
65e0: 79 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 20 y SQL functions
65f0: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 73 75 70 specifically sup
6600: 70 6f 72 74 69 6e 67 20 50 52 4f 4a 2e 36 3c 2f porting PROJ.6</
6610: 68 33 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c h3>..<table cell
6620: 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c 6c spacing="8" cell
6630: 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 63 6f padding="8" bgco
6640: 6c 6f 72 3d 22 23 65 38 66 66 65 38 22 20 62 6f lor="#e8ffe8" bo
6650: 72 64 65 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e 3c rder="1">..<tr><
6660: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 th bgcolor="#ffb
6670: 30 33 65 22 3e 53 51 4c 20 46 75 6e 63 74 69 6f 03e">SQL Functio
6680: 6e 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f n</th><th bgcolo
6690: 72 3d 22 23 66 66 62 30 33 65 22 3e 53 75 70 70 r="#ffb03e">Supp
66a0: 6f 72 74 65 64 20 61 72 67 75 6d 65 6e 74 73 3c orted arguments<
66b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
66c0: 22 23 66 66 62 30 33 65 22 3e 44 65 73 63 72 69 "#ffb03e">Descri
66d0: 70 74 69 6f 6e 3c 2f 74 68 3e 3c 2f 74 72 3e 0d ption</th></tr>.
66e0: 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 48 61 73 50 .<tr><td><b>HasP
66f0: 72 6f 6a 36 3c 2f 62 3e 28 20 3c 69 3e 76 6f 69 roj6</b>( <i>voi
6700: 64 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 42 6f 6f d</i> ) : <i>Boo
6710: 6c 65 61 6e 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c lean</i></td>..<
6720: 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a 3c 74 td>None</td>..<t
6730: 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 d>Will return <b
6740: 3e 31 3c 2f 62 3e 20 28 3c 62 3e 54 52 55 45 3c >1</b> (<b>TRUE<
6750: 2f 62 3e 29 20 69 66 20 74 68 65 20 6c 69 62 72 /b>) if the libr
6760: 61 72 79 20 68 61 73 20 62 65 65 6e 20 62 75 69 ary has been bui
6770: 6c 74 20 6f 6e 20 3c 62 3e 50 52 4f 4a 2e 36 3c lt on <b>PROJ.6<
6780: 2f 62 3e 20 28 6f 72 20 61 6e 79 20 6c 61 74 65 /b> (or any late
6790: 72 20 76 65 72 73 69 6f 6e 29 2c 20 6f 74 68 65 r version), othe
67a0: 72 77 69 73 65 20 3c 62 3e 30 3c 2f 62 3e 20 28 rwise <b>0</b> (
67b0: 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 29 2e 3c 2f <b>FALSE</b>).</
67c0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
67d0: 64 3e 3c 62 3e 50 52 4f 4a 5f 47 65 74 4c 61 73 d><b>PROJ_GetLas
67e0: 74 45 72 72 6f 72 4d 73 67 3c 2f 62 3e 28 20 3c tErrorMsg</b>( <
67f0: 69 3e 76 6f 69 64 3c 2f 69 3e 20 29 20 3a 20 3c i>void</i> ) : <
6800: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74 64 i>String</i></td
6810: 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e >..<td>None</td>
6820: 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 ..<td>Will retur
6830: 6e 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e n the most recen
6840: 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 t error message
6850: 72 65 74 75 72 6e 65 64 20 62 79 20 50 52 4f 4a returned by PROJ
6860: 20 28 69 66 20 61 6e 79 29 2e 3c 62 72 3e 0d 0a (if any).<br>..
6870: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c <b>NULL</b> will
6880: 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 66 20 be returned if
6890: 74 68 65 72 65 20 69 73 20 6e 6f 20 63 75 72 65 there is no cure
68a0: 6e 74 6c 79 20 70 65 6e 64 69 6e 67 20 50 52 4f ntly pending PRO
68b0: 4a 20 65 72 72 6f 72 2e 3c 2f 74 64 3e 3c 2f 74 J error.</td></t
68c0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 r>..<tr><td><b>P
68d0: 52 4f 4a 5f 47 65 74 44 61 74 61 62 61 73 65 50 ROJ_GetDatabaseP
68e0: 61 74 68 3c 2f 62 3e 28 20 3c 69 3e 76 6f 69 64 ath</b>( <i>void
68f0: 3c 2f 69 3e 20 3a 20 3c 69 3e 53 74 72 69 6e 67 </i> : <i>String
6900: 3c 2f 69 3e 29 3c 2f 74 64 3e 0d 0a 3c 74 64 3e </i>)</td>..<td>
6910: 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 None</td>..<td>W
6920: 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 63 ill return the c
6930: 75 72 72 65 6e 74 6c 79 20 73 65 74 20 70 61 74 urrently set pat
6940: 68 6e 61 6d 65 20 6c 65 61 64 69 6e 67 20 74 6f hname leading to
6950: 20 74 68 65 20 70 72 69 76 61 74 65 20 50 52 4f the private PRO
6960: 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 61 62 J's SQLite datab
6970: 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c ase.<br>..<b>NUL
6980: 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 L</b> will be re
6990: 74 75 72 6e 65 64 20 69 66 20 74 68 65 72 65 20 turned if there
69a0: 69 73 20 6e 6f 20 70 72 69 76 61 74 65 20 50 52 is no private PR
69b0: 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 61 OJ's SQLite data
69c0: 62 61 73 65 20 63 75 72 72 65 6e 74 6c 79 20 63 base currently c
69d0: 6f 6e 6e 65 63 74 65 64 2e 3c 2f 74 64 3e 3c 2f onnected.</td></
69e0: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e tr>..<tr><td><b>
69f0: 50 52 4f 4a 5f 53 65 74 44 61 74 61 62 61 73 65 PROJ_SetDatabase
6a00: 50 61 74 68 3c 2f 62 3e 20 28 20 6e 65 77 5f 70 Path</b> ( new_p
6a10: 61 74 68 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ath <i>String</i
6a20: 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c > ) : <i>String<
6a30: 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a /i></td>..<td>..
6a40: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 65 77 <ul>..<li><b>new
6a50: 5f 70 61 74 68 3c 2f 62 3e 3a 20 61 20 72 65 6c _path</b>: a rel
6a60: 61 74 69 76 65 20 6f 72 20 61 62 73 6f 6c 75 74 ative or absolut
6a70: 65 20 70 61 74 68 6e 61 6d 65 20 6c 65 61 64 69 e pathname leadi
6a80: 6e 67 20 74 6f 20 61 20 76 61 6c 69 64 20 50 52 ng to a valid PR
6a90: 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 61 OJ's SQLite data
6aa0: 62 61 73 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c base.</li>..</ul
6ab0: 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 69 6c 6c ></td>..<td>Will
6ac0: 20 63 68 61 6e 67 65 20 74 68 65 20 63 75 72 72 change the curr
6ad0: 65 6e 74 6c 79 20 73 65 74 20 70 61 74 68 6e 61 ently set pathna
6ae0: 6d 65 20 6c 65 61 64 69 6e 67 20 74 6f 20 74 68 me leading to th
6af0: 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 73 e private PROJ's
6b00: 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 SQLite database
6b10: 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f .<br>..<b>NULL</
6b20: 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 b> will be retur
6b30: 6e 65 64 20 69 66 20 74 68 65 20 70 61 73 73 65 ned if the passe
6b40: 64 20 70 61 74 68 20 69 73 20 69 6e 76 61 6c 69 d path is invali
6b50: 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 d, otherwise the
6b60: 20 70 61 74 68 20 6f 66 20 74 68 65 20 63 75 72 path of the cur
6b70: 72 65 6e 74 6c 79 20 73 65 74 20 70 72 69 76 61 rently set priva
6b80: 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 te PROJ's SQLite
6b90: 20 64 61 74 61 62 61 73 65 20 77 69 6c 6c 20 62 database will b
6ba0: 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 74 64 3e e returned.</td>
6bb0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 3c </tr>..<tr><td><
6bc0: 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 3e b>PROJ_AsWKT</b>
6bd0: 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e ( auth_name <i>
6be0: 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 String</i> , aut
6bf0: 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 h_srid <i>Intege
6c00: 72 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 74 72 r</i> ) : <i>Str
6c10: 69 6e 67 3c 2f 69 3e 3c 68 72 3e 0d 0a 3c 62 3e ing</i><hr>..<b>
6c20: 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 3e 20 28 PROJ_AsWKT</b> (
6c30: 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 auth_name <i>St
6c40: 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f ring</i> , auth_
6c50: 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c srid <i>Integer<
6c60: 2f 69 3e 20 2c 20 77 6b 74 5f 73 74 79 6c 65 20 /i> , wkt_style
6c70: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 <i>String</i> )
6c80: 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c : <i>String</i><
6c90: 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 73 57 hr>..<b>PROJ_AsW
6ca0: 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 5f 6e 61 KT</b> ( auth_na
6cb0: 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e me <i>String</i>
6cc0: 20 2c 20 61 75 74 68 5f 73 72 69 64 20 3c 69 3e , auth_srid <i>
6cd0: 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 77 6b Integer</i> , wk
6ce0: 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 72 69 6e t_style <i>Strin
6cf0: 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 65 64 g</i> , indented
6d00: 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e 20 <i>Boolean</i>
6d10: 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 ) : <i>String</i
6d20: 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 ><hr>..<b>PROJ_A
6d30: 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 5f sWKT</b> ( auth_
6d40: 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f name <i>String</
6d50: 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 20 3c i> , auth_srid <
6d60: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c 20 i>Integer</i> ,
6d70: 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 72 wkt_style <i>Str
6d80: 69 6e 67 3c 2f 69 3e 20 2c 20 69 6e 64 65 6e 74 ing</i> , indent
6d90: 65 64 20 3c 69 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 ed <i>Boolean</i
6da0: 3e 20 2c 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 > , indentation
6db0: 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 29 <i>Integer</i> )
6dc0: 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e : <i>String</i>
6dd0: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d </td>..<td><ul>.
6de0: 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f 6e 61 6d .<li><b>auth_nam
6df0: 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 61 75 74 e</b> and <b>aut
6e00: 68 5f 73 72 69 64 3c 2f 62 3e 20 69 64 65 6e 74 h_srid</b> ident
6e10: 69 66 79 20 74 68 65 20 69 6e 74 65 6e 64 65 64 ify the intended
6e20: 20 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 61 75 CRS.<br>..<b>au
6e30: 74 68 5f 6e 61 6d 65 3c 2f 62 3e 20 63 61 6e 20 th_name</b> can
6e40: 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 be <b>NULL</b>,
6e50: 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 and in this case
6e60: 20 3c 62 3e 45 50 53 47 3c 2f 62 3e 20 77 69 6c <b>EPSG</b> wil
6e70: 6c 20 62 65 20 61 73 73 75 6d 65 64 2e 3c 2f 6c l be assumed.</l
6e80: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 i>..<li>the opti
6e90: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 onal argument <b
6ea0: 3e 73 74 79 6c 65 3c 2f 62 3e 20 64 65 74 65 72 >style</b> deter
6eb0: 6d 69 6e 65 73 20 77 68 69 63 68 20 73 70 65 63 mines which spec
6ec0: 69 66 69 63 20 57 4b 54 20 66 6f 72 6d 61 74 20 ific WKT format
6ed0: 73 68 6f 75 6c 64 20 62 65 20 61 64 6f 70 74 65 should be adopte
6ee0: 64 2c 20 61 6e 64 20 6d 75 73 74 20 62 65 20 6f d, and must be o
6ef0: 6e 65 20 62 65 74 77 65 65 6e 20 3c 62 3e 47 44 ne between <b>GD
6f00: 41 4c 3c 2f 62 3e 2c 20 3c 62 3e 45 53 52 49 3c AL</b>, <b>ESRI<
6f10: 2f 62 3e 2c 20 3c 62 3e 49 53 4f 2d 32 30 31 35 /b>, <b>ISO-2015
6f20: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 49 53 4f 2d 32 </b> or <b>ISO-2
6f30: 30 31 38 3c 2f 62 3e 20 28 74 68 69 73 20 6c 61 018</b> (this la
6f40: 74 74 65 72 20 62 65 69 6e 67 20 74 68 65 20 64 tter being the d
6f50: 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 29 2e efault setting).
6f60: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f </li>..<li>the o
6f70: 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 ptional argument
6f80: 20 3c 62 3e 69 6e 64 65 6e 74 65 64 3c 2f 62 3e <b>indented</b>
6f90: 20 69 66 20 73 65 74 20 74 6f 20 3c 62 3e 54 52 if set to <b>TR
6fa0: 55 45 3c 2f 62 3e 20 77 69 6c 6c 20 6e 69 63 65 UE</b> will nice
6fb0: 6c 79 20 66 6f 72 6d 61 74 20 61 20 6d 75 6c 74 ly format a mult
6fc0: 69 6c 69 6e 65 20 57 4b 54 20 65 78 70 72 65 73 iline WKT expres
6fd0: 73 69 6f 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 sion, otherwise
6fe0: 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 a single monolit
6ff0: 68 69 63 20 6c 69 6e 65 20 6c 61 63 6b 69 6e 67 hic line lacking
7000: 20 61 6e 79 20 77 68 69 74 65 2d 73 70 61 63 65 any white-space
7010: 20 6f 72 20 6e 65 77 2d 6c 69 6e 65 20 77 69 6c or new-line wil
7020: 6c 20 62 65 20 70 72 69 6e 74 65 64 20 28 74 68 l be printed (th
7030: 65 20 64 65 66 61 75 6c 74 20 69 73 20 3c 62 3e e default is <b>
7040: 54 52 55 45 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d TRUE</b>).</li>.
7050: 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 .<li>the optiona
7060: 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e 69 6e l argument <b>in
7070: 64 65 6e 74 61 74 69 6f 6e 3c 2f 62 3e 20 64 65 dentation</b> de
7080: 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 6d 61 6e termines how man
7090: 79 20 77 68 69 74 65 2d 73 70 61 63 65 73 20 61 y white-spaces a
70a0: 72 65 20 74 6f 20 62 65 20 75 73 65 64 20 66 6f re to be used fo
70b0: 72 20 69 6e 64 65 6e 74 69 6e 67 20 28 6f 6e 6c r indenting (onl
70c0: 79 20 6d 65 61 6e 69 6e 67 66 75 6c 20 69 66 20 y meaningful if
70d0: 3c 62 3e 3c 69 3e 69 6e 64 65 6e 74 65 64 3d 54 <b><i>indented=T
70e0: 52 55 45 3c 2f 69 3e 3c 2f 62 3e 3b 20 74 68 65 RUE</i></b>; the
70f0: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 default values
7100: 69 73 20 3c 62 3e 34 3c 2f 62 3e 29 2e 3c 2f 6c is <b>4</b>).</l
7110: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a i>..</ul></td>..
7120: 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 <td>Will return
7130: 74 68 65 20 57 4b 54 20 65 78 70 72 65 73 73 69 the WKT expressi
7140: 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 on corresponding
7150: 20 74 6f 20 61 20 67 69 76 65 6e 20 43 52 53 3b to a given CRS;
7160: 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 the definitions
7170: 20 77 69 6c 6c 20 62 65 20 74 61 6b 65 6e 20 64 will be taken d
7180: 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 74 68 65 irectly from the
7190: 20 70 72 69 76 61 74 65 20 50 52 4f 4a 27 73 20 private PROJ's
71a0: 6f 77 6e 20 64 61 74 61 62 61 73 65 2e 3c 62 72 own database.<br
71b0: 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 >..<b>NULL</b> w
71c0: 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 ill be returned
71d0: 6f 6e 20 66 61 69 6c 75 72 65 20 6f 72 20 6f 6e on failure or on
71e0: 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e invalid argumen
71f0: 74 73 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c ts.</td></tr>..<
7200: 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 tr><td><b>PROJ_G
7210: 75 65 73 73 53 72 69 64 46 72 6f 6d 57 4b 54 3c uessSridFromWKT<
7220: 2f 62 3e 20 28 20 77 6b 74 5f 65 78 70 72 20 3c /b> ( wkt_expr <
7230: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 3a i>String</i> ) :
7240: 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 3c <i>Integer</i><
7250: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a /td>..<td><ul>..
7260: 3c 6c 69 3e 3c 62 3e 77 6b 74 5f 65 78 70 72 3c <li><b>wkt_expr<
7270: 2f 62 3e 3a 20 74 68 65 20 57 4b 54 20 65 78 70 /b>: the WKT exp
7280: 72 65 73 73 69 6f 6e 20 74 6f 20 62 65 20 65 76 ression to be ev
7290: 61 6c 75 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c aluated.</li>..<
72a0: 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d /ul></td>..<td>.
72b0: 0a 57 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 72 .Will possibly r
72c0: 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 53 52 49 eturn the <b>SRI
72d0: 44 20 76 61 6c 75 65 3c 2f 62 3e 20 63 6f 72 72 D value</b> corr
72e0: 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 20 67 esponding to a g
72f0: 69 76 65 6e 20 57 4b 54 20 65 78 70 72 65 73 73 iven WKT express
7300: 69 6f 6e 20 64 65 66 69 6e 69 6e 67 20 61 20 43 ion defining a C
7310: 52 53 2e 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 3c 2f RS.<br>..<b>-1</
7320: 62 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 b> will be retur
7330: 6e 65 64 20 69 66 20 6e 6f 20 43 52 53 20 73 75 ned if no CRS su
7340: 70 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a 2e pported by PROJ.
7350: 36 20 6d 61 74 63 68 65 73 20 74 68 65 20 57 4b 6 matches the WK
7360: 54 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 62 72 T expression.<br
7370: 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 >..<b>NULL</b> w
7380: 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 ill be returned
7390: 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d on invalid argum
73a0: 65 6e 74 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e ent...</td></tr>
73b0: 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f ..<tr><td><b>PRO
73c0: 4a 5f 47 75 65 73 73 53 72 69 64 46 72 6f 6d 53 J_GuessSridFromS
73d0: 48 50 3c 2f 62 3e 20 28 20 66 69 6c 65 6e 61 6d HP</b> ( filenam
73e0: 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 e <i>String</i>
73f0: 29 20 3a 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f ) : <i>Integer</
7400: 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 6c i></td>..<td><ul
7410: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 66 69 6c 65 6e 61 >..<li><b>filena
7420: 6d 65 3c 2f 62 3e 3a 20 74 68 65 20 61 62 73 6f me</b>: the abso
7430: 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 76 65 lute or relative
7440: 20 70 61 74 68 20 6c 65 61 64 69 6e 67 20 74 6f path leading to
7450: 20 73 6f 6d 65 20 53 68 61 70 65 66 69 6c 65 2e some Shapefile.
7460: 3c 62 72 3e 0d 0a 4e 6f 74 65 3a 20 65 78 61 63 <br>..Note: exac
7470: 74 6c 65 79 20 61 73 20 72 65 71 75 69 72 65 64 tley as required
7480: 20 62 79 20 3c 62 3e 3c 69 3e 49 6d 70 6f 72 74 by <b><i>Import
7490: 53 48 50 3c 2f 69 3e 3c 2f 62 3e 28 29 20 3c 62 SHP</i></b>() <b
74a0: 3e 3c 69 3e 66 69 6c 65 6e 61 6d 65 3c 2f 69 3e ><i>filename</i>
74b0: 3c 2f 62 3e 20 6d 75 73 74 20 6f 6d 69 74 20 61 </b> must omit a
74c0: 6e 79 20 3c 62 3e 2e 73 68 70 3c 2f 62 3e 2c 20 ny <b>.shp</b>,
74d0: 3c 62 3e 2e 73 68 78 3c 2f 62 3e 2c 20 3c 62 3e <b>.shx</b>, <b>
74e0: 2e 64 62 66 3c 2f 62 3e 20 6f 72 20 3c 62 3e 2e .dbf</b> or <b>.
74f0: 70 72 6a 3c 2f 62 3e 20 73 75 66 66 69 78 2e 3c prj</b> suffix.<
7500: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e /li>..</ul></td>
7510: 0d 0a 3c 74 64 3e 0d 0a 57 69 6c 6c 20 70 6f 73 ..<td>..Will pos
7520: 73 69 62 6c 79 20 72 65 74 75 72 6e 20 74 68 65 sibly return the
7530: 20 3c 62 3e 53 52 49 44 20 76 61 6c 75 65 3c 2f <b>SRID value</
7540: 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 b> corresponding
7550: 20 74 6f 20 74 68 65 20 43 52 53 20 64 65 66 69 to the CRS defi
7560: 6e 65 64 20 62 79 20 74 68 65 20 2e 50 52 4a 20 ned by the .PRJ
7570: 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 53 68 member of the Sh
7580: 61 70 65 66 69 6c 65 2e 3c 62 72 3e 0d 0a 3c 62 apefile.<br>..<b
7590: 3e 2d 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 >-1</b> will be
75a0: 72 65 74 75 72 6e 65 64 20 69 66 20 6e 6f 20 43 returned if no C
75b0: 52 53 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 RS supported by
75c0: 50 52 4f 4a 2e 36 20 6d 61 74 63 68 65 73 20 50 PROJ.6 matches P
75d0: 52 4a 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 RJ member of the
75e0: 20 53 68 61 70 65 66 69 6c 65 2e 3c 62 72 3e 0d Shapefile.<br>.
75f0: 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c .<b>NULL</b> wil
7600: 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 6f 6e l be returned on
7610: 20 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e invalid argumen
7620: 74 2e 3c 68 72 3e 0d 0a 3c 75 3e 50 6c 65 61 73 t.<hr>..<u>Pleas
7630: 65 20 6e 6f 74 65 20 77 65 6c 6c 3c 2f 75 3e 3a e note well</u>:
7640: 20 74 68 69 73 20 53 51 4c 20 66 75 6e 63 74 69 this SQL functi
7650: 6f 6e 20 6f 70 65 6e 64 20 74 68 65 20 64 6f 6f on opend the doo
7660: 72 20 74 6f 20 6d 61 6e 79 20 70 6f 74 65 6e 74 r to many potent
7670: 69 61 6c 20 73 65 63 75 72 69 74 79 20 69 73 73 ial security iss
7680: 75 65 73 2c 20 61 6e 64 20 74 68 75 73 20 69 73 ues, and thus is
7690: 20 61 6c 77 61 79 73 20 3c 69 3e 64 69 73 61 62 always <i>disab
76a0: 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 3c 2f led by default</
76b0: 69 3e 2e 3c 62 72 3e 0d 0a 45 78 70 6c 69 63 69 i>.<br>..Explici
76c0: 74 6c 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 tly setting the
76d0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 environment vari
76e0: 61 62 6c 65 20 3c 62 3e 53 50 41 54 49 41 4c 49 able <b>SPATIALI
76f0: 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c 61 TE_SECURITY=rela
7700: 78 65 64 3c 2f 62 3e 20 69 73 20 61 62 73 6f 6c xed</b> is absol
7710: 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 20 69 utely required i
7720: 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 61 62 6c n order to enabl
7730: 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e e this function.
7740: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f ..</td></tr>..</
7750: 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 74 61 62 table><br>..<tab
7760: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 le cellspacing="
7770: 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 8" cellpadding="
7780: 31 36 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 16" bgcolor="#ff
7790: 66 66 65 39 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e ffe9">..<tr><td>
77a0: 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e ..<b><u>Note</u>
77b0: 3c 2f 62 3e 3a 20 61 6c 6c 20 74 68 65 20 61 62 </b>: all the ab
77c0: 6f 76 65 20 53 51 4c 20 46 75 6e 63 74 69 6f 6e ove SQL Function
77d0: 73 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61 s will be availa
77e0: 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 53 70 ble only when Sp
77f0: 61 74 69 61 6c 69 74 65 2d 35 2e 30 2e 30 20 68 atialite-5.0.0 h
7800: 61 73 20 62 65 65 6e 20 62 75 69 6c 74 20 61 67 as been built ag
7810: 61 69 6e 73 74 20 3c 62 3e 50 52 4f 4a 2e 36 3c ainst <b>PROJ.6<
7820: 2f 62 3e 20 28 6f 72 20 61 6e 79 20 73 75 62 73 /b> (or any subs
7830: 65 71 75 65 6e 74 20 76 65 72 73 69 6f 6e 29 2e equent version).
7840: 3c 62 72 3e 0d 0a 49 66 20 53 70 61 74 69 61 4c <br>..If SpatiaL
7850: 69 74 65 2d 35 2e 30 2e 30 20 68 61 73 20 62 65 ite-5.0.0 has be
7860: 65 6e 20 62 75 69 6c 74 20 69 6e 73 74 65 61 64 en built instead
7870: 20 61 67 61 69 6e 73 74 20 61 6e 79 20 70 72 65 against any pre
7880: 76 69 6f 73 75 73 20 76 65 72 73 69 6f 6e 20 28 viosus version (
7890: 61 73 20 65 2e 67 2e 20 3c 62 3e 50 52 4f 4a 2e as e.g. <b>PROJ.
78a0: 34 3c 2f 62 3e 29 20 61 6e 79 20 61 74 74 65 6d 4</b>) any attem
78b0: 70 74 20 74 6f 20 63 61 6c 6c 20 6f 6e 65 20 6f pt to call one o
78c0: 66 20 74 68 65 73 65 20 53 51 4c 20 46 75 6e 63 f these SQL Func
78d0: 74 69 6f 6e 73 20 77 69 6c 6c 20 73 69 6d 70 6c tions will simpl
78e0: 79 20 72 65 74 75 72 6e 20 61 20 3c 62 3e 3c 69 y return a <b><i
78f0: 3e 3c 75 3e 6e 6f 20 73 75 63 68 20 66 75 6e 63 ><u>no such func
7900: 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 3c 2f 62 3e tion</u></i></b>
7910: 20 53 51 4c 20 65 72 72 6f 72 2e 0d 0a 3c 2f 74 SQL error...</t
7920: 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 d></tr>..</table
7930: 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 72 61 63 74 69 ><br>..<b>Practi
7940: 63 61 6c 20 65 78 61 6d 70 6c 65 73 3a 3c 2f 62 cal examples:</b
7950: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 >..<verbatim>..S
7960: 45 4c 45 43 54 20 50 52 4f 4a 5f 47 65 74 44 61 ELECT PROJ_GetDa
7970: 74 61 62 61 73 65 50 61 74 68 28 29 3b 20 20 2d tabasePath(); -
7980: 2d 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 - retrieving the
7990: 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 50 currently set P
79a0: 52 4f 4a 27 73 20 6f 77 6e 20 64 61 74 61 62 61 ROJ's own databa
79b0: 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d se..------------
79c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
79d0: 2d 2d 0d 0a 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 --../usr/local/s
79e0: 68 61 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64 hare/proj/proj.d
79f0: 62 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a b....SELECT PROJ
7a00: 5f 53 65 74 44 61 74 61 62 61 73 65 50 61 74 68 _SetDatabasePath
7a10: 28 27 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e ('/home/sandro/n
7a20: 6f 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f 6a ot_existing_proj
7a30: 2e 64 62 27 29 3b 20 2d 2d 20 6e 6f 6e 20 65 78 .db'); -- non ex
7a40: 69 73 74 69 6e 67 20 64 61 74 61 62 61 73 65 0d isting database.
7a50: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
7a60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
7a70: 0a 4e 55 4c 4c 0d 0a 0d 0a 53 45 4c 45 43 54 20 .NULL....SELECT
7a80: 50 52 4f 4a 5f 47 65 74 4c 61 73 74 45 72 72 6f PROJ_GetLastErro
7a90: 72 4d 73 67 28 29 3b 20 2d 2d 20 72 65 74 72 69 rMsg(); -- retri
7aa0: 65 76 69 6e 67 20 74 68 65 20 66 61 69 6c 75 72 eving the failur
7ab0: 65 20 63 61 75 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d e cause..-------
7ac0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7ad0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 70 72 6f 6a 5f 63 6f -------..proj_co
7ae0: 6e 74 65 78 74 5f 73 65 74 5f 64 61 74 61 62 61 ntext_set_databa
7af0: 73 65 5f 70 61 74 68 3a 20 4f 70 65 6e 20 6f 66 se_path: Open of
7b00: 20 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e 6f /home/sandro/no
7b10: 74 5f 65 78 69 73 74 69 6e 67 5f 70 72 6f 6a 2e t_existing_proj.
7b20: 64 62 20 66 61 69 6c 65 64 0d 0a 0d 0a 53 45 4c db failed....SEL
7b30: 45 43 54 20 50 52 4f 4a 5f 53 65 74 44 61 74 61 ECT PROJ_SetData
7b40: 62 61 73 65 50 61 74 68 28 27 2f 68 6f 6d 65 2f basePath('/home/
7b50: 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72 6f sandro/valid_pro
7b60: 6a 2e 64 62 27 29 3b 20 2d 2d 20 76 61 6c 69 64 j.db'); -- valid
7b70: 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d database..-----
7b80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2f 68 6f 6d 65 ---------../home
7ba0: 2f 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72 /sandro/valid_pr
7bb0: 6f 6a 2e 64 62 0d 0a 0d 0a 53 45 4c 45 43 54 20 oj.db....SELECT
7bc0: 50 52 4f 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 PROJ_AsWKT('EPSG
7bd0: 27 2c 20 34 33 32 36 29 3b 20 2d 2d 20 64 65 66 ', 4326); -- def
7be0: 61 75 6c 74 20 73 65 74 74 69 6e 67 73 3a 20 49 ault settings: I
7bf0: 53 4f 2d 32 30 31 38 20 73 74 79 6c 65 2c 20 69 SO-2018 style, i
7c00: 6e 64 65 6e 74 65 64 20 77 69 74 68 20 69 6e 64 ndented with ind
7c10: 65 6e 74 61 74 69 6f 6e 20 34 0d 0a 2d 2d 2d 2d entation 4..----
7c20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7c30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 47 45 4f 44 ----------..GEOD
7c40: 43 52 53 5b 22 57 47 53 20 38 34 22 2c 0d 0a 20 CRS["WGS 84",..
7c50: 20 20 20 44 41 54 55 4d 5b 22 57 6f 72 6c 64 20 DATUM["World
7c60: 47 65 6f 64 65 74 69 63 20 53 79 73 74 65 6d 20 Geodetic System
7c70: 31 39 38 34 22 2c 0d 0a 20 20 20 20 20 20 20 20 1984",..
7c80: 45 4c 4c 49 50 53 4f 49 44 5b 22 57 47 53 20 38 ELLIPSOID["WGS 8
7c90: 34 22 2c 36 33 37 38 31 33 37 2c 32 39 38 2e 32 4",6378137,298.2
7ca0: 35 37 32 32 33 35 36 33 2c 0d 0a 20 20 20 20 20 57223563,..
7cb0: 20 20 20 20 20 20 20 4c 45 4e 47 54 48 55 4e 49 LENGTHUNI
7cc0: 54 5b 22 6d 65 74 72 65 22 2c 31 5d 5d 5d 2c 0d T["metre",1]]],.
7cd0: 0a 20 20 20 20 50 52 49 4d 45 4d 5b 22 47 72 65 . PRIMEM["Gre
7ce0: 65 6e 77 69 63 68 22 2c 30 2c 0d 0a 20 20 20 20 enwich",0,..
7cf0: 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 ANGLEUNIT["d
7d00: 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 egree",0.0174532
7d10: 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 925199433]],..
7d20: 20 20 43 53 5b 65 6c 6c 69 70 73 6f 69 64 61 6c CS[ellipsoidal
7d30: 2c 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 41 58 ,2],.. AX
7d40: 49 53 5b 22 67 65 6f 64 65 74 69 63 20 6c 61 74 IS["geodetic lat
7d50: 69 74 75 64 65 20 28 4c 61 74 29 22 2c 6e 6f 72 itude (Lat)",nor
7d60: 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 th,..
7d70: 20 4f 52 44 45 52 5b 31 5d 2c 0d 0a 20 20 20 20 ORDER[1],..
7d80: 20 20 20 20 20 20 20 20 41 4e 47 4c 45 55 4e 49 ANGLEUNI
7d90: 54 5b 22 64 65 67 72 65 65 22 2c 30 2e 30 31 37 T["degree",0.017
7da0: 34 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 2c 4532925199433]],
7db0: 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 5b 22 .. AXIS["
7dc0: 67 65 6f 64 65 74 69 63 20 6c 6f 6e 67 69 74 75 geodetic longitu
7dd0: 64 65 20 28 4c 6f 6e 29 22 2c 65 61 73 74 2c 0d de (Lon)",east,.
7de0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 52 44 . ORD
7df0: 45 52 5b 32 5d 2c 0d 0a 20 20 20 20 20 20 20 20 ER[2],..
7e00: 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 ANGLEUNIT["d
7e10: 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 egree",0.0174532
7e20: 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 925199433]],..
7e30: 20 20 41 52 45 41 5b 22 57 6f 72 6c 64 22 5d 2c AREA["World"],
7e40: 0d 0a 20 20 20 20 42 42 4f 58 5b 2d 39 30 2c 2d .. BBOX[-90,-
7e50: 31 38 30 2c 39 30 2c 31 38 30 5d 2c 0d 0a 20 20 180,90,180],..
7e60: 20 20 49 44 5b 22 45 50 53 47 22 2c 34 33 32 36 ID["EPSG",4326
7e70: 5d 5d 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f ]]....SELECT PRO
7e80: 4a 5f 41 73 57 4b 54 28 27 45 50 53 47 27 2c 20 J_AsWKT('EPSG',
7e90: 34 33 32 36 2c 20 27 45 53 52 49 27 2c 20 30 2c 4326, 'ESRI', 0,
7ea0: 20 30 29 3b 20 2d 2d 20 45 53 52 49 20 73 74 79 0); -- ESRI sty
7eb0: 6c 65 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 6c le, monolithic l
7ec0: 69 6e 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ine..-----------
7ed0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
7ee0: 2d 2d 2d 0d 0a 47 45 4f 47 43 53 5b 22 47 43 53 ---..GEOGCS["GCS
7ef0: 5f 57 47 53 5f 31 39 38 34 22 2c 44 41 54 55 4d _WGS_1984",DATUM
7f00: 5b 22 44 5f 57 47 53 5f 31 39 38 34 22 2c 53 50 ["D_WGS_1984",SP
7f10: 48 45 52 4f 49 44 5b 22 57 47 53 5f 31 39 38 34 HEROID["WGS_1984
7f20: 22 2c 36 33 37 38 31 33 37 2e 30 2c 32 39 38 2e ",6378137.0,298.
7f30: 32 35 37 32 32 33 35 36 33 5d 5d 2c 50 52 49 4d 257223563]],PRIM
7f40: 45 4d 5b 22 47 72 65 65 6e 77 69 63 68 22 2c 30 EM["Greenwich",0
7f50: 2e 30 5d 2c 55 4e 49 54 5b 22 44 65 67 72 65 65 .0],UNIT["Degree
7f60: 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 39 ",0.017453292519
7f70: 39 34 33 33 5d 5d 0d 0a 0d 0a 53 45 4c 45 43 54 9433]]....SELECT
7f80: 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69 64 46 PROJ_GuessSridF
7f90: 72 6f 6d 57 4b 54 28 27 47 45 4f 47 43 53 5b 22 romWKT('GEOGCS["
7fa0: 47 43 53 5f 4d 6f 6e 74 65 5f 4d 61 72 69 6f 5f GCS_Monte_Mario_
7fb0: 52 6f 6d 65 22 2c 44 41 54 55 4d 5b 22 44 5f 4d Rome",DATUM["D_M
7fc0: 6f 6e 74 65 5f 4d 61 72 69 6f 22 2c 53 50 48 45 onte_Mario",SPHE
7fd0: 52 4f 49 44 5b 22 49 6e 74 65 72 6e 61 74 69 6f ROID["Internatio
7fe0: 6e 61 6c 5f 31 39 32 34 22 2c 36 33 37 38 33 38 nal_1924",637838
7ff0: 38 2e 30 2c 32 39 37 2e 30 5d 5d 2c 50 52 49 4d 8.0,297.0]],PRIM
8000: 45 4d 5b 22 52 6f 6d 65 22 2c 31 32 2e 34 35 32 EM["Rome",12.452
8010: 33 33 33 33 33 33 33 33 33 33 5d 2c 55 4e 49 54 3333333333],UNIT
8020: 5b 22 44 65 67 72 65 65 22 2c 30 2e 30 31 37 34 ["Degree",0.0174
8030: 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 27 29 532925199433]]')
8040: 3b 20 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ; ..------------
8050: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
8060: 2d 2d 0d 0a 34 38 30 36 0d 0a 0d 0a 53 45 4c 45 --..4806....SELE
8070: 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69 CT PROJ_GuessSri
8080: 64 46 72 6f 6d 53 48 50 28 27 2f 68 6f 6d 65 2f dFromSHP('/home/
8090: 73 61 6e 64 72 6f 2f 74 75 73 63 61 6e 79 5f 73 sandro/tuscany_s
80a0: 68 70 2f 70 72 6f 76 32 30 31 31 27 29 3b 20 2d hp/prov2011'); -
80b0: 2d 20 72 65 6d 65 6d 62 65 72 3a 20 72 65 71 75 - remember: requ
80c0: 69 72 65 73 20 74 6f 20 65 78 70 6c 69 63 69 74 ires to explicit
80d0: 6c 79 20 73 65 74 20 53 50 41 54 49 41 4c 49 54 ly set SPATIALIT
80e0: 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c 61 78 E_SECURITY=relax
80f0: 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ed..------------
8100: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
8110: 2d 2d 0d 0a 33 30 30 33 0d 0a 3c 2f 76 65 72 62 --..3003..</verb
8120: 61 74 69 6d 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 72 atim>..<br>..<hr
8130: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 ><br>..<table ce
8140: 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 llspacing="8" ce
8150: 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 62 67 llpadding="8" bg
8160: 63 6f 6c 6f 72 3d 22 23 66 66 65 30 65 39 22 20 color="#ffe0e9"
8170: 77 69 64 74 68 3d 22 31 30 30 25 22 3e 0d 0a 3c width="100%">..<
8180: 74 72 3e 3c 74 68 3e 0d 0a 3c 68 31 3e 49 6d 70 tr><th>..<h1>Imp
8190: 6f 72 74 61 6e 74 20 6e 6f 74 69 63 65 20 66 6f ortant notice fo
81a0: 72 20 57 69 6e 64 6f 77 73 20 75 73 65 72 73 3c r Windows users<
81b0: 2f 68 31 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e /h1>..</th></tr>
81c0: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 50 ..<tr><td>..<b>P
81d0: 52 4f 4a 2e 36 3c 2f 62 3e 20 63 72 69 74 69 63 ROJ.6</b> critic
81e0: 61 6c 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 ally depends on
81f0: 69 74 73 20 6f 77 6e 20 70 72 69 76 61 74 65 20 its own private
8200: 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 SQLite database
8210: 28 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 29 (<b>proj.db</b>)
8220: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 containing all
8230: 72 65 6c 65 76 61 6e 74 20 64 65 66 69 6e 69 74 relevant definit
8240: 69 6f 6e 73 20 61 62 6f 75 74 20 45 6c 6c 69 70 ions about Ellip
8250: 73 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d 65 72 soids, Prime Mer
8260: 69 64 69 61 6e 73 2c 20 43 52 53 65 73 2c 20 54 idians, CRSes, T
8270: 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 61 ransformations a
8280: 6e 64 20 61 6c 69 6b 65 2e 3c 62 72 3e 0d 0a 49 nd alike.<br>..I
8290: 66 20 50 52 4f 4a 2e 36 20 69 73 20 75 6e 61 62 f PROJ.6 is unab
82a0: 6c 65 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 le to correctly
82b0: 65 73 74 61 62 6c 69 73 68 20 61 20 63 6f 6e 6e establish a conn
82c0: 65 63 74 69 6f 6e 20 74 6f 20 74 68 69 73 20 64 ection to this d
82d0: 61 74 61 62 61 73 65 20 69 74 20 77 69 6c 6c 20 atabase it will
82e0: 62 65 20 73 65 76 65 72 65 6c 79 20 6c 69 6d 69 be severely limi
82f0: 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 6e 6f 74 ted and will not
8300: 20 62 65 20 61 62 6c 65 20 74 6f 20 63 6f 72 72 be able to corr
8310: 65 63 74 6c 79 20 62 65 68 61 76 65 20 61 73 20 ectly behave as
8320: 65 78 70 65 63 74 65 64 2e 3c 62 72 3e 3c 62 72 expected.<br><br
8330: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e >..<ul>..<li><b>
8340: 3c 75 3e 3c 69 3e 53 68 6f 72 74 20 63 6f 6e 63 <u><i>Short conc
8350: 6c 75 73 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 3c 2f lusion</i></u></
8360: 62 3e 3a 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 b>: installing t
8370: 68 65 20 73 6f 66 74 77 61 72 65 20 61 6c 6f 6e he software alon
8380: 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 2e e is not enough.
8390: 3c 62 72 3e 0d 0a 54 68 65 20 50 52 4f 4a 2e 36 <br>..The PROJ.6
83a0: 20 70 72 69 76 61 74 65 20 64 61 74 61 62 61 73 private databas
83b0: 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e e <b>proj.db</b>
83c0: 20 6d 75 73 74 20 62 65 20 70 72 6f 70 65 72 6c must be properl
83d0: 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 20 77 y installed as w
83e0: 65 6c 6c 2c 20 69 6e 20 6f 72 64 65 72 20 74 6f ell, in order to
83f0: 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 6e 79 ensure that any
8400: 74 68 69 6e 67 20 72 75 6e 73 20 73 6d 6f 6f 74 thing runs smoot
8410: 68 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e hly.</li>..</ul>
8420: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 <br>..This isn't
8430: 20 75 73 75 61 6c 6c 79 20 61 20 62 69 67 20 69 usually a big i
8440: 73 73 75 65 20 6f 6e 20 4c 69 6e 75 78 20 61 6e ssue on Linux an
8450: 64 20 55 6e 69 78 2d 6c 69 6b 65 20 70 6c 61 74 d Unix-like plat
8460: 66 6f 72 6d 73 2c 20 77 68 65 72 65 20 61 20 72 forms, where a r
8470: 61 74 69 6f 6e 61 6c 20 61 6e 64 20 76 65 72 79 ational and very
8480: 20 63 6c 65 61 72 20 66 69 6c 65 73 79 73 74 65 clear filesyste
8490: 6d 20 6c 61 79 6f 75 74 20 65 78 69 73 74 73 2e m layout exists.
84a0: 3c 62 72 3e 0d 0a 4f 6e 20 74 68 65 73 65 20 6f <br>..On these o
84b0: 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 perating systems
84c0: 20 74 68 65 20 70 61 63 6b 61 67 65 20 6d 61 6e the package man
84d0: 61 67 65 72 20 28 6f 72 20 3c 62 3e 6d 61 6b 65 ager (or <b>make
84e0: 20 69 6e 73 74 61 6c 6c 3c 2f 62 3e 29 20 77 69 install</b>) wi
84f0: 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ll automatically
8500: 20 74 61 6b 65 20 63 61 72 65 20 74 6f 20 69 6e take care to in
8510: 73 74 61 6c 6c 20 3c 62 3e 70 72 6f 6a 2e 64 62 stall <b>proj.db
8520: 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 6d 6f 73 74 </b> on the most
8530: 20 61 70 70 72 6f 70 72 69 61 74 65 20 64 69 72 appropriate dir
8540: 65 63 74 6f 72 79 20 28 75 73 75 61 6c 6c 79 20 ectory (usually
8550: 61 73 20 3c 62 3e 2f 75 73 72 2f 73 68 61 72 65 as <b>/usr/share
8560: 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 3c 2f 62 /proj/proj.db</b
8570: 3e 20 6f 72 20 61 73 20 3c 62 3e 2f 75 73 72 2f > or as <b>/usr/
8580: 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 70 72 6f 6a local/share/proj
8590: 2f 70 72 6f 6a 2e 64 62 3c 2f 62 3e 29 20 61 6e /proj.db</b>) an
85a0: 64 20 74 68 61 74 27 73 20 61 6c 6c 2e 3c 62 72 d that's all.<br
85b0: 3e 3c 62 72 3e 0d 0a 54 68 69 6e 67 73 20 61 72 ><br>..Things ar
85c0: 65 20 75 6e 68 61 70 70 69 6c 79 20 61 20 6c 69 e unhappily a li
85d0: 74 74 6c 65 20 62 69 74 20 6d 6f 72 65 20 64 69 ttle bit more di
85e0: 66 66 69 63 75 6c 74 73 20 6f 6e 20 57 69 6e 64 fficults on Wind
85f0: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 2e 0d 0a ows platforms...
8600: 54 68 65 20 75 73 65 72 20 69 74 73 65 6c 66 20 The user itself
8610: 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 is responsible f
8620: 6f 72 20 70 72 6f 70 65 72 6c 79 20 69 6e 73 74 or properly inst
8630: 61 6c 6c 69 6e 67 20 3c 62 3e 70 72 6f 6a 2e 64 alling <b>proj.d
8640: 62 3c 2f 62 3e 0d 0a 53 6f 20 69 74 20 62 65 63 b</b>..So it bec
8650: 6f 6d 65 73 20 63 72 69 74 69 63 61 6c 20 75 6e omes critical un
8660: 64 65 72 73 74 61 6e 64 69 6e 67 20 74 68 65 20 derstanding the
8670: 62 61 73 69 63 20 72 75 6c 65 73 20 61 64 6f 70 basic rules adop
8680: 74 65 64 20 62 79 20 3c 62 3e 6c 69 62 73 70 61 ted by <b>libspa
8690: 74 69 61 6c 69 74 65 3c 2f 62 3e 20 69 6e 20 6f tialite</b> in o
86a0: 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c 79 rder to properly
86b0: 20 6c 6f 63 61 74 65 20 3c 62 3e 70 72 6f 6a 2e locate <b>proj.
86c0: 64 62 3c 2f 62 3e 20 6f 6e 20 57 69 6e 64 6f 77 db</b> on Window
86d0: 73 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a s...</td></tr>..
86e0: 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 32 3e 57 68 <tr><th>..<h2>Wh
86f0: 65 72 65 20 70 72 6f 6a 2e 64 62 20 69 73 20 65 ere proj.db is e
8700: 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 66 6f xpected to be fo
8710: 75 6e 64 20 6f 6e 20 57 69 6e 64 6f 77 73 3c 2f und on Windows</
8720: 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d h2>..</td></tr>.
8730: 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 6f 6c 3e 0d .<tr><td>..<ol>.
8740: 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73 74 20 70 .<li>the first p
8750: 6c 61 63 65 20 77 68 65 72 65 20 3c 62 3e 70 72 lace where <b>pr
8760: 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c 20 62 oj.db</b> will b
8770: 65 20 73 65 61 72 63 68 65 64 20 69 73 20 74 68 e searched is th
8780: 65 20 73 61 6d 65 20 66 6f 6c 64 65 72 20 66 6f e same folder fo
8790: 72 6d 20 77 68 65 72 65 20 74 68 65 20 3c 62 3e rm where the <b>
87a0: 45 58 45 3c 2f 62 3e 20 62 69 6e 61 72 79 20 77 EXE</b> binary w
87b0: 61 73 20 69 6e 69 74 69 61 6c 6c 79 20 6c 6f 61 as initially loa
87c0: 64 65 64 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e ded.<br>..<i><u>
87d0: 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f 75 3e 3a Example</i></u>:
87e0: 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 79 assuming that y
87f0: 6f 75 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 ou are currently
8800: 20 65 78 65 63 75 74 69 6e 67 20 3c 62 3e 43 3a executing <b>C:
8810: 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74 69 61 6c \myprogs\spatial
8820: 69 74 65 5c 62 69 6e 5c 73 70 61 74 69 61 6c 69 ite\bin\spatiali
8830: 74 65 2e 65 78 65 3c 2f 62 3e 0d 0a 3c 75 6c 3e te.exe</b>..<ul>
8840: 0d 0a 3c 6c 69 3e 74 68 65 6e 20 61 6e 20 61 74 ..<li>then an at
8850: 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d 61 tempt will be ma
8860: 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74 20 3c 62 de to connect <b
8870: 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74 >C:\myprogs\spat
8880: 69 61 6c 69 74 65 5c 62 69 6e 5c 70 72 6f 6a 2e ialite\bin\proj.
8890: 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 db</b></li>..</u
88a0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 l></li>..<li>a s
88b0: 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 69 econd attempt wi
88c0: 6c 6c 20 62 65 20 6d 61 64 65 20 6f 6e 20 62 65 ll be made on be
88d0: 68 61 6c 66 20 6f 66 20 74 68 65 20 3c 62 3e 50 half of the <b>P
88e0: 75 62 6c 69 63 3c 2f 62 3e 20 66 6f 6c 64 65 72 ublic</b> folder
88f0: 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 45 78 61 .<br>..<i><u>Exa
8900: 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a 20 61 6e mple</u></i>: an
8910: 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 attempt will be
8920: 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74 made to connect
8930: 20 3c 62 3e 43 3a 5c 55 73 65 72 73 5c 50 75 62 <b>C:\Users\Pub
8940: 6c 69 63 5c 73 70 61 74 69 61 6c 69 74 65 5c 70 lic\spatialite\p
8950: 72 6f 6a 5c 70 72 6f 6a 2e 64 62 3c 2f 62 3e 3c roj\proj.db</b><
8960: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 74 68 69 72 /li>..<li>a thir
8970: 64 20 28 61 6e 64 20 6c 61 73 74 29 20 61 74 74 d (and last) att
8980: 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d 61 64 empt will be mad
8990: 65 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 e on behalf of t
89a0: 68 65 20 3c 62 3e 55 73 65 72 3c 2f 62 3e 20 66 he <b>User</b> f
89b0: 6f 6c 64 65 72 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c older.<br>..<i><
89c0: 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f 75 u>Example</i></u
89d0: 3e 3a 20 61 6e 20 61 74 74 65 6d 70 74 20 77 69 >: an attempt wi
89e0: 6c 6c 20 62 65 20 6d 61 64 65 20 74 6f 20 63 6f ll be made to co
89f0: 6e 6e 65 63 74 20 3c 62 3e 43 3a 5c 55 73 65 72 nnect <b>C:\User
8a00: 73 5c 73 61 6e 64 72 6f 5c 73 70 61 74 69 61 6c s\sandro\spatial
8a10: 69 74 65 5c 70 72 6f 6a 5c 70 72 6f 6a 2e 64 62 ite\proj\proj.db
8a20: 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e </b></li>..</ol>
8a30: 0d 0a 3c 68 33 3e 41 6e 20 75 73 65 66 75 6c 20 ..<h3>An useful
8a40: 64 69 61 67 6e 6f 73 74 69 63 20 63 68 65 63 6b diagnostic check
8a50: 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 69 6d </h3>..<verbatim
8a60: 3e 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f 47 >..SELECT PROJ_G
8a70: 65 74 44 61 74 61 62 61 73 65 50 61 74 68 28 29 etDatabasePath()
8a80: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
8a90: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 3c 62 3e <ul>..<li>if <b>
8aa0: 4e 55 4c 4c 3c 2f 62 3e 20 69 73 20 72 65 74 75 NULL</b> is retu
8ab0: 72 6e 65 64 2c 20 74 68 65 6e 20 50 52 4f 4a 2e rned, then PROJ.
8ac0: 36 20 69 73 20 64 65 66 69 6e 69 74 65 6c 79 20 6 is definitely
8ad0: 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 6e 65 63 unable to connec
8ae0: 74 20 74 6f 20 69 74 73 20 6f 77 6e 20 70 72 69 t to its own pri
8af0: 76 61 74 65 20 53 51 4c 69 74 65 20 64 61 74 61 vate SQLite data
8b00: 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c base <b>proj.db<
8b10: 2f 62 3e 3c 62 72 3e 0d 0a 59 6f 75 20 68 61 76 /b><br>..You hav
8b20: 65 20 74 6f 20 63 61 72 65 66 75 6c 6c 79 20 76 e to carefully v
8b30: 65 72 69 66 69 79 20 74 68 61 74 20 69 74 27 73 erifiy that it's
8b40: 20 72 65 61 6c 6c 79 20 69 6e 73 74 61 6c 6c 65 really installe
8b50: 64 20 6f 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 d on one of the
8b60: 65 78 70 65 63 74 65 64 20 73 74 61 6e 64 61 72 expected standar
8b70: 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 3c 2f 6c 69 d locations.</li
8b80: 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 77 69 73 65 >..<li>otherwise
8b90: 20 74 68 65 20 70 61 74 68 20 6c 65 61 64 69 6e the path leadin
8ba0: 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 g to the current
8bb0: 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 3c 62 3e ly connected <b>
8bc0: 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c proj.db</b> will
8bd0: 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c be returned.</l
8be0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c i>..</ul><br>..<
8bf0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
8c00: 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 le><br><br>..<ta
8c10: 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d ble cellspacing=
8c20: 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "8" cellpadding=
8c30: 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 63 39 "8" bgcolor="#c9
8c40: 66 66 66 30 22 20 77 69 64 74 68 3d 22 31 30 30 fff0" width="100
8c50: 25 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c %">..<tr><th>..<
8c60: 68 32 3e 55 73 69 6e 67 20 74 68 65 20 65 6e 76 h2>Using the env
8c70: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c ironment variabl
8c80: 65 20 53 50 41 54 49 41 4c 49 54 45 5f 50 52 4f e SPATIALITE_PRO
8c90: 4a 5f 44 42 5f 50 41 54 48 3c 2f 68 32 3e 0d 0a J_DB_PATH</h2>..
8ca0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
8cb0: 3c 74 64 3e 0d 0a 49 66 20 74 68 65 20 65 6e 76 <td>..If the env
8cc0: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c ironment variabl
8cd0: 65 20 3c 62 3e 53 50 41 54 49 41 4c 49 54 45 5f e <b>SPATIALITE_
8ce0: 50 52 4f 4a 5f 44 42 5f 50 41 54 48 3c 2f 62 3e PROJ_DB_PATH</b>
8cf0: 20 69 73 20 73 65 74 2c 20 74 68 65 6e 20 3c 62 is set, then <b
8d00: 3e 6c 69 62 73 70 61 74 69 61 6c 69 74 65 3c 2f >libspatialite</
8d10: 62 3e 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 61 b> will simply a
8d20: 74 74 65 6d 70 74 20 74 6f 20 63 6f 6e 6e 65 63 ttempt to connec
8d30: 74 20 74 68 65 20 64 61 74 61 62 61 73 65 20 70 t the database p
8d40: 6f 69 6e 74 65 64 20 62 79 20 74 68 69 73 20 76 ointed by this v
8d50: 61 72 69 61 62 6c 65 2e 3c 62 72 3e 0d 0a 53 75 ariable.<br>..Su
8d60: 63 68 20 61 20 63 61 70 61 62 69 6c 69 74 79 20 ch a capability
8d70: 69 73 20 73 75 70 70 6f 72 74 65 64 20 6e 6f 74 is supported not
8d80: 20 6f 6e 6c 79 20 6f 6e 20 57 69 6e 64 6f 77 73 only on Windows
8d90: 20 62 75 74 20 61 6c 73 6f 20 6f 6e 20 4c 69 6e but also on Lin
8da0: 75 78 20 28 61 6e 64 20 6f 6e 20 61 6e 79 20 6f ux (and on any o
8db0: 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 29 2e 3c ther platform).<
8dc0: 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 4c br><br>..<i><u>L
8dd0: 69 6e 75 78 20 65 78 61 6d 70 6c 65 3c 2f 75 3e inux example</u>
8de0: 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </i>:..<ul>..<li
8df0: 3e 3c 62 3e 65 78 70 6f 72 74 20 22 53 50 41 54 ><b>export "SPAT
8e00: 49 41 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 IALITE_PROJ_DB_P
8e10: 41 54 48 3d 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f ATH=/home/sandro
8e20: 2f 61 75 78 2f 70 72 6f 6a 2e 64 62 22 3c 62 72 /aux/proj.db"<br
8e30: 3e 0d 0a 65 63 68 6f 20 24 53 50 41 54 49 41 4c >..echo $SPATIAL
8e40: 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 48 ITE_PROJ_DB_PATH
8e50: 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c 69 74 65 <br>..spatialite
8e60: 3c 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c <b></li>..</ul><
8e70: 62 72 3e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 57 br><br>..<i><u>W
8e80: 69 6e 64 6f 77 73 20 65 78 61 6d 70 6c 65 3c 2f indows example</
8e90: 75 3e 3c 2f 69 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c u></i>:..<ul>..<
8ea0: 6c 69 3e 3c 62 3e 53 45 54 20 53 50 41 54 49 41 li><b>SET SPATIA
8eb0: 4c 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 LITE_PROJ_DB_PAT
8ec0: 48 3d 43 3a 5c 55 73 65 72 73 5c 73 61 6e 64 72 H=C:\Users\sandr
8ed0: 6f 5c 61 75 78 5c 70 72 6f 6a 2e 64 62 3c 62 72 o\aux\proj.db<br
8ee0: 3e 0d 0a 65 63 68 6f 20 25 53 50 41 54 49 41 4c >..echo %SPATIAL
8ef0: 49 54 45 5f 50 52 4f 4a 5f 44 42 5f 50 41 54 48 ITE_PROJ_DB_PATH
8f00: 25 3c 62 72 3e 0d 0a 73 70 61 74 69 61 6c 69 74 %<br>..spatialit
8f10: 65 5f 67 75 69 3c 62 3e 3c 2f 6c 69 3e 0d 0a 3c e_gui<b></li>..<
8f20: 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f /ul><br><br>..</
8f30: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c th></tr>..</tabl
8f40: 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e e><br>..<hr><br>
8f50: 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 ..<a href="https
8f60: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
8f70: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 it/fossil/libspa
8f80: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d tialite/wiki?nam
8f90: 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 e=4.3.0-doc">bac
8fa0: 6b 3c 2f 61 3e 0a 5a 20 37 61 32 36 66 61 63 63 k</a>.Z 7a26facc
8fb0: 30 34 39 32 39 38 61 30 38 32 33 64 61 34 66 35 049298a0823da4f5
8fc0: 30 30 63 64 38 35 62 32 0a 00cd85b2.