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