Wiki page
[PROJ.6] by
sandro
2019-07-07 18:26:05.
0000: 44 20 32 30 31 39 2d 30 37 2d 30 37 54 31 38 3a D 2019-07-07T18:
0010: 32 36 3a 30 35 2e 38 33 36 0a 4c 20 50 52 4f 4a 26:05.836.L PROJ
0020: 2e 36 0a 50 20 65 33 39 38 62 32 36 38 66 39 35 .6.P e398b268f95
0030: 35 66 33 65 39 62 33 34 66 63 36 62 65 34 66 65 5f3e9b34fc6be4fe
0040: 35 37 63 61 64 37 37 35 31 61 64 66 61 0a 55 20 57cad7751adfa.U
0050: 73 61 6e 64 72 6f 0a 57 20 34 38 34 38 38 0a 3c sandro.W 48488.<
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 6f 6e 20 3c 62 3e 50 52 4f built on <b>PRO
8d70: 4a 2e 36 3c 2f 62 3e 20 28 6f 72 20 61 6e 79 20 J.6</b> (or any
8d80: 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 29 2c 20 later version),
8d90: 6f 74 68 65 72 77 69 73 65 20 3c 62 3e 30 3c 2f otherwise <b>0</
8da0: 62 3e 20 28 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e b> (<b>FALSE</b>
8db0: 29 2e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 ).</td></tr>..<t
8dc0: 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 65 r><td><b>PROJ_Ge
8dd0: 74 4c 61 73 74 45 72 72 6f 72 4d 73 67 3c 2f 62 tLastErrorMsg</b
8de0: 3e 28 20 3c 69 3e 76 6f 69 64 3c 2f 69 3e 20 29 >( <i>void</i> )
8df0: 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e : <i>String</i>
8e00: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 4e 6f 6e 65 3c </td>..<td>None<
8e10: 2f 74 64 3e 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 /td>..<td>Will r
8e20: 65 74 75 72 6e 20 74 68 65 20 6d 6f 73 74 20 72 eturn the most r
8e30: 65 63 65 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 ecent error mess
8e40: 61 67 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 age returned by
8e50: 50 52 4f 4a 20 28 69 66 20 61 6e 79 29 2e 3c 62 PROJ (if any).<b
8e60: 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 r>..<b>NULL</b>
8e70: 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 will be returned
8e80: 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 if there is no
8e90: 63 75 72 72 65 6e 74 6c 79 20 70 65 6e 64 69 6e currently pendin
8ea0: 67 20 50 52 4f 4a 20 65 72 72 6f 72 2e 3c 2f 74 g PROJ error.</t
8eb0: 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 d></tr>..<tr><td
8ec0: 3e 3c 62 3e 50 52 4f 4a 5f 47 65 74 44 61 74 61 ><b>PROJ_GetData
8ed0: 62 61 73 65 50 61 74 68 3c 2f 62 3e 28 20 3c 69 basePath</b>( <i
8ee0: 3e 76 6f 69 64 3c 2f 69 3e 20 3a 20 3c 69 3e 53 >void</i> : <i>S
8ef0: 74 72 69 6e 67 3c 2f 69 3e 29 3c 2f 74 64 3e 0d tring</i>)</td>.
8f00: 0a 3c 74 64 3e 4e 6f 6e 65 3c 2f 74 64 3e 0d 0a .<td>None</td>..
8f10: 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 72 6e 20 <td>Will return
8f20: 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 the currently se
8f30: 74 20 70 61 74 68 6e 61 6d 65 20 6c 65 61 64 69 t pathname leadi
8f40: 6e 67 20 74 6f 20 74 68 65 20 70 72 69 76 61 74 ng to the privat
8f50: 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 e PROJ's SQLite
8f60: 64 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c database.<br>..<
8f70: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 b>NULL</b> will
8f80: 62 65 20 72 65 74 75 72 6e 65 64 20 69 66 20 74 be returned if t
8f90: 68 65 72 65 20 69 73 20 6e 6f 20 70 72 69 76 61 here is no priva
8fa0: 74 65 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 te PROJ's SQLite
8fb0: 20 64 61 74 61 62 61 73 65 20 63 75 72 72 65 6e database curren
8fc0: 74 6c 79 20 63 6f 6e 6e 65 63 74 65 64 2e 3c 2f tly connected.</
8fd0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
8fe0: 64 3e 3c 62 3e 50 52 4f 4a 5f 53 65 74 44 61 74 d><b>PROJ_SetDat
8ff0: 61 62 61 73 65 50 61 74 68 3c 2f 62 3e 20 28 20 abasePath</b> (
9000: 6e 65 77 5f 70 61 74 68 20 3c 69 3e 53 74 72 69 new_path <i>Stri
9010: 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 53 74 ng</i> ) : <i>St
9020: 72 69 6e 67 3c 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c ring</i></td>..<
9030: 74 64 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c td>..<ul>..<li><
9040: 62 3e 6e 65 77 5f 70 61 74 68 3c 2f 62 3e 3a 20 b>new_path</b>:
9050: 61 20 72 65 6c 61 74 69 76 65 20 6f 72 20 61 62 a relative or ab
9060: 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65 20 solute pathname
9070: 6c 65 61 64 69 6e 67 20 74 6f 20 61 20 76 61 6c leading to a val
9080: 69 64 20 50 52 4f 4a 27 73 20 53 51 4c 69 74 65 id PROJ's SQLite
9090: 20 64 61 74 61 62 61 73 65 2e 3c 2f 6c 69 3e 0d database.</li>.
90a0: 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 .</ul></td>..<td
90b0: 3e 57 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 >Will change the
90c0: 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 70 currently set p
90d0: 61 74 68 6e 61 6d 65 20 6c 65 61 64 69 6e 67 20 athname leading
90e0: 74 6f 20 74 68 65 20 70 72 69 76 61 74 65 20 50 to the private P
90f0: 52 4f 4a 27 73 20 53 51 4c 69 74 65 20 64 61 74 ROJ's SQLite dat
9100: 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e abase.<br>..<b>N
9110: 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 ULL</b> will be
9120: 72 65 74 75 72 6e 65 64 20 69 66 20 74 68 65 20 returned if the
9130: 70 61 73 73 65 64 20 70 61 74 68 20 69 73 20 69 passed path is i
9140: 6e 76 61 6c 69 64 2c 20 6f 74 68 65 72 77 69 73 nvalid, otherwis
9150: 65 20 74 68 65 20 70 61 74 68 20 6f 66 20 74 68 e the path of th
9160: 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 20 e currently set
9170: 70 72 69 76 61 74 65 20 50 52 4f 4a 27 73 20 53 private PROJ's S
9180: 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 77 QLite database w
9190: 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e ill be returned.
91a0: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </td></tr>..<tr>
91b0: 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 41 73 50 72 <td><b>PROJ_AsPr
91c0: 6f 6a 53 74 72 69 6e 67 3c 2f 62 3e 20 28 20 61 ojString</b> ( a
91d0: 75 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 uth_name <i>Stri
91e0: 6e 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 ng</i> , auth_sr
91f0: 69 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 id <i>Integer</i
9200: 3e 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c > ) : <i>String<
9210: 2f 69 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 75 /i></td>..<td><u
9220: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 61 75 74 68 5f l>..<li><b>auth_
9230: 6e 61 6d 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e name</b> and <b>
9240: 61 75 74 68 5f 73 72 69 64 3c 2f 62 3e 20 69 64 auth_srid</b> id
9250: 65 6e 74 69 66 79 20 74 68 65 20 69 6e 74 65 6e entify the inten
9260: 64 65 64 20 43 52 53 2e 3c 62 72 3e 0d 0a 3c 62 ded CRS.<br>..<b
9270: 3e 61 75 74 68 5f 6e 61 6d 65 3c 2f 62 3e 20 63 >auth_name</b> c
9280: 61 6e 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 an be <b>NULL</b
9290: 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 >, and in this c
92a0: 61 73 65 20 3c 62 3e 45 50 53 47 3c 2f 62 3e 20 ase <b>EPSG</b>
92b0: 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65 64 2e will be assumed.
92c0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 </li>..</ul></td
92d0: 3e 0d 0a 3c 74 64 3e 57 69 6c 6c 20 72 65 74 75 >..<td>Will retu
92e0: 72 6e 20 74 68 65 20 57 4b 54 20 65 78 70 72 65 rn the WKT expre
92f0: 73 73 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 ssion correspond
9300: 69 6e 67 20 74 6f 20 61 20 67 69 76 65 6e 20 43 ing to a given C
9310: 52 53 3b 20 74 68 65 20 64 65 66 69 6e 69 74 69 RS; the definiti
9320: 6f 6e 73 20 77 69 6c 6c 20 62 65 20 74 61 6b 65 ons will be take
9330: 6e 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 n directly from
9340: 74 68 65 20 70 72 69 76 61 74 65 20 50 52 4f 4a the private PROJ
9350: 27 73 20 6f 77 6e 20 64 61 74 61 62 61 73 65 2e 's own database.
9360: 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 4c 4c 3c 2f 62 <br>..<b>NULL</b
9370: 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e > will be return
9380: 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 20 6f 72 ed on failure or
9390: 20 6f 6e 20 69 6e 76 61 6c 69 64 20 61 72 67 75 on invalid argu
93a0: 6d 65 6e 74 73 2e 3c 2f 74 64 3e 3c 2f 74 72 3e ments.</td></tr>
93b0: 0d 0a 3c 74 72 3e 3c 74 64 3e 3c 62 3e 50 52 4f ..<tr><td><b>PRO
93c0: 4a 5f 41 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 J_AsWKT</b> ( au
93d0: 74 68 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e th_name <i>Strin
93e0: 67 3c 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 g</i> , auth_sri
93f0: 64 20 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e d <i>Integer</i>
9400: 20 29 20 3a 20 3c 69 3e 53 74 72 69 6e 67 3c 2f ) : <i>String</
9410: 69 3e 3c 68 72 3e 0d 0a 3c 62 3e 50 52 4f 4a 5f i><hr>..<b>PROJ_
9420: 41 73 57 4b 54 3c 2f 62 3e 20 28 20 61 75 74 68 AsWKT</b> ( auth
9430: 5f 6e 61 6d 65 20 3c 69 3e 53 74 72 69 6e 67 3c _name <i>String<
9440: 2f 69 3e 20 2c 20 61 75 74 68 5f 73 72 69 64 20 /i> , auth_srid
9450: 3c 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 20 2c <i>Integer</i> ,
9460: 20 77 6b 74 5f 73 74 79 6c 65 20 3c 69 3e 53 74 wkt_style <i>St
9470: 72 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e ring</i> ) : <i>
9480: 53 74 72 69 6e 67 3c 2f 69 3e 3c 68 72 3e 0d 0a String</i><hr>..
9490: 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c 2f 62 <b>PROJ_AsWKT</b
94a0: 3e 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 3c 69 > ( auth_name <i
94b0: 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 61 75 >String</i> , au
94c0: 74 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 65 67 th_srid <i>Integ
94d0: 65 72 3c 2f 69 3e 20 2c 20 77 6b 74 5f 73 74 79 er</i> , wkt_sty
94e0: 6c 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e le <i>String</i>
94f0: 20 2c 20 69 6e 64 65 6e 74 65 64 20 3c 69 3e 42 , indented <i>B
9500: 6f 6f 6c 65 61 6e 3c 2f 69 3e 20 29 20 3a 20 3c oolean</i> ) : <
9510: 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 68 72 3e i>String</i><hr>
9520: 0d 0a 3c 62 3e 50 52 4f 4a 5f 41 73 57 4b 54 3c ..<b>PROJ_AsWKT<
9530: 2f 62 3e 20 28 20 61 75 74 68 5f 6e 61 6d 65 20 /b> ( auth_name
9540: 3c 69 3e 53 74 72 69 6e 67 3c 2f 69 3e 20 2c 20 <i>String</i> ,
9550: 61 75 74 68 5f 73 72 69 64 20 3c 69 3e 49 6e 74 auth_srid <i>Int
9560: 65 67 65 72 3c 2f 69 3e 20 2c 20 77 6b 74 5f 73 eger</i> , wkt_s
9570: 74 79 6c 65 20 3c 69 3e 53 74 72 69 6e 67 3c 2f tyle <i>String</
9580: 69 3e 20 2c 20 69 6e 64 65 6e 74 65 64 20 3c 69 i> , indented <i
9590: 3e 42 6f 6f 6c 65 61 6e 3c 2f 69 3e 20 2c 20 69 >Boolean</i> , i
95a0: 6e 64 65 6e 74 61 74 69 6f 6e 20 3c 69 3e 49 6e ndentation <i>In
95b0: 74 65 67 65 72 3c 2f 69 3e 20 29 20 3a 20 3c 69 teger</i> ) : <i
95c0: 3e 53 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74 64 3e >String</i></td>
95d0: 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a 3c 6c 69 3e ..<td><ul>..<li>
95e0: 3c 62 3e 61 75 74 68 5f 6e 61 6d 65 3c 2f 62 3e <b>auth_name</b>
95f0: 20 61 6e 64 20 3c 62 3e 61 75 74 68 5f 73 72 69 and <b>auth_sri
9600: 64 3c 2f 62 3e 20 69 64 65 6e 74 69 66 79 20 74 d</b> identify t
9610: 68 65 20 69 6e 74 65 6e 64 65 64 20 43 52 53 2e he intended CRS.
9620: 3c 62 72 3e 0d 0a 3c 62 3e 61 75 74 68 5f 6e 61 <br>..<b>auth_na
9630: 6d 65 3c 2f 62 3e 20 63 61 6e 20 62 65 20 3c 62 me</b> can be <b
9640: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69 >NULL</b>, and i
9650: 6e 20 74 68 69 73 20 63 61 73 65 20 3c 62 3e 45 n this case <b>E
9660: 50 53 47 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 PSG</b> will be
9670: 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c assumed.</li>..<
9680: 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 li>the optional
9690: 61 72 67 75 6d 65 6e 74 20 3c 62 3e 73 74 79 6c argument <b>styl
96a0: 65 3c 2f 62 3e 20 64 65 74 65 72 6d 69 6e 65 73 e</b> determines
96b0: 20 77 68 69 63 68 20 73 70 65 63 69 66 69 63 20 which specific
96c0: 57 4b 54 20 66 6f 72 6d 61 74 20 73 68 6f 75 6c WKT format shoul
96d0: 64 20 62 65 20 61 64 6f 70 74 65 64 2c 20 61 6e d be adopted, an
96e0: 64 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 62 65 d must be one be
96f0: 74 77 65 65 6e 20 3c 62 3e 47 44 41 4c 3c 2f 62 tween <b>GDAL</b
9700: 3e 2c 20 3c 62 3e 45 53 52 49 3c 2f 62 3e 2c 20 >, <b>ESRI</b>,
9710: 3c 62 3e 49 53 4f 2d 32 30 31 35 3c 2f 62 3e 20 <b>ISO-2015</b>
9720: 6f 72 20 3c 62 3e 49 53 4f 2d 32 30 31 38 3c 2f or <b>ISO-2018</
9730: 62 3e 20 28 74 68 69 73 20 6c 61 74 74 65 72 20 b> (this latter
9740: 62 65 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c being the defaul
9750: 74 20 73 65 74 74 69 6e 67 29 2e 3c 2f 6c 69 3e t setting).</li>
9760: 0d 0a 3c 6c 69 3e 74 68 65 20 6f 70 74 69 6f 6e ..<li>the option
9770: 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 62 3e 69 al argument <b>i
9780: 6e 64 65 6e 74 65 64 3c 2f 62 3e 20 69 66 20 73 ndented</b> if s
9790: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 et to <b>TRUE</b
97a0: 3e 20 77 69 6c 6c 20 6e 69 63 65 6c 79 20 66 6f > will nicely fo
97b0: 72 6d 61 74 20 61 20 6d 75 6c 74 69 6c 69 6e 65 rmat a multiline
97c0: 20 57 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 2c WKT expression,
97d0: 20 6f 74 68 65 72 77 69 73 65 20 61 20 73 69 6e otherwise a sin
97e0: 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 6c gle monolithic l
97f0: 69 6e 65 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 ine lacking any
9800: 77 68 69 74 65 2d 73 70 61 63 65 20 6f 72 20 6e white-space or n
9810: 65 77 2d 6c 69 6e 65 20 77 69 6c 6c 20 62 65 20 ew-line will be
9820: 70 72 69 6e 74 65 64 20 28 74 68 65 20 64 65 66 printed (the def
9830: 61 75 6c 74 20 69 73 20 3c 62 3e 54 52 55 45 3c ault is <b>TRUE<
9840: 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /b>).</li>..<li>
9850: 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 the optional arg
9860: 75 6d 65 6e 74 20 3c 62 3e 69 6e 64 65 6e 74 61 ument <b>indenta
9870: 74 69 6f 6e 3c 2f 62 3e 20 64 65 74 65 72 6d 69 tion</b> determi
9880: 6e 65 73 20 68 6f 77 20 6d 61 6e 79 20 77 68 69 nes how many whi
9890: 74 65 2d 73 70 61 63 65 73 20 61 72 65 20 74 6f te-spaces are to
98a0: 20 62 65 20 75 73 65 64 20 66 6f 72 20 69 6e 64 be used for ind
98b0: 65 6e 74 69 6e 67 20 28 6f 6e 6c 79 20 6d 65 61 enting (only mea
98c0: 6e 69 6e 67 66 75 6c 20 69 66 20 3c 62 3e 3c 69 ningful if <b><i
98d0: 3e 69 6e 64 65 6e 74 65 64 3d 54 52 55 45 3c 2f >indented=TRUE</
98e0: 69 3e 3c 2f 62 3e 3b 20 74 68 65 20 64 65 66 61 i></b>; the defa
98f0: 75 6c 74 20 76 61 6c 75 65 73 20 69 73 20 3c 62 ult values is <b
9900: 3e 34 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c >4</b>).</li>..<
9910: 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 57 /ul></td>..<td>W
9920: 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 57 ill return the W
9930: 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 20 63 6f KT expression co
9940: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 rresponding to a
9950: 20 67 69 76 65 6e 20 43 52 53 3b 20 74 68 65 20 given CRS; the
9960: 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 69 6c 6c definitions will
9970: 20 62 65 20 74 61 6b 65 6e 20 64 69 72 65 63 74 be taken direct
9980: 6c 79 20 66 72 6f 6d 20 74 68 65 20 70 72 69 76 ly from the priv
9990: 61 74 65 20 50 52 4f 4a 27 73 20 6f 77 6e 20 64 ate PROJ's own d
99a0: 61 74 61 62 61 73 65 2e 3c 62 72 3e 0d 0a 3c 62 atabase.<br>..<b
99b0: 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 >NULL</b> will b
99c0: 65 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 e returned on fa
99d0: 69 6c 75 72 65 20 6f 72 20 6f 6e 20 69 6e 76 61 ilure or on inva
99e0: 6c 69 64 20 61 72 67 75 6d 65 6e 74 73 2e 3c 2f lid arguments.</
99f0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
9a00: 64 3e 3c 62 3e 50 52 4f 4a 5f 47 75 65 73 73 53 d><b>PROJ_GuessS
9a10: 72 69 64 46 72 6f 6d 57 4b 54 3c 2f 62 3e 20 28 ridFromWKT</b> (
9a20: 20 77 6b 74 5f 65 78 70 72 20 3c 69 3e 53 74 72 wkt_expr <i>Str
9a30: 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c 69 3e 49 ing</i> ) : <i>I
9a40: 6e 74 65 67 65 72 3c 2f 69 3e 3c 2f 74 64 3e 0d nteger</i></td>.
9a50: 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c .<td><ul>..<li><
9a60: 62 3e 77 6b 74 5f 65 78 70 72 3c 2f 62 3e 3a 20 b>wkt_expr</b>:
9a70: 74 68 65 20 57 4b 54 20 65 78 70 72 65 73 73 69 the WKT expressi
9a80: 6f 6e 20 74 6f 20 62 65 20 65 76 61 6c 75 61 74 on to be evaluat
9a90: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c ed.</li>..</ul><
9aa0: 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 57 69 6c 6c /td>..<td>..Will
9ab0: 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75 72 6e possibly return
9ac0: 20 74 68 65 20 3c 62 3e 53 52 49 44 20 76 61 6c the <b>SRID val
9ad0: 75 65 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e ue</b> correspon
9ae0: 64 69 6e 67 20 74 6f 20 61 20 67 69 76 65 6e 20 ding to a given
9af0: 57 4b 54 20 65 78 70 72 65 73 73 69 6f 6e 20 64 WKT expression d
9b00: 65 66 69 6e 69 6e 67 20 61 20 43 52 53 2e 3c 62 efining a CRS.<b
9b10: 72 3e 0d 0a 3c 62 3e 2d 31 3c 2f 62 3e 20 77 69 r>..<b>-1</b> wi
9b20: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 ll be returned i
9b30: 66 20 6e 6f 20 43 52 53 20 73 75 70 70 6f 72 74 f no CRS support
9b40: 65 64 20 62 79 20 50 52 4f 4a 2e 36 20 6d 61 74 ed by PROJ.6 mat
9b50: 63 68 65 73 20 74 68 65 20 57 4b 54 20 65 78 70 ches the WKT exp
9b60: 72 65 73 73 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 62 ression.<br>..<b
9b70: 3e 4e 55 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 >NULL</b> will b
9b80: 65 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 69 6e e returned on in
9b90: 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 2e 0d valid argument..
9ba0: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 .</td></tr>..<tr
9bb0: 3e 3c 74 64 3e 3c 62 3e 50 52 4f 4a 5f 47 75 65 ><td><b>PROJ_Gue
9bc0: 73 73 53 72 69 64 46 72 6f 6d 53 48 50 3c 2f 62 ssSridFromSHP</b
9bd0: 3e 20 28 20 66 69 6c 65 6e 61 6d 65 20 3c 69 3e > ( filename <i>
9be0: 53 74 72 69 6e 67 3c 2f 69 3e 20 29 20 3a 20 3c String</i> ) : <
9bf0: 69 3e 49 6e 74 65 67 65 72 3c 2f 69 3e 3c 2f 74 i>Integer</i></t
9c00: 64 3e 0d 0a 3c 74 64 3e 3c 75 6c 3e 0d 0a 3c 6c d>..<td><ul>..<l
9c10: 69 3e 3c 62 3e 66 69 6c 65 6e 61 6d 65 3c 2f 62 i><b>filename</b
9c20: 3e 3a 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 >: the absolute
9c30: 6f 72 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 or relative path
9c40: 20 6c 65 61 64 69 6e 67 20 74 6f 20 73 6f 6d 65 leading to some
9c50: 20 53 68 61 70 65 66 69 6c 65 2e 3c 62 72 3e 0d Shapefile.<br>.
9c60: 0a 4e 6f 74 65 3a 20 65 78 61 63 74 6c 79 20 61 .Note: exactly a
9c70: 73 20 72 65 71 75 69 72 65 64 20 62 79 20 3c 62 s required by <b
9c80: 3e 3c 69 3e 49 6d 70 6f 72 74 53 48 50 3c 2f 69 ><i>ImportSHP</i
9c90: 3e 3c 2f 62 3e 28 29 20 3c 62 3e 3c 69 3e 66 69 ></b>() <b><i>fi
9ca0: 6c 65 6e 61 6d 65 3c 2f 69 3e 3c 2f 62 3e 20 6d lename</i></b> m
9cb0: 75 73 74 20 6f 6d 69 74 20 61 6e 79 20 3c 62 3e ust omit any <b>
9cc0: 2e 73 68 70 3c 2f 62 3e 2c 20 3c 62 3e 2e 73 68 .shp</b>, <b>.sh
9cd0: 78 3c 2f 62 3e 2c 20 3c 62 3e 2e 64 62 66 3c 2f x</b>, <b>.dbf</
9ce0: 62 3e 20 6f 72 20 3c 62 3e 2e 70 72 6a 3c 2f 62 b> or <b>.prj</b
9cf0: 3e 20 73 75 66 66 69 78 2e 3c 2f 6c 69 3e 0d 0a > suffix.</li>..
9d00: 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e </ul></td>..<td>
9d10: 0d 0a 57 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 ..Will possibly
9d20: 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 53 52 return the <b>SR
9d30: 49 44 20 76 61 6c 75 65 3c 2f 62 3e 20 63 6f 72 ID value</b> cor
9d40: 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 responding to th
9d50: 65 20 43 52 53 20 64 65 66 69 6e 65 64 20 62 79 e CRS defined by
9d60: 20 74 68 65 20 2e 50 52 4a 20 6d 65 6d 62 65 72 the .PRJ member
9d70: 20 6f 66 20 74 68 65 20 53 68 61 70 65 66 69 6c of the Shapefil
9d80: 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 2d 31 3c 2f 62 e.<br>..<b>-1</b
9d90: 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e > will be return
9da0: 65 64 20 69 66 20 6e 6f 20 43 52 53 20 73 75 70 ed if no CRS sup
9db0: 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a 2e 36 ported by PROJ.6
9dc0: 20 6d 61 74 63 68 65 73 20 50 52 4a 20 6d 65 6d matches PRJ mem
9dd0: 62 65 72 20 6f 66 20 74 68 65 20 53 68 61 70 65 ber of the Shape
9de0: 66 69 6c 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 4e 55 file.<br>..<b>NU
9df0: 4c 4c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 72 LL</b> will be r
9e00: 65 74 75 72 6e 65 64 20 6f 6e 20 69 6e 76 61 6c eturned on inval
9e10: 69 64 20 61 72 67 75 6d 65 6e 74 2e 3c 68 72 3e id argument.<hr>
9e20: 0d 0a 3c 75 3e 50 6c 65 61 73 65 20 6e 6f 74 65 ..<u>Please note
9e30: 20 77 65 6c 6c 3c 2f 75 3e 3a 20 74 68 69 73 20 well</u>: this
9e40: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 SQL function ope
9e50: 6e 73 20 74 68 65 20 64 6f 6f 72 20 74 6f 20 6d ns the door to m
9e60: 61 6e 79 20 70 6f 74 65 6e 74 69 61 6c 20 73 65 any potential se
9e70: 63 75 72 69 74 79 20 69 73 73 75 65 73 2c 20 61 curity issues, a
9e80: 6e 64 20 74 68 75 73 20 69 73 20 61 6c 77 61 79 nd thus is alway
9e90: 73 20 3c 69 3e 64 69 73 61 62 6c 65 64 20 62 79 s <i>disabled by
9ea0: 20 64 65 66 61 75 6c 74 3c 2f 69 3e 2e 3c 62 72 default</i>.<br
9eb0: 3e 0d 0a 45 78 70 6c 69 63 69 74 6c 79 20 73 65 >..Explicitly se
9ec0: 74 74 69 6e 67 20 74 68 65 20 65 6e 76 69 72 6f tting the enviro
9ed0: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 3c nment variable <
9ee0: 62 3e 53 50 41 54 49 41 4c 49 54 45 5f 53 45 43 b>SPATIALITE_SEC
9ef0: 55 52 49 54 59 3d 72 65 6c 61 78 65 64 3c 2f 62 URITY=relaxed</b
9f00: 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 > is absolutely
9f10: 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65 required in orde
9f20: 72 20 74 6f 20 65 6e 61 62 6c 65 20 74 68 69 73 r to enable this
9f30: 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 2f 74 64 function...</td
9f40: 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e ></tr>..</table>
9f50: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c <br>..<table cel
9f60: 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 63 65 6c lspacing="8" cel
9f70: 6c 70 61 64 64 69 6e 67 3d 22 31 36 22 20 62 67 lpadding="16" bg
9f80: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 65 39 22 3e color="#ffffe9">
9f90: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 3c ..<tr><td>..<b><
9fa0: 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 u>Note</u></b>:
9fb0: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 53 51 all the above SQ
9fc0: 4c 20 46 75 6e 63 74 69 6f 6e 73 20 77 69 6c 6c L Functions will
9fd0: 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e be available on
9fe0: 6c 79 20 77 68 65 6e 20 53 70 61 74 69 61 6c 69 ly when Spatiali
9ff0: 74 65 2d 35 2e 30 2e 30 20 68 61 73 20 62 65 65 te-5.0.0 has bee
a000: 6e 20 62 75 69 6c 74 20 61 67 61 69 6e 73 74 20 n built against
a010: 3c 62 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 28 6f <b>PROJ.6</b> (o
a020: 72 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 r any subsequent
a030: 20 76 65 72 73 69 6f 6e 29 2e 3c 62 72 3e 0d 0a version).<br>..
a040: 49 66 20 53 70 61 74 69 61 4c 69 74 65 2d 35 2e If SpatiaLite-5.
a050: 30 2e 30 20 68 61 73 20 62 65 65 6e 20 62 75 69 0.0 has been bui
a060: 6c 74 20 69 6e 73 74 65 61 64 20 61 67 61 69 6e lt instead again
a070: 73 74 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 st any previous
a080: 76 65 72 73 69 6f 6e 20 28 61 73 20 65 2e 67 2e version (as e.g.
a090: 20 3c 62 3e 50 52 4f 4a 2e 34 3c 2f 62 3e 29 20 <b>PROJ.4</b>)
a0a0: 61 6e 79 20 61 74 74 65 6d 70 74 20 74 6f 20 63 any attempt to c
a0b0: 61 6c 6c 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 all one of these
a0c0: 20 53 51 4c 20 46 75 6e 63 74 69 6f 6e 73 20 77 SQL Functions w
a0d0: 69 6c 6c 20 73 69 6d 70 6c 79 20 72 65 74 75 72 ill simply retur
a0e0: 6e 20 61 20 3c 62 3e 3c 69 3e 3c 75 3e 6e 6f 20 n a <b><i><u>no
a0f0: 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 3c 2f 75 such function</u
a100: 3e 3c 2f 69 3e 3c 2f 62 3e 20 53 51 4c 20 65 72 ></i></b> SQL er
a110: 72 6f 72 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e ror...</td></tr>
a120: 0d 0a 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 0d 0a ..</table><br>..
a130: 3c 62 3e 50 72 61 63 74 69 63 61 6c 20 65 78 61 <b>Practical exa
a140: 6d 70 6c 65 73 3a 3c 2f 62 3e 0d 0a 3c 76 65 72 mples:</b>..<ver
a150: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 50 batim>..SELECT P
a160: 52 4f 4a 5f 47 65 74 44 61 74 61 62 61 73 65 50 ROJ_GetDatabaseP
a170: 61 74 68 28 29 3b 20 20 2d 2d 20 72 65 74 72 69 ath(); -- retri
a180: 65 76 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e eving the curren
a190: 74 6c 79 20 73 65 74 20 50 52 4f 4a 27 73 20 6f tly set PROJ's o
a1a0: 77 6e 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d wn 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 0d 0a 2f 75 73 -----------../us
a1d0: 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 70 72 r/local/share/pr
a1e0: 6f 6a 2f 70 72 6f 6a 2e 64 62 0d 0a 0d 0a 0d 0a oj/proj.db......
a1f0: 53 45 4c 45 43 54 20 50 52 4f 4a 5f 53 65 74 44 SELECT PROJ_SetD
a200: 61 74 61 62 61 73 65 50 61 74 68 28 27 2f 68 6f atabasePath('/ho
a210: 6d 65 2f 73 61 6e 64 72 6f 2f 6e 6f 74 5f 65 78 me/sandro/not_ex
a220: 69 73 74 69 6e 67 5f 70 72 6f 6a 2e 64 62 27 29 isting_proj.db')
a230: 3b 20 2d 2d 20 6e 6f 6e 20 65 78 69 73 74 69 6e ; -- non existin
a240: 67 20 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d g 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 0d 0a 4e 55 4c 4c ----------..NULL
a270: 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f ......SELECT PRO
a280: 4a 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 4d 73 J_GetLastErrorMs
a290: 67 28 29 3b 20 2d 2d 20 72 65 74 72 69 65 76 69 g(); -- retrievi
a2a0: 6e 67 20 74 68 65 20 66 61 69 6c 75 72 65 20 63 ng the failure c
a2b0: 61 75 73 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ause..----------
a2c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
a2d0: 2d 2d 2d 2d 0d 0a 70 72 6f 6a 5f 63 6f 6e 74 65 ----..proj_conte
a2e0: 78 74 5f 73 65 74 5f 64 61 74 61 62 61 73 65 5f xt_set_database_
a2f0: 70 61 74 68 3a 20 4f 70 65 6e 20 6f 66 20 2f 68 path: Open of /h
a300: 6f 6d 65 2f 73 61 6e 64 72 6f 2f 6e 6f 74 5f 65 ome/sandro/not_e
a310: 78 69 73 74 69 6e 67 5f 70 72 6f 6a 2e 64 62 20 xisting_proj.db
a320: 66 61 69 6c 65 64 0d 0a 0d 0a 0d 0a 53 45 4c 45 failed......SELE
a330: 43 54 20 50 52 4f 4a 5f 53 65 74 44 61 74 61 62 CT PROJ_SetDatab
a340: 61 73 65 50 61 74 68 28 27 2f 68 6f 6d 65 2f 73 asePath('/home/s
a350: 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72 6f 6a andro/valid_proj
a360: 2e 64 62 27 29 3b 20 2d 2d 20 76 61 6c 69 64 20 .db'); -- valid
a370: 64 61 74 61 62 61 73 65 0d 0a 2d 2d 2d 2d 2d 2d 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 0d 0a 2f 68 6f 6d 65 2f --------../home/
a3a0: 73 61 6e 64 72 6f 2f 76 61 6c 69 64 5f 70 72 6f sandro/valid_pro
a3b0: 6a 2e 64 62 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 j.db......SELECT
a3c0: 20 50 52 4f 4a 5f 41 73 50 72 6f 6a 53 74 72 69 PROJ_AsProjStri
a3d0: 6e 67 28 27 45 50 53 47 27 2c 20 33 32 36 33 32 ng('EPSG', 32632
a3e0: 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d );..------------
a3f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
a400: 2d 2d 0d 0a 2b 70 72 6f 6a 3d 75 74 6d 20 2b 7a --..+proj=utm +z
a410: 6f 6e 65 3d 33 32 20 2b 64 61 74 75 6d 3d 57 47 one=32 +datum=WG
a420: 53 38 34 20 2b 75 6e 69 74 73 3d 6d 20 2b 6e 6f S84 +units=m +no
a430: 5f 64 65 66 73 20 2b 74 79 70 65 3d 63 72 73 0d _defs +type=crs.
a440: 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a .....SELECT PROJ
a450: 5f 41 73 57 4b 54 28 27 45 50 53 47 27 2c 20 34 _AsWKT('EPSG', 4
a460: 33 32 36 29 3b 20 2d 2d 20 64 65 66 61 75 6c 74 326); -- default
a470: 20 73 65 74 74 69 6e 67 73 3a 20 49 53 4f 2d 32 settings: ISO-2
a480: 30 31 38 20 73 74 79 6c 65 2c 20 69 6e 64 65 6e 018 style, inden
a490: 74 65 64 20 77 69 74 68 20 69 6e 64 65 6e 74 61 ted with indenta
a4a0: 74 69 6f 6e 20 34 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d tion 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 0d 0a 47 45 4f 44 43 52 53 5b ------..GEODCRS[
a4d0: 22 57 47 53 20 38 34 22 2c 0d 0a 20 20 20 20 44 "WGS 84",.. D
a4e0: 41 54 55 4d 5b 22 57 6f 72 6c 64 20 47 65 6f 64 ATUM["World Geod
a4f0: 65 74 69 63 20 53 79 73 74 65 6d 20 31 39 38 34 etic System 1984
a500: 22 2c 0d 0a 20 20 20 20 20 20 20 20 45 4c 4c 49 ",.. ELLI
a510: 50 53 4f 49 44 5b 22 57 47 53 20 38 34 22 2c 36 PSOID["WGS 84",6
a520: 33 37 38 31 33 37 2c 32 39 38 2e 32 35 37 32 32 378137,298.25722
a530: 33 35 36 33 2c 0d 0a 20 20 20 20 20 20 20 20 20 3563,..
a540: 20 20 20 4c 45 4e 47 54 48 55 4e 49 54 5b 22 6d LENGTHUNIT["m
a550: 65 74 72 65 22 2c 31 5d 5d 5d 2c 0d 0a 20 20 20 etre",1]]],..
a560: 20 50 52 49 4d 45 4d 5b 22 47 72 65 65 6e 77 69 PRIMEM["Greenwi
a570: 63 68 22 2c 30 2c 0d 0a 20 20 20 20 20 20 20 20 ch",0,..
a580: 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 ANGLEUNIT["degre
a590: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 e",0.01745329251
a5a0: 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20 43 53 99433]],.. CS
a5b0: 5b 65 6c 6c 69 70 73 6f 69 64 61 6c 2c 32 5d 2c [ellipsoidal,2],
a5c0: 0d 0a 20 20 20 20 20 20 20 20 41 58 49 53 5b 22 .. AXIS["
a5d0: 67 65 6f 64 65 74 69 63 20 6c 61 74 69 74 75 64 geodetic latitud
a5e0: 65 20 28 4c 61 74 29 22 2c 6e 6f 72 74 68 2c 0d e (Lat)",north,.
a5f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 52 44 . ORD
a600: 45 52 5b 31 5d 2c 0d 0a 20 20 20 20 20 20 20 20 ER[1],..
a610: 20 20 20 20 41 4e 47 4c 45 55 4e 49 54 5b 22 64 ANGLEUNIT["d
a620: 65 67 72 65 65 22 2c 30 2e 30 31 37 34 35 33 32 egree",0.0174532
a630: 39 32 35 31 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 925199433]],..
a640: 20 20 20 20 20 20 41 58 49 53 5b 22 67 65 6f 64 AXIS["geod
a650: 65 74 69 63 20 6c 6f 6e 67 69 74 75 64 65 20 28 etic longitude (
a660: 4c 6f 6e 29 22 2c 65 61 73 74 2c 0d 0a 20 20 20 Lon)",east,..
a670: 20 20 20 20 20 20 20 20 20 4f 52 44 45 52 5b 32 ORDER[2
a680: 5d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ],..
a690: 41 4e 47 4c 45 55 4e 49 54 5b 22 64 65 67 72 65 ANGLEUNIT["degre
a6a0: 65 22 2c 30 2e 30 31 37 34 35 33 32 39 32 35 31 e",0.01745329251
a6b0: 39 39 34 33 33 5d 5d 2c 0d 0a 20 20 20 20 41 52 99433]],.. AR
a6c0: 45 41 5b 22 57 6f 72 6c 64 22 5d 2c 0d 0a 20 20 EA["World"],..
a6d0: 20 20 42 42 4f 58 5b 2d 39 30 2c 2d 31 38 30 2c BBOX[-90,-180,
a6e0: 39 30 2c 31 38 30 5d 2c 0d 0a 20 20 20 20 49 44 90,180],.. ID
a6f0: 5b 22 45 50 53 47 22 2c 34 33 32 36 5d 5d 0d 0a ["EPSG",4326]]..
a700: 0d 0a 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f ....SELECT PROJ_
a710: 41 73 57 4b 54 28 27 45 50 53 47 27 2c 20 34 33 AsWKT('EPSG', 43
a720: 32 36 2c 20 27 45 53 52 49 27 2c 20 30 2c 20 30 26, 'ESRI', 0, 0
a730: 29 3b 20 2d 2d 20 45 53 52 49 20 73 74 79 6c 65 ); -- ESRI style
a740: 2c 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 6c 69 6e , monolithic lin
a750: 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e..-------------
a760: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
a770: 2d 0d 0a 47 45 4f 47 43 53 5b 22 47 43 53 5f 57 -..GEOGCS["GCS_W
a780: 47 53 5f 31 39 38 34 22 2c 44 41 54 55 4d 5b 22 GS_1984",DATUM["
a790: 44 5f 57 47 53 5f 31 39 38 34 22 2c 53 50 48 45 D_WGS_1984",SPHE
a7a0: 52 4f 49 44 5b 22 57 47 53 5f 31 39 38 34 22 2c ROID["WGS_1984",
a7b0: 36 33 37 38 31 33 37 2e 30 2c 32 39 38 2e 32 35 6378137.0,298.25
a7c0: 37 32 32 33 35 36 33 5d 5d 2c 50 52 49 4d 45 4d 7223563]],PRIMEM
a7d0: 5b 22 47 72 65 65 6e 77 69 63 68 22 2c 30 2e 30 ["Greenwich",0.0
a7e0: 5d 2c 55 4e 49 54 5b 22 44 65 67 72 65 65 22 2c ],UNIT["Degree",
a7f0: 30 2e 30 31 37 34 35 33 32 39 32 35 31 39 39 34 0.01745329251994
a800: 33 33 5d 5d 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 33]]......SELECT
a810: 20 50 52 4f 4a 5f 47 75 65 73 73 53 72 69 64 46 PROJ_GuessSridF
a820: 72 6f 6d 57 4b 54 28 27 47 45 4f 47 43 53 5b 22 romWKT('GEOGCS["
a830: 47 43 53 5f 4d 6f 6e 74 65 5f 4d 61 72 69 6f 5f GCS_Monte_Mario_
a840: 52 6f 6d 65 22 2c 44 41 54 55 4d 5b 22 44 5f 4d Rome",DATUM["D_M
a850: 6f 6e 74 65 5f 4d 61 72 69 6f 22 2c 53 50 48 45 onte_Mario",SPHE
a860: 52 4f 49 44 5b 22 49 6e 74 65 72 6e 61 74 69 6f ROID["Internatio
a870: 6e 61 6c 5f 31 39 32 34 22 2c 36 33 37 38 33 38 nal_1924",637838
a880: 38 2e 30 2c 32 39 37 2e 30 5d 5d 2c 50 52 49 4d 8.0,297.0]],PRIM
a890: 45 4d 5b 22 52 6f 6d 65 22 2c 31 32 2e 34 35 32 EM["Rome",12.452
a8a0: 33 33 33 33 33 33 33 33 33 33 5d 2c 55 4e 49 54 3333333333],UNIT
a8b0: 5b 22 44 65 67 72 65 65 22 2c 30 2e 30 31 37 34 ["Degree",0.0174
a8c0: 35 33 32 39 32 35 31 39 39 34 33 33 5d 5d 27 29 532925199433]]')
a8d0: 3b 20 0d 0a 2d 2d 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 0d 0a 34 38 30 36 0d 0a 0d 0a 0d 0a 53 45 --..4806......SE
a900: 4c 45 43 54 20 50 52 4f 4a 5f 47 75 65 73 73 53 LECT PROJ_GuessS
a910: 72 69 64 46 72 6f 6d 53 48 50 28 27 2f 68 6f 6d ridFromSHP('/hom
a920: 65 2f 73 61 6e 64 72 6f 2f 74 75 73 63 61 6e 79 e/sandro/tuscany
a930: 5f 73 68 70 2f 70 72 6f 76 32 30 31 31 27 29 3b _shp/prov2011');
a940: 20 2d 2d 20 72 65 6d 65 6d 62 65 72 3a 20 72 65 -- remember: re
a950: 71 75 69 72 65 73 20 74 6f 20 65 78 70 6c 69 63 quires to explic
a960: 69 74 6c 79 20 73 65 74 20 53 50 41 54 49 41 4c itly set SPATIAL
a970: 49 54 45 5f 53 45 43 55 52 49 54 59 3d 72 65 6c ITE_SECURITY=rel
a980: 61 78 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d axed..----------
a990: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
a9a0: 2d 2d 2d 2d 0d 0a 33 30 30 33 0d 0a 3c 2f 76 65 ----..3003..</ve
a9b0: 72 62 61 74 69 6d 3e 0d 0a 3c 62 72 3e 0d 0a 3c rbatim>..<br>..<
a9c0: 68 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 hr><br>..<table
a9d0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 38 22 20 cellspacing="8"
a9e0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 38 22 20 cellpadding="8"
a9f0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 65 30 65 39 bgcolor="#ffe0e9
aa00: 22 20 77 69 64 74 68 3d 22 31 30 30 25 22 3e 0d " width="100%">.
aa10: 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 31 3e 49 .<tr><th>..<h1>I
aa20: 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 69 63 65 20 mportant notice
aa30: 66 6f 72 20 57 69 6e 64 6f 77 73 20 75 73 65 72 for Windows user
aa40: 73 3c 2f 68 31 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 s</h1>..</th></t
aa50: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 r>..<tr><td>..<b
aa60: 3e 50 52 4f 4a 2e 36 3c 2f 62 3e 20 63 72 69 74 >PROJ.6</b> crit
aa70: 69 63 61 6c 6c 79 20 64 65 70 65 6e 64 73 20 6f ically depends o
aa80: 6e 20 69 74 73 20 6f 77 6e 20 70 72 69 76 61 74 n its own privat
aa90: 65 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 e SQLite databas
aaa0: 65 20 28 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f 62 e (<b>proj.db</b
aab0: 3e 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c >) containing al
aac0: 6c 20 72 65 6c 65 76 61 6e 74 20 64 65 66 69 6e l relevant defin
aad0: 69 74 69 6f 6e 73 20 61 62 6f 75 74 20 45 6c 6c itions about Ell
aae0: 69 70 73 6f 69 64 73 2c 20 50 72 69 6d 65 20 4d ipsoids, Prime M
aaf0: 65 72 69 64 69 61 6e 73 2c 20 43 52 53 65 73 2c eridians, CRSes,
ab00: 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 Transformations
ab10: 20 61 6e 64 20 61 6c 69 6b 65 2e 3c 62 72 3e 0d and alike.<br>.
ab20: 0a 49 66 20 50 52 4f 4a 2e 36 20 69 73 20 75 6e .If PROJ.6 is un
ab30: 61 62 6c 65 20 74 6f 20 63 6f 72 72 65 63 74 6c able to correctl
ab40: 79 20 65 73 74 61 62 6c 69 73 68 20 61 20 63 6f y establish a co
ab50: 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 74 68 69 73 nnection to this
ab60: 20 64 61 74 61 62 61 73 65 20 69 74 20 77 69 6c database it wil
ab70: 6c 20 62 65 20 73 65 76 65 72 65 6c 79 20 6c 69 l be severely li
ab80: 6d 69 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 6e mited and will n
ab90: 6f 74 20 62 65 20 61 62 6c 65 20 74 6f 20 63 6f ot be able to co
aba0: 72 72 65 63 74 6c 79 20 62 65 68 61 76 65 20 61 rrectly behave a
abb0: 73 20 65 78 70 65 63 74 65 64 2e 3c 62 72 3e 3c s expected.<br><
abc0: 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c br>..<ul>..<li><
abd0: 62 3e 3c 75 3e 3c 69 3e 53 68 6f 72 74 20 63 6f b><u><i>Short co
abe0: 6e 63 6c 75 73 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e nclusion</i></u>
abf0: 3c 2f 62 3e 3a 20 69 6e 73 74 61 6c 6c 69 6e 67 </b>: installing
ac00: 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 61 6c the software al
ac10: 6f 6e 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 one is not enoug
ac20: 68 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 52 4f 4a h.<br>..The PROJ
ac30: 2e 36 20 70 72 69 76 61 74 65 20 64 61 74 61 62 .6 private datab
ac40: 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f ase <b>proj.db</
ac50: 62 3e 20 6d 75 73 74 20 62 65 20 70 72 6f 70 65 b> must be prope
ac60: 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 rly installed as
ac70: 20 77 65 6c 6c 2c 20 69 6e 20 6f 72 64 65 72 20 well, in order
ac80: 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 to ensure that a
ac90: 6e 79 74 68 69 6e 67 20 72 75 6e 73 20 73 6d 6f nything runs smo
aca0: 6f 74 68 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 othly.</li>..</u
acb0: 6c 3e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e l><br>..This isn
acc0: 27 74 20 75 73 75 61 6c 6c 79 20 61 20 62 69 67 't usually a big
acd0: 20 69 73 73 75 65 20 6f 6e 20 4c 69 6e 75 78 20 issue on Linux
ace0: 61 6e 64 20 55 6e 69 78 2d 6c 69 6b 65 20 70 6c and Unix-like pl
acf0: 61 74 66 6f 72 6d 73 2c 20 77 68 65 72 65 20 61 atforms, where a
ad00: 20 72 61 74 69 6f 6e 61 6c 20 61 6e 64 20 76 65 rational and ve
ad10: 72 79 20 63 6c 65 61 72 20 66 69 6c 65 73 79 73 ry clear filesys
ad20: 74 65 6d 20 6c 61 79 6f 75 74 20 65 78 69 73 74 tem layout exist
ad30: 73 2e 3c 62 72 3e 0d 0a 4f 6e 20 74 68 65 73 65 s.<br>..On these
ad40: 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 operating syste
ad50: 6d 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 6d ms the package m
ad60: 61 6e 61 67 65 72 20 28 6f 72 20 3c 62 3e 6d 61 anager (or <b>ma
ad70: 6b 65 20 69 6e 73 74 61 6c 6c 3c 2f 62 3e 29 20 ke install</b>)
ad80: 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c will automatical
ad90: 6c 79 20 74 61 6b 65 20 63 61 72 65 20 74 6f 20 ly take care to
ada0: 69 6e 73 74 61 6c 6c 20 3c 62 3e 70 72 6f 6a 2e install <b>proj.
adb0: 64 62 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 6d 6f db</b> on the mo
adc0: 73 74 20 61 70 70 72 6f 70 72 69 61 74 65 20 64 st appropriate d
add0: 69 72 65 63 74 6f 72 79 20 28 75 73 75 61 6c 6c irectory (usuall
ade0: 79 20 61 73 20 3c 62 3e 2f 75 73 72 2f 73 68 61 y as <b>/usr/sha
adf0: 72 65 2f 70 72 6f 6a 2f 70 72 6f 6a 2e 64 62 3c re/proj/proj.db<
ae00: 2f 62 3e 20 6f 72 20 61 73 20 3c 62 3e 2f 75 73 /b> or as <b>/us
ae10: 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 70 72 r/local/share/pr
ae20: 6f 6a 2f 70 72 6f 6a 2e 64 62 3c 2f 62 3e 29 20 oj/proj.db</b>)
ae30: 61 6e 64 20 74 68 61 74 27 73 20 61 6c 6c 2e 3c and that's all.<
ae40: 62 72 3e 3c 62 72 3e 0d 0a 54 68 69 6e 67 73 20 br><br>..Things
ae50: 61 72 65 20 75 6e 68 61 70 70 69 6c 79 20 61 20 are unhappily a
ae60: 6c 69 74 74 6c 65 20 62 69 74 20 6d 6f 72 65 20 little bit more
ae70: 64 69 66 66 69 63 75 6c 74 20 6f 6e 20 57 69 6e difficult on Win
ae80: 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 2e 0d dows platforms..
ae90: 0a 54 68 65 20 75 73 65 72 20 69 74 73 65 6c 66 .The user itself
aea0: 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 is responsible
aeb0: 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 69 6e 73 for properly ins
aec0: 74 61 6c 6c 69 6e 67 20 3c 62 3e 70 72 6f 6a 2e talling <b>proj.
aed0: 64 62 3c 2f 62 3e 0d 0a 53 6f 20 69 74 20 62 65 db</b>..So it be
aee0: 63 6f 6d 65 73 20 63 72 69 74 69 63 61 6c 20 75 comes critical u
aef0: 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 74 68 65 nderstanding the
af00: 20 62 61 73 69 63 20 72 75 6c 65 73 20 61 64 6f basic rules ado
af10: 70 74 65 64 20 62 79 20 3c 62 3e 6c 69 62 73 70 pted by <b>libsp
af20: 61 74 69 61 6c 69 74 65 3c 2f 62 3e 20 69 6e 20 atialite</b> in
af30: 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c order to properl
af40: 79 20 6c 6f 63 61 74 65 20 3c 62 3e 70 72 6f 6a y locate <b>proj
af50: 2e 64 62 3c 2f 62 3e 20 6f 6e 20 57 69 6e 64 6f .db</b> on Windo
af60: 77 73 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ws...</td></tr>.
af70: 0a 3c 74 72 3e 3c 74 68 3e 0d 0a 3c 68 32 3e 57 .<tr><th>..<h2>W
af80: 68 65 72 65 20 70 72 6f 6a 2e 64 62 20 69 73 20 here proj.db is
af90: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 66 expected to be f
afa0: 6f 75 6e 64 20 6f 6e 20 57 69 6e 64 6f 77 73 3c ound on Windows<
afb0: 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e /h2>..</td></tr>
afc0: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 6f 6c 3e ..<tr><td>..<ol>
afd0: 0d 0a 3c 6c 69 3e 74 68 65 20 66 69 72 73 74 20 ..<li>the first
afe0: 70 6c 61 63 65 20 77 68 65 72 65 20 3c 62 3e 70 place where <b>p
aff0: 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c 20 roj.db</b> will
b000: 62 65 20 73 65 61 72 63 68 65 64 20 69 73 20 74 be searched is t
b010: 68 65 20 73 61 6d 65 20 66 6f 6c 64 65 72 20 66 he same folder f
b020: 6f 72 6d 20 77 68 65 72 65 20 74 68 65 20 3c 62 orm where the <b
b030: 3e 45 58 45 3c 2f 62 3e 20 62 69 6e 61 72 79 20 >EXE</b> binary
b040: 77 61 73 20 69 6e 69 74 69 61 6c 6c 79 20 6c 6f was initially lo
b050: 61 64 65 64 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 aded.<br>..<i><u
b060: 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f 75 3e >Example</i></u>
b070: 3a 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 : assuming that
b080: 79 6f 75 20 61 72 65 20 63 75 72 72 65 6e 74 6c you are currentl
b090: 79 20 65 78 65 63 75 74 69 6e 67 20 3c 62 3e 43 y executing <b>C
b0a0: 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 74 69 61 :\myprogs\spatia
b0b0: 6c 69 74 65 5c 62 69 6e 5c 73 70 61 74 69 61 6c lite\bin\spatial
b0c0: 69 74 65 2e 65 78 65 3c 2f 62 3e 0d 0a 3c 75 6c ite.exe</b>..<ul
b0d0: 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 61 6e 20 61 >..<li>then an a
b0e0: 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d ttempt will be m
b0f0: 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 74 20 3c ade to connect <
b100: 62 3e 43 3a 5c 6d 79 70 72 6f 67 73 5c 73 70 61 b>C:\myprogs\spa
b110: 74 69 61 6c 69 74 65 5c 62 69 6e 5c 70 72 6f 6a tialite\bin\proj
b120: 2e 64 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f .db</b></li>..</
b130: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 ul></li>..<li>a
b140: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 second attempt w
b150: 69 6c 6c 20 62 65 20 6d 61 64 65 20 6f 6e 20 62 ill be made on b
b160: 65 68 61 6c 66 20 6f 66 20 74 68 65 20 3c 62 3e ehalf of the <b>
b170: 50 75 62 6c 69 63 3c 2f 62 3e 20 66 6f 6c 64 65 Public</b> folde
b180: 72 2e 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 45 78 r.<br>..<i><u>Ex
b190: 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a 20 61 ample</u></i>: a
b1a0: 6e 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 n attempt will b
b1b0: 65 20 6d 61 64 65 20 74 6f 20 63 6f 6e 6e 65 63 e made to connec
b1c0: 74 20 3c 62 3e 43 3a 5c 55 73 65 72 73 5c 50 75 t <b>C:\Users\Pu
b1d0: 62 6c 69 63 5c 73 70 61 74 69 61 6c 69 74 65 5c blic\spatialite\
b1e0: 70 72 6f 6a 5c 70 72 6f 6a 2e 64 62 3c 2f 62 3e proj\proj.db</b>
b1f0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 74 68 69 </li>..<li>a thi
b200: 72 64 20 28 61 6e 64 20 6c 61 73 74 29 20 61 74 rd (and last) at
b210: 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 6d 61 tempt will be ma
b220: 64 65 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 de on behalf of
b230: 74 68 65 20 3c 62 3e 55 73 65 72 3c 2f 62 3e 20 the <b>User</b>
b240: 66 6f 6c 64 65 72 2e 3c 62 72 3e 0d 0a 3c 69 3e folder.<br>..<i>
b250: 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 69 3e 3c 2f <u>Example</i></
b260: 75 3e 3a 20 61 6e 20 61 74 74 65 6d 70 74 20 77 u>: an attempt w
b270: 69 6c 6c 20 62 65 20 6d 61 64 65 20 74 6f 20 63 ill be made to c
b280: 6f 6e 6e 65 63 74 20 3c 62 3e 43 3a 5c 55 73 65 onnect <b>C:\Use
b290: 72 73 5c 73 61 6e 64 72 6f 5c 73 70 61 74 69 61 rs\sandro\spatia
b2a0: 6c 69 74 65 5c 70 72 6f 6a 5c 70 72 6f 6a 2e 64 lite\proj\proj.d
b2b0: 62 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c b</b></li>..</ol
b2c0: 3e 0d 0a 3c 68 33 3e 41 6e 20 75 73 65 66 75 6c >..<h3>An useful
b2d0: 20 64 69 61 67 6e 6f 73 74 69 63 20 63 68 65 63 diagnostic chec
b2e0: 6b 3c 2f 68 33 3e 0d 0a 3c 76 65 72 62 61 74 69 k</h3>..<verbati
b2f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 50 52 4f 4a 5f m>..SELECT PROJ_
b300: 47 65 74 44 61 74 61 62 61 73 65 50 61 74 68 28 GetDatabasePath(
b310: 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d );..</verbatim>.
b320: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 3c 62 .<ul>..<li>if <b
b330: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 73 20 72 65 74 >NULL</b> is ret
b340: 75 72 6e 65 64 2c 20 74 68 65 6e 20 50 52 4f 4a urned, then PROJ
b350: 2e 36 20 69 73 20 64 65 66 69 6e 69 74 65 6c 79 .6 is definitely
b360: 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 6e 65 unable to conne
b370: 63 74 20 74 6f 20 69 74 73 20 6f 77 6e 20 70 72 ct to its own pr
b380: 69 76 61 74 65 20 53 51 4c 69 74 65 20 64 61 74 ivate SQLite dat
b390: 61 62 61 73 65 20 3c 62 3e 70 72 6f 6a 2e 64 62 abase <b>proj.db
b3a0: 3c 2f 62 3e 3c 62 72 3e 0d 0a 59 6f 75 20 68 61 </b><br>..You ha
b3b0: 76 65 20 74 6f 20 63 61 72 65 66 75 6c 6c 79 20 ve to carefully
b3c0: 76 65 72 69 66 79 20 74 68 61 74 20 69 74 27 73 verify that it's
b3d0: 20 72 65 61 6c 6c 79 20 69 6e 73 74 61 6c 6c 65 really installe
b3e0: 64 20 6f 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 d on one of the
b3f0: 65 78 70 65 63 74 65 64 20 73 74 61 6e 64 61 72 expected standar
b400: 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 3c 2f 6c 69 d locations.</li
b410: 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 77 69 73 65 >..<li>otherwise
b420: 20 74 68 65 20 70 61 74 68 20 6c 65 61 64 69 6e the path leadin
b430: 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 g to the current
b440: 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 3c 62 3e ly connected <b>
b450: 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 77 69 6c 6c proj.db</b> will
b460: 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c be returned.</l
b470: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c i>..</ul><br>..<
b480: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
b490: 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 le><br><br>..<ta
b4a0: 62 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d ble cellspacing=
b4b0: 22 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "8" cellpadding=
b4c0: 22 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 63 39 "8" bgcolor="#c9
b4d0: 66 66 66 30 22 3e 0d 0a 3c 74 72 3e 3c 74 68 3e fff0">..<tr><th>
b4e0: 0d 0a 3c 68 32 3e 55 73 69 6e 67 20 74 68 65 20 ..<h2>Using the
b4f0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 environment vari
b500: 61 62 6c 65 20 50 52 4f 4a 5f 4c 49 42 3c 2f 68 able PROJ_LIB</h
b510: 32 3e 0d 0a 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 2>..</th></tr>..
b520: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 3e 50 52 4f <tr><td>..<b>PRO
b530: 4a 5f 4c 49 42 3c 2f 62 3e 20 69 73 20 61 20 73 J_LIB</b> is a s
b540: 74 61 6e 64 61 72 64 20 65 6e 76 69 72 6f 6e 6d tandard environm
b550: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 70 ent variable sup
b560: 70 6f 72 74 65 64 20 62 79 20 50 52 4f 4a 20 69 ported by PROJ i
b570: 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 57 68 65 6e tself.<br>..When
b580: 20 3c 62 3e 50 52 4f 4a 5f 4c 49 42 3c 2f 62 3e <b>PROJ_LIB</b>
b590: 20 69 73 20 73 65 74 2c 20 74 68 65 6e 20 50 52 is set, then PR
b5a0: 4f 4a 2e 36 20 77 69 6c 6c 20 64 69 72 65 63 74 OJ.6 will direct
b5b0: 6c 79 20 73 65 61 72 63 68 20 69 74 73 20 6f 77 ly search its ow
b5c0: 6e 20 70 72 69 76 61 74 65 20 64 61 74 61 62 61 n private databa
b5d0: 73 65 20 69 6e 74 6f 20 74 68 65 20 64 69 72 65 se into the dire
b5e0: 63 74 6f 72 79 20 72 65 66 65 72 65 6e 63 65 64 ctory referenced
b5f0: 20 62 79 20 74 68 65 20 76 61 72 69 61 62 6c 65 by the variable
b600: 2e 3c 62 72 3e 0d 0a 53 75 63 68 20 61 20 63 61 .<br>..Such a ca
b610: 70 61 62 69 6c 69 74 79 20 69 73 20 73 75 70 70 pability is supp
b620: 6f 72 74 65 64 20 6f 6e 20 62 6f 74 68 20 57 69 orted on both Wi
b630: 6e 64 6f 77 73 20 61 6e 64 20 4c 69 6e 75 78 20 ndows and Linux
b640: 28 61 6e 64 20 6f 6e 20 61 6e 79 20 6f 74 68 65 (and on any othe
b650: 72 20 70 6c 61 74 66 6f 72 6d 29 2e 3c 62 72 3e r platform).<br>
b660: 3c 62 72 3e 0d 0a 3c 69 3e 3c 75 3e 4c 69 6e 75 <br>..<i><u>Linu
b670: 78 20 65 78 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 x example</u></i
b680: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 >:..<ul>..<li><b
b690: 3e 65 78 70 6f 72 74 20 22 50 52 4f 4a 5f 4c 49 >export "PROJ_LI
b6a0: 42 3d 2f 68 6f 6d 65 2f 73 61 6e 64 72 6f 2f 70 B=/home/sandro/p
b6b0: 72 6f 6a 22 3c 62 72 3e 0d 0a 65 63 68 6f 20 24 roj"<br>..echo $
b6c0: 50 52 4f 4a 5f 4c 49 42 3c 62 72 3e 0d 0a 73 70 PROJ_LIB<br>..sp
b6d0: 61 74 69 61 6c 69 74 65 3c 62 3e 3c 2f 6c 69 3e atialite<b></li>
b6e0: 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d ..</ul><br><br>.
b6f0: 0a 3c 69 3e 3c 75 3e 57 69 6e 64 6f 77 73 20 65 .<i><u>Windows e
b700: 78 61 6d 70 6c 65 3c 2f 75 3e 3c 2f 69 3e 3a 0d xample</u></i>:.
b710: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 53 45 .<ul>..<li><b>SE
b720: 54 20 50 52 4f 4a 5f 4c 49 42 3d 43 3a 5c 55 73 T PROJ_LIB=C:\Us
b730: 65 72 73 5c 73 61 6e 64 72 6f 5c 70 72 6f 6a 3c ers\sandro\proj<
b740: 62 72 3e 0d 0a 65 63 68 6f 20 25 50 52 4f 4a 5f br>..echo %PROJ_
b750: 4c 49 42 25 3c 62 72 3e 0d 0a 73 70 61 74 69 61 LIB%<br>..spatia
b760: 6c 69 74 65 5f 67 75 69 3c 62 3e 3c 2f 6c 69 3e lite_gui<b></li>
b770: 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d ..</ul><br><br>.
b780: 0a 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 .</th></tr>..</t
b790: 61 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d able><br>..<hr>.
b7a0: 0a 3c 68 31 3e 50 52 4f 4a 2e 36 20 73 75 70 70 .<h1>PROJ.6 supp
b7b0: 6f 72 74 20 6f 6e 20 73 70 61 74 69 61 6c 69 74 ort on spatialit
b7c0: 65 5f 67 75 69 3c 2f 68 31 3e 0d 0a 3c 74 61 62 e_gui</h1>..<tab
b7d0: 6c 65 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 le cellspacing="
b7e0: 38 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 8" cellpadding="
b7f0: 38 22 20 62 67 63 6f 6c 6f 72 3d 22 23 65 38 66 8" bgcolor="#e8f
b800: 66 65 38 22 20 62 6f 72 64 65 72 3d 22 31 22 3e fe8" border="1">
b810: 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 20 ..<tr><td>..The
b820: 47 55 49 20 74 6f 6f 6c 20 6a 75 73 74 20 69 6e GUI tool just in
b830: 74 72 6f 64 75 63 65 73 20 61 20 73 69 6e 67 6c troduces a singl
b840: 65 20 6e 65 77 20 66 65 61 74 75 72 65 20 69 6e e new feature in
b850: 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 61 tended to make a
b860: 73 20 65 61 73 79 20 61 73 20 70 6f 73 73 69 62 s easy as possib
b870: 6c 65 20 75 73 69 6e 67 20 50 52 4f 4a 2e 36 3c le using PROJ.6<
b880: 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 69 br><br>..The mai
b890: 6e 20 6d 65 6e 75 20 6e 6f 77 20 63 6f 6e 74 61 n menu now conta
b8a0: 69 6e 73 20 61 6e 20 3c 62 3e 3c 69 3e 45 78 74 ins an <b><i>Ext
b8b0: 65 72 6e 61 6c 20 76 61 72 69 61 62 6c 65 20 50 ernal variable P
b8c0: 52 4f 4a 5f 4c 49 42 3c 2f 69 3e 3c 2f 62 3e 20 ROJ_LIB</i></b>
b8d0: 69 74 65 6d 2e 3c 62 72 3e 0d 0a 41 66 74 65 72 item.<br>..After
b8e0: 20 61 63 74 69 76 61 74 69 6e 67 20 74 68 65 20 activating the
b8f0: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6f 70 corresponding op
b900: 74 69 6f 6e 20 61 20 73 74 61 6e 64 61 72 64 20 tion a standard
b910: 3c 62 3e 3c 69 3e 46 69 6c 65 20 53 65 6c 65 63 <b><i>File Selec
b920: 74 69 6f 6e 20 44 69 61 6c 6f 67 20 3c 2f 69 3e tion Dialog </i>
b930: 3c 2f 62 3e 20 77 69 6c 6c 20 73 68 6f 77 20 6f </b> will show o
b940: 6e 20 74 68 65 20 73 63 72 65 65 6e 2c 20 74 68 n the screen, th
b950: 75 73 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 us enabling the
b960: 75 73 65 72 20 74 6f 20 6c 6f 63 61 74 65 20 6f user to locate o
b970: 6e 20 74 68 65 20 66 69 6c 65 2d 73 79 73 74 65 n the file-syste
b980: 6d 20 74 68 65 20 70 72 69 76 61 74 65 20 3c 62 m the private <b
b990: 3e 70 72 6f 6a 2e 64 62 3c 2f 62 3e 20 64 61 74 >proj.db</b> dat
b9a0: 61 62 61 73 65 20 6f 66 20 50 52 4f 4a 2e 36 2e abase of PROJ.6.
b9b0: 3c 62 72 3e 3c 62 72 3e 0d 0a 4f 6e 63 65 20 74 <br><br>..Once t
b9c0: 68 61 74 20 3c 62 3e 70 72 6f 6a 2e 64 62 3c 2f hat <b>proj.db</
b9d0: 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 b> will be corre
b9e0: 63 74 6c 79 20 6c 6f 63 61 74 65 64 20 74 68 65 ctly located the
b9f0: 6e 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f n <b>spatialite_
ba00: 67 75 69 3c 2f 62 3e 20 77 69 6c 6c 20 61 75 74 gui</b> will aut
ba10: 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 74 omatically set t
ba20: 68 65 20 3c 62 3e 50 52 4f 4a 5f 4c 49 42 3c 2f he <b>PROJ_LIB</
ba30: 62 3e 20 76 61 72 69 61 62 6c 65 2e 3c 62 72 3e b> variable.<br>
ba40: 3c 62 72 3e 0d 0a 41 6e 64 20 74 68 61 74 27 73 <br>..And that's
ba50: 20 6e 6f 74 20 61 6c 6c 3b 20 3c 62 3e 73 70 61 not all; <b>spa
ba60: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 tialite_gui</b>
ba70: 77 69 6c 6c 20 70 65 72 73 69 73 74 65 6e 74 6c will persistentl
ba80: 79 20 73 74 6f 72 65 20 74 68 65 20 63 75 72 72 y store the curr
ba90: 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 3c 62 3e ent value of <b>
baa0: 50 52 4f 4a 5f 4c 49 42 3c 2f 62 3e 2c 20 73 6f PROJ_LIB</b>, so
bab0: 20 61 73 20 74 6f 20 61 62 6c 65 20 74 6f 20 73 as to able to s
bac0: 65 74 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 et it automatica
bad0: 6c 6c 79 20 66 6f 72 20 65 61 63 68 20 73 75 62 lly for each sub
bae0: 73 65 71 75 65 6e 74 20 69 6e 76 6f 63 61 74 69 sequent invocati
baf0: 6f 6e 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e on...</td>..<td>
bb00: 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 ..<img src="http
bb10: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
bb20: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 70 72 .it/gaia-sins/pr
bb30: 6f 6a 36 70 69 63 73 2f 67 75 69 2d 70 72 6f 6a oj6pics/gui-proj
bb40: 36 2e 70 6e 67 22 20 61 6c 74 3d 22 67 75 69 20 6.png" alt="gui
bb50: 70 72 6f 6a 36 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f proj6">..</td></
bb60: 74 72 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 tr><tr><td>..The
bb70: 72 65 20 69 73 20 61 20 66 75 72 74 68 65 72 20 re is a further
bb80: 65 6e 68 61 6e 63 65 6d 65 6e 74 20 61 76 61 69 enhancement avai
bb90: 6c 61 62 6c 65 20 77 68 65 6e 20 3c 62 3e 73 70 lable when <b>sp
bba0: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e atialite_gui</b>
bbb0: 20 69 73 20 62 61 63 6b 65 64 20 75 70 20 62 79 is backed up by
bbc0: 20 50 52 4f 4a 2e 36 3c 62 72 3e 0d 0a 49 74 27 PROJ.6<br>..It'
bbd0: 73 20 61 20 76 65 72 79 20 6c 69 74 74 6c 65 20 s a very little
bbe0: 65 76 69 64 65 6e 74 20 69 6e 6e 6f 76 61 74 69 evident innovati
bbf0: 6f 6e 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 on, but it will
bc00: 70 72 6f 62 61 62 6c 79 20 62 65 20 68 69 67 68 probably be high
bc10: 6c 79 20 61 70 70 72 65 63 69 61 74 65 64 20 62 ly appreciated b
bc20: 79 20 6d 61 6e 79 20 75 73 65 72 73 2e 3c 62 72 y many users.<br
bc30: 3e 3c 62 72 3e 0d 0a 57 68 65 6e 20 6c 6f 61 64 ><br>..When load
bc40: 69 6e 67 20 73 6f 6d 65 20 53 68 61 70 65 66 69 ing some Shapefi
bc50: 6c 65 20 6e 6f 77 20 74 68 65 20 61 70 70 72 6f le now the appro
bc60: 70 72 69 61 74 65 20 3c 62 3e 53 52 49 44 20 76 priate <b>SRID v
bc70: 61 6c 75 65 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 alue</b> will be
bc80: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 automatically d
bc90: 65 74 65 72 6d 69 6e 65 64 20 62 79 20 65 78 61 etermined by exa
bca0: 6d 69 6e 69 6e 67 20 74 68 65 20 63 6f 6e 74 65 mining the conte
bcb0: 6e 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 61 6e nt of the compan
bcc0: 69 6f 6e 20 3c 62 3e 2e 70 72 6a 3c 2f 62 3e 20 ion <b>.prj</b>
bcd0: 6d 65 6d 65 62 72 20 28 69 66 20 73 75 70 70 6c memebr (if suppl
bce0: 69 65 64 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 ied)...</td>..<t
bcf0: 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 d>..<img src="ht
bd00: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
bd10: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
bd20: 70 72 6f 6a 36 70 69 63 73 2f 6c 6f 61 64 2d 73 proj6pics/load-s
bd30: 68 70 2d 70 72 6f 6a 36 2e 70 6e 67 22 20 61 6c hp-proj6.png" al
bd40: 74 3d 22 67 75 69 20 70 72 6f 6a 36 22 3e 0d 0a t="gui proj6">..
bd50: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 </td></tr>..</ta
bd60: 62 6c 65 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 ble><br>..<hr><b
bd70: 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 r>..<a href="htt
bd80: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
bd90: 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 s.it/fossil/libs
bda0: 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e patialite/wiki?n
bdb0: 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 ame=4.3.0-doc">b
bdc0: 61 63 6b 3c 2f 61 3e 0a 5a 20 31 35 39 30 64 32 ack</a>.Z 1590d2
bdd0: 36 30 61 64 38 62 36 38 36 38 65 32 39 66 30 66 60ad8b6868e29f0f
bde0: 33 34 30 35 65 33 35 30 38 35 0a 3405e35085.