xref: /third_party/ffmpeg/libavcodec/tiff_data.h (revision cabdff1a)
1/*
2 * TIFF data tables
3 * Copyright (c) 2011 Thomas Kuehnel
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22/**
23 * @file
24 * TIFF data tables
25 * @author Thomas Kuehnel
26 * @see GeoTIFF specification at
27 * http://www.remotesensing.org/geotiff/spec/geotiffhome.html
28 */
29
30#ifndef AVCODEC_TIFF_DATA_H
31#define AVCODEC_TIFF_DATA_H
32
33#include "tiff.h"
34
35#define TIFF_CONF_KEY_ID_OFFSET 1024
36static const TiffGeoTagNameType tiff_conf_name_type_map[] = {
37    {"GTModelTypeGeoKey",              GEOTIFF_SHORT },
38    {"GTRasterTypeGeoKey",             GEOTIFF_SHORT },
39    {"GTCitationGeoKey",               GEOTIFF_STRING}
40};
41
42#define TIFF_GEOG_KEY_ID_OFFSET 2048
43static const TiffGeoTagNameType tiff_geog_name_type_map[] = {
44    {"GeographicTypeGeoKey",           GEOTIFF_SHORT },
45    {"GeogCitationGeoKey",             GEOTIFF_STRING},
46    {"GeogGeodeticDatumGeoKey",        GEOTIFF_SHORT },
47    {"GeogPrimeMeridianGeoKey",        GEOTIFF_SHORT },
48    {"GeogLinearUnitsGeoKey",          GEOTIFF_SHORT },
49    {"GeogLinearUnitSizeGeoKey",       GEOTIFF_DOUBLE},
50    {"GeogAngularUnitsGeoKey",         GEOTIFF_SHORT },
51    {"GeogAngularUnitSizeGeoKey",      GEOTIFF_DOUBLE},
52    {"GeogEllipsoidGeoKey",            GEOTIFF_SHORT },
53    {"GeogSemiMajorAxisGeoKey",        GEOTIFF_DOUBLE},
54    {"GeogSemiMinorAxisGeoKey",        GEOTIFF_DOUBLE},
55    {"GeogInvFlatteningGeoKey",        GEOTIFF_DOUBLE},
56    {"GeogAzimuthUnitsGeoKey",         GEOTIFF_SHORT },
57    {"GeogPrimeMeridianLongGeoKey",    GEOTIFF_DOUBLE}
58};
59
60#define TIFF_PROJ_KEY_ID_OFFSET 3072
61static const TiffGeoTagNameType tiff_proj_name_type_map[] = {
62    {"ProjectedCSTypeGeoKey",          GEOTIFF_SHORT },
63    {"PCSCitationGeoKey",              GEOTIFF_STRING},
64    {"ProjectionGeoKey",               GEOTIFF_SHORT },
65    {"ProjCoordTransGeoKey",           GEOTIFF_SHORT },
66    {"ProjLinearUnitsGeoKey",          GEOTIFF_SHORT },
67    {"ProjLinearUnitSizeGeoKey",       GEOTIFF_DOUBLE},
68    {"ProjStdParallel1GeoKey",         GEOTIFF_DOUBLE},
69    {"ProjStdParallel2GeoKey",         GEOTIFF_DOUBLE},
70    {"ProjNatOriginLongGeoKey",        GEOTIFF_DOUBLE},
71    {"ProjNatOriginLatGeoKey",         GEOTIFF_DOUBLE},
72    {"ProjFalseEastingGeoKey",         GEOTIFF_DOUBLE},
73    {"ProjFalseNorthingGeoKey",        GEOTIFF_DOUBLE},
74    {"ProjFalseOriginLongGeoKey",      GEOTIFF_DOUBLE},
75    {"ProjFalseOriginLatGeoKey",       GEOTIFF_DOUBLE},
76    {"ProjFalseOriginEastingGeoKey",   GEOTIFF_DOUBLE},
77    {"ProjFalseOriginNorthingGeoKey",  GEOTIFF_DOUBLE},
78    {"ProjCenterLongGeoKey",           GEOTIFF_DOUBLE},
79    {"ProjCenterLatGeoKey",            GEOTIFF_DOUBLE},
80    {"ProjCenterEastingGeoKey",        GEOTIFF_DOUBLE},
81    {"ProjCenterNorthingGeoKey",       GEOTIFF_DOUBLE},
82    {"ProjScaleAtNatOriginGeoKey",     GEOTIFF_DOUBLE},
83    {"ProjScaleAtCenterGeoKey",        GEOTIFF_DOUBLE},
84    {"ProjAzimuthAngleGeoKey",         GEOTIFF_DOUBLE},
85    {"ProjStraightVertPoleLongGeoKey", GEOTIFF_DOUBLE}
86};
87
88#define TIFF_VERT_KEY_ID_OFFSET 4096
89static const TiffGeoTagNameType tiff_vert_name_type_map[] = {
90    {"VerticalCSTypeGeoKey",           GEOTIFF_SHORT },
91    {"VerticalCitationGeoKey",         GEOTIFF_STRING},
92    {"VerticalDatumGeoKey",            GEOTIFF_SHORT },
93    {"VerticalUnitsGeoKey",            GEOTIFF_SHORT }
94};
95
96#define TIFF_GEO_KEY_UNDEFINED    0
97#define TIFF_GEO_KEY_USER_DEFINED 32767
98
99#define TIFF_GT_MODEL_TYPE_OFFSET 1
100static const char *const tiff_gt_model_type_codes[] = {
101    "ModelTypeProjected",
102    "ModelTypeGeographic",
103    "ModelTypeGeocentric"
104};
105
106#define TIFF_GT_RASTER_TYPE_OFFSET 1
107static const char *const tiff_gt_raster_type_codes[] = {
108    "RasterPixelIsArea",
109    "RasterPixelIsPoint"
110};
111
112#define TIFF_LINEAR_UNIT_OFFSET 9001
113static const char *const tiff_linear_unit_codes[] = {
114    "Linear_Meter",
115    "Linear_Foot",
116    "Linear_Foot_US_Survey",
117    "Linear_Foot_Modified_American",
118    "Linear_Foot_Clarke",
119    "Linear_Foot_Indian",
120    "Linear_Link",
121    "Linear_Link_Benoit",
122    "Linear_Link_Sears",
123    "Linear_Chain_Benoit",
124    "Linear_Chain_Sears",
125    "Linear_Yard_Sears",
126    "Linear_Yard_Indian",
127    "Linear_Fathom",
128    "Linear_Mile_International_Nautical"
129};
130
131#define TIFF_ANGULAR_UNIT_OFFSET 9101
132static const char *const tiff_angular_unit_codes[] = {
133    "Angular_Radian",
134    "Angular_Degree",
135    "Angular_Arc_Minute",
136    "Angular_Arc_Second",
137    "Angular_Grad",
138    "Angular_Gon",
139    "Angular_DMS",
140    "Angular_DMS_Hemisphere"
141};
142
143#define TIFF_GCS_TYPE_OFFSET 4201
144static const char *const tiff_gcs_type_codes[] = {
145    "GCS_Adindan",
146    "GCS_AGD66",
147    "GCS_AGD84",
148    "GCS_Ain_el_Abd",
149    "GCS_Afgooye",
150    "GCS_Agadez",
151    "GCS_Lisbon",
152    "GCS_Aratu",
153    "GCS_Arc_1950",
154    "GCS_Arc_1960",
155    "GCS_Batavia",
156    "GCS_Barbados",
157    "GCS_Beduaram",
158    "GCS_Beijing_1954",
159    "GCS_Belge_1950",
160    "GCS_Bermuda_1957",
161    "GCS_Bern_1898",
162    "GCS_Bogota",
163    "GCS_Bukit_Rimpah",
164    "GCS_Camacupa",
165    "GCS_Campo_Inchauspe",
166    "GCS_Cape",
167    "GCS_Carthage",
168    "GCS_Chua",
169    "GCS_Corrego_Alegre",
170    "GCS_Cote_d_Ivoire",
171    "GCS_Deir_ez_Zor",
172    "GCS_Douala",
173    "GCS_Egypt_1907",
174    "GCS_ED50",
175    "GCS_ED87",
176    "GCS_Fahud",
177    "GCS_Gandajika_1970",
178    "GCS_Garoua",
179    "GCS_Guyane_Francaise",
180    "GCS_Hu_Tzu_Shan",
181    "GCS_HD72",
182    "GCS_ID74",
183    "GCS_Indian_1954",
184    "GCS_Indian_1975",
185    "GCS_Jamaica_1875",
186    "GCS_JAD69",
187    "GCS_Kalianpur",
188    "GCS_Kandawala",
189    "GCS_Kertau",
190    "GCS_KOC",
191    "GCS_La_Canoa",
192    "GCS_PSAD56",
193    "GCS_Lake",
194    "GCS_Leigon",
195    "GCS_Liberia_1964",
196    "GCS_Lome",
197    "GCS_Luzon_1911",
198    "GCS_Hito_XVIII_1963",
199    "GCS_Herat_North",
200    "GCS_Mahe_1971",
201    "GCS_Makassar",
202    "GCS_EUREF89",
203    "GCS_Malongo_1987",
204    "GCS_Manoca",
205    "GCS_Merchich",
206    "GCS_Massawa",
207    "GCS_Minna",
208    "GCS_Mhast",
209    "GCS_Monte_Mario",
210    "GCS_M_poraloko",
211    "GCS_NAD27",
212    "GCS_NAD_Michigan",
213    "GCS_NAD83",
214    "GCS_Nahrwan_1967",
215    "GCS_Naparima_1972",
216    "GCS_GD49",
217    "GCS_NGO_1948",
218    "GCS_Datum_73",
219    "GCS_NTF",
220    "GCS_NSWC_9Z_2",
221    "GCS_OSGB_1936",
222    "GCS_OSGB70",
223    "GCS_OS_SN80",
224    "GCS_Padang",
225    "GCS_Palestine_1923",
226    "GCS_Pointe_Noire",
227    "GCS_GDA94",
228    "GCS_Pulkovo_1942",
229    "GCS_Qatar",
230    "GCS_Qatar_1948",
231    "GCS_Qornoq",
232    "GCS_Loma_Quintana",
233    "GCS_Amersfoort",
234    "GCS_RT38",
235    "GCS_SAD69",
236    "GCS_Sapper_Hill_1943",
237    "GCS_Schwarzeck",
238    "GCS_Segora",
239    "GCS_Serindung",
240    "GCS_Sudan",
241    "GCS_Tananarive",
242    "GCS_Timbalai_1948",
243    "GCS_TM65",
244    "GCS_TM75",
245    "GCS_Tokyo",
246    "GCS_Trinidad_1903",
247    "GCS_TC_1948",
248    "GCS_Voirol_1875",
249    "GCS_Voirol_Unifie",
250    "GCS_Bern_1938",
251    "GCS_Nord_Sahara_1959",
252    "GCS_Stockholm_1938",
253    "GCS_Yacare",
254    "GCS_Yoff",
255    "GCS_Zanderij",
256    "GCS_MGI",
257    "GCS_Belge_1972",
258    "GCS_DHDN",
259    "GCS_Conakry_1905",
260    "GCS_WGS_72",
261    "GCS_WGS_72BE",
262    "GCS_WGS_84",
263    "GCS_Bern_1898_Bern",
264    "GCS_Bogota_Bogota",
265    "GCS_Lisbon_Lisbon",
266    "GCS_Makassar_Jakarta",
267    "GCS_MGI_Ferro",
268    "GCS_Monte_Mario_Rome",
269    "GCS_NTF_Paris",
270    "GCS_Padang_Jakarta",
271    "GCS_Belge_1950_Brussels",
272    "GCS_Tananarive_Paris",
273    "GCS_Voirol_1875_Paris",
274    "GCS_Voirol_Unifie_Paris",
275    "GCS_Batavia_Jakarta",
276    "GCS_ATF_Paris",
277    "GCS_NDG_Paris"
278};
279
280#define TIFF_GCSE_TYPE_OFFSET 4001
281static const char *const tiff_gcse_type_codes[] = {
282    "GCSE_Airy1830",
283    "GCSE_AiryModified1849",
284    "GCSE_AustralianNationalSpheroid",
285    "GCSE_Bessel1841",
286    "GCSE_BesselModified",
287    "GCSE_BesselNamibia",
288    "GCSE_Clarke1858",
289    "GCSE_Clarke1866",
290    "GCSE_Clarke1866Michigan",
291    "GCSE_Clarke1880_Benoit",
292    "GCSE_Clarke1880_IGN",
293    "GCSE_Clarke1880_RGS",
294    "GCSE_Clarke1880_Arc",
295    "GCSE_Clarke1880_SGA1922",
296    "GCSE_Everest1830_1937Adjustment",
297    "GCSE_Everest1830_1967Definition",
298    "GCSE_Everest1830_1975Definition",
299    "GCSE_Everest1830Modified",
300    "GCSE_GRS1980",
301    "GCSE_Helmert1906",
302    "GCSE_IndonesianNationalSpheroid",
303    "GCSE_International1924",
304    "GCSE_International1967",
305    "GCSE_Krassowsky1940",
306    "GCSE_NWL9D",
307    "GCSE_NWL10D",
308    "GCSE_Plessis1817",
309    "GCSE_Struve1860",
310    "GCSE_WarOffice",
311    "GCSE_WGS84",
312    "GCSE_GEM10C",
313    "GCSE_OSU86F",
314    "GCSE_OSU91A",
315    "GCSE_Clarke1880",
316    "GCSE_Sphere"
317};
318
319#define TIFF_GEODETIC_DATUM_OFFSET 6201
320static const char *const tiff_geodetic_datum_codes[] = {
321    "Datum_Adindan",
322    "Datum_Australian_Geodetic_Datum_1966",
323    "Datum_Australian_Geodetic_Datum_1984",
324    "Datum_Ain_el_Abd_1970",
325    "Datum_Afgooye",
326    "Datum_Agadez",
327    "Datum_Lisbon",
328    "Datum_Aratu",
329    "Datum_Arc_1950",
330    "Datum_Arc_1960",
331    "Datum_Batavia",
332    "Datum_Barbados",
333    "Datum_Beduaram",
334    "Datum_Beijing_1954",
335    "Datum_Reseau_National_Belge_1950",
336    "Datum_Bermuda_1957",
337    "Datum_Bern_1898",
338    "Datum_Bogota",
339    "Datum_Bukit_Rimpah",
340    "Datum_Camacupa",
341    "Datum_Campo_Inchauspe",
342    "Datum_Cape",
343    "Datum_Carthage",
344    "Datum_Chua",
345    "Datum_Corrego_Alegre",
346    "Datum_Cote_d_Ivoire",
347    "Datum_Deir_ez_Zor",
348    "Datum_Douala",
349    "Datum_Egypt_1907",
350    "Datum_European_Datum_1950",
351    "Datum_European_Datum_1987",
352    "Datum_Fahud",
353    "Datum_Gandajika_1970",
354    "Datum_Garoua",
355    "Datum_Guyane_Francaise",
356    "Datum_Hu_Tzu_Shan",
357    "Datum_Hungarian_Datum_1972",
358    "Datum_Indonesian_Datum_1974",
359    "Datum_Indian_1954",
360    "Datum_Indian_1975",
361    "Datum_Jamaica_1875",
362    "Datum_Jamaica_1969",
363    "Datum_Kalianpur",
364    "Datum_Kandawala",
365    "Datum_Kertau",
366    "Datum_Kuwait_Oil_Company",
367    "Datum_La_Canoa",
368    "Datum_Provisional_S_American_Datum_1956",
369    "Datum_Lake",
370    "Datum_Leigon",
371    "Datum_Liberia_1964",
372    "Datum_Lome",
373    "Datum_Luzon_1911",
374    "Datum_Hito_XVIII_1963",
375    "Datum_Herat_North",
376    "Datum_Mahe_1971",
377    "Datum_Makassar",
378    "Datum_European_Reference_System_1989",
379    "Datum_Malongo_1987",
380    "Datum_Manoca",
381    "Datum_Merchich",
382    "Datum_Massawa",
383    "Datum_Minna",
384    "Datum_Mhast",
385    "Datum_Monte_Mario",
386    "Datum_M_poraloko",
387    "Datum_North_American_Datum_1927",
388    "Datum_NAD_Michigan",
389    "Datum_North_American_Datum_1983",
390    "Datum_Nahrwan_1967",
391    "Datum_Naparima_1972",
392    "Datum_New_Zealand_Geodetic_Datum_1949",
393    "Datum_NGO_1948",
394    "Datum_Datum_73",
395    "Datum_Nouvelle_Triangulation_Francaise",
396    "Datum_NSWC_9Z_2",
397    "Datum_OSGB_1936",
398    "Datum_OSGB_1970_SN",
399    "Datum_OS_SN_1980",
400    "Datum_Padang_1884",
401    "Datum_Palestine_1923",
402    "Datum_Pointe_Noire",
403    "Datum_Geocentric_Datum_of_Australia_1994",
404    "Datum_Pulkovo_1942",
405    "Datum_Qatar",
406    "Datum_Qatar_1948",
407    "Datum_Qornoq",
408    "Datum_Loma_Quintana",
409    "Datum_Amersfoort",
410    "Datum_RT38",
411    "Datum_South_American_Datum_1969",
412    "Datum_Sapper_Hill_1943",
413    "Datum_Schwarzeck",
414    "Datum_Segora",
415    "Datum_Serindung",
416    "Datum_Sudan",
417    "Datum_Tananarive_1925",
418    "Datum_Timbalai_1948",
419    "Datum_TM65",
420    "Datum_TM75",
421    "Datum_Tokyo",
422    "Datum_Trinidad_1903",
423    "Datum_Trucial_Coast_1948",
424    "Datum_Voirol_1875",
425    "Datum_Voirol_Unifie_1960",
426    "Datum_Bern_1938",
427    "Datum_Nord_Sahara_1959",
428    "Datum_Stockholm_1938",
429    "Datum_Yacare",
430    "Datum_Yoff",
431    "Datum_Zanderij",
432    "Datum_Militar_Geographische_Institut",
433    "Datum_Reseau_National_Belge_1972",
434    "Datum_Deutsche_Hauptdreiecksnetz",
435    "Datum_Conakry_1905",
436    "Datum_WGS72",
437    "Datum_WGS72_Transit_Broadcast_Ephemeris",
438    "Datum_WGS84",
439    "Datum_Ancienne_Triangulation_Francaise",
440    "Datum_Nord_de_Guerre"
441};
442
443#define TIFF_GEODETIC_DATUM_E_OFFSET 6001
444static const char *const tiff_geodetic_datum_e_codes[] = {
445    "DatumE_Airy1830",
446    "DatumE_AiryModified1849",
447    "DatumE_AustralianNationalSpheroid",
448    "DatumE_Bessel1841",
449    "DatumE_BesselModified",
450    "DatumE_BesselNamibia",
451    "DatumE_Clarke1858",
452    "DatumE_Clarke1866",
453    "DatumE_Clarke1866Michigan",
454    "DatumE_Clarke1880_Benoit",
455    "DatumE_Clarke1880_IGN",
456    "DatumE_Clarke1880_RGS",
457    "DatumE_Clarke1880_Arc",
458    "DatumE_Clarke1880_SGA1922",
459    "DatumE_Everest1830_1937Adjustment",
460    "DatumE_Everest1830_1967Definition",
461    "DatumE_Everest1830_1975Definition",
462    "DatumE_Everest1830Modified",
463    "DatumE_GRS1980",
464    "DatumE_Helmert1906",
465    "DatumE_IndonesianNationalSpheroid",
466    "DatumE_International1924",
467    "DatumE_International1967",
468    "DatumE_Krassowsky1960",
469    "DatumE_NWL9D",
470    "DatumE_NWL10D",
471    "DatumE_Plessis1817",
472    "DatumE_Struve1860",
473    "DatumE_WarOffice",
474    "DatumE_WGS84",
475    "DatumE_GEM10C",
476    "DatumE_OSU86F",
477    "DatumE_OSU91A",
478    "DatumE_Clarke1880",
479    "DatumE_Sphere"
480};
481
482#define TIFF_ELLIPSOID_OFFSET 7001
483static const char *const tiff_ellipsoid_codes[] = {
484    "Ellipse_Airy_1830",
485    "Ellipse_Airy_Modified_1849",
486    "Ellipse_Australian_National_Spheroid",
487    "Ellipse_Bessel_1841",
488    "Ellipse_Bessel_Modified",
489    "Ellipse_Bessel_Namibia",
490    "Ellipse_Clarke_1858",
491    "Ellipse_Clarke_1866",
492    "Ellipse_Clarke_1866_Michigan",
493    "Ellipse_Clarke_1880_Benoit",
494    "Ellipse_Clarke_1880_IGN",
495    "Ellipse_Clarke_1880_RGS",
496    "Ellipse_Clarke_1880_Arc",
497    "Ellipse_Clarke_1880_SGA_1922",
498    "Ellipse_Everest_1830_1937_Adjustment",
499    "Ellipse_Everest_1830_1967_Definition",
500    "Ellipse_Everest_1830_1975_Definition",
501    "Ellipse_Everest_1830_Modified",
502    "Ellipse_GRS_1980",
503    "Ellipse_Helmert_1906",
504    "Ellipse_Indonesian_National_Spheroid",
505    "Ellipse_International_1924",
506    "Ellipse_International_1967",
507    "Ellipse_Krassowsky_1940",
508    "Ellipse_NWL_9D",
509    "Ellipse_NWL_10D",
510    "Ellipse_Plessis_1817",
511    "Ellipse_Struve_1860",
512    "Ellipse_War_Office",
513    "Ellipse_WGS_84",
514    "Ellipse_GEM_10C",
515    "Ellipse_OSU86F",
516    "Ellipse_OSU91A",
517    "Ellipse_Clarke_1880",
518    "Ellipse_Sphere"
519};
520
521#define TIFF_PRIME_MERIDIAN_OFFSET 8901
522static const char *const tiff_prime_meridian_codes[] = {
523    "PM_Greenwich",
524    "PM_Lisbon",
525    "PM_Paris",
526    "PM_Bogota",
527    "PM_Madrid",
528    "PM_Rome",
529    "PM_Bern",
530    "PM_Jakarta",
531    "PM_Ferro",
532    "PM_Brussels",
533    "PM_Stockholm"
534};
535
536static const TiffGeoTagKeyName tiff_proj_cs_type_codes[] = {
537    {20137, "PCS_Adindan_UTM_zone_37N"},
538    {20138, "PCS_Adindan_UTM_zone_38N"},
539    {20248, "PCS_AGD66_AMG_zone_48"},
540    {20249, "PCS_AGD66_AMG_zone_49"},
541    {20250, "PCS_AGD66_AMG_zone_50"},
542    {20251, "PCS_AGD66_AMG_zone_51"},
543    {20252, "PCS_AGD66_AMG_zone_52"},
544    {20253, "PCS_AGD66_AMG_zone_53"},
545    {20254, "PCS_AGD66_AMG_zone_54"},
546    {20255, "PCS_AGD66_AMG_zone_55"},
547    {20256, "PCS_AGD66_AMG_zone_56"},
548    {20257, "PCS_AGD66_AMG_zone_57"},
549    {20258, "PCS_AGD66_AMG_zone_58"},
550    {20348, "PCS_AGD84_AMG_zone_48"},
551    {20349, "PCS_AGD84_AMG_zone_49"},
552    {20350, "PCS_AGD84_AMG_zone_50"},
553    {20351, "PCS_AGD84_AMG_zone_51"},
554    {20352, "PCS_AGD84_AMG_zone_52"},
555    {20353, "PCS_AGD84_AMG_zone_53"},
556    {20354, "PCS_AGD84_AMG_zone_54"},
557    {20355, "PCS_AGD84_AMG_zone_55"},
558    {20356, "PCS_AGD84_AMG_zone_56"},
559    {20357, "PCS_AGD84_AMG_zone_57"},
560    {20358, "PCS_AGD84_AMG_zone_58"},
561    {20437, "PCS_Ain_el_Abd_UTM_zone_37N"},
562    {20438, "PCS_Ain_el_Abd_UTM_zone_38N"},
563    {20439, "PCS_Ain_el_Abd_UTM_zone_39N"},
564    {20499, "PCS_Ain_el_Abd_Bahrain_Grid"},
565    {20538, "PCS_Afgooye_UTM_zone_38N"},
566    {20539, "PCS_Afgooye_UTM_zone_39N"},
567    {20700, "PCS_Lisbon_Portugese_Grid"},
568    {20822, "PCS_Aratu_UTM_zone_22S"},
569    {20823, "PCS_Aratu_UTM_zone_23S"},
570    {20824, "PCS_Aratu_UTM_zone_24S"},
571    {20973, "PCS_Arc_1950_Lo13"},
572    {20975, "PCS_Arc_1950_Lo15"},
573    {20977, "PCS_Arc_1950_Lo17"},
574    {20979, "PCS_Arc_1950_Lo19"},
575    {20981, "PCS_Arc_1950_Lo21"},
576    {20983, "PCS_Arc_1950_Lo23"},
577    {20985, "PCS_Arc_1950_Lo25"},
578    {20987, "PCS_Arc_1950_Lo27"},
579    {20989, "PCS_Arc_1950_Lo29"},
580    {20991, "PCS_Arc_1950_Lo31"},
581    {20993, "PCS_Arc_1950_Lo33"},
582    {20995, "PCS_Arc_1950_Lo35"},
583    {21100, "PCS_Batavia_NEIEZ"},
584    {21148, "PCS_Batavia_UTM_zone_48S"},
585    {21149, "PCS_Batavia_UTM_zone_49S"},
586    {21150, "PCS_Batavia_UTM_zone_50S"},
587    {21413, "PCS_Beijing_Gauss_zone_13"},
588    {21414, "PCS_Beijing_Gauss_zone_14"},
589    {21415, "PCS_Beijing_Gauss_zone_15"},
590    {21416, "PCS_Beijing_Gauss_zone_16"},
591    {21417, "PCS_Beijing_Gauss_zone_17"},
592    {21418, "PCS_Beijing_Gauss_zone_18"},
593    {21419, "PCS_Beijing_Gauss_zone_19"},
594    {21420, "PCS_Beijing_Gauss_zone_20"},
595    {21421, "PCS_Beijing_Gauss_zone_21"},
596    {21422, "PCS_Beijing_Gauss_zone_22"},
597    {21423, "PCS_Beijing_Gauss_zone_23"},
598    {21473, "PCS_Beijing_Gauss_13N"},
599    {21474, "PCS_Beijing_Gauss_14N"},
600    {21475, "PCS_Beijing_Gauss_15N"},
601    {21476, "PCS_Beijing_Gauss_16N"},
602    {21477, "PCS_Beijing_Gauss_17N"},
603    {21478, "PCS_Beijing_Gauss_18N"},
604    {21479, "PCS_Beijing_Gauss_19N"},
605    {21480, "PCS_Beijing_Gauss_20N"},
606    {21481, "PCS_Beijing_Gauss_21N"},
607    {21482, "PCS_Beijing_Gauss_22N"},
608    {21483, "PCS_Beijing_Gauss_23N"},
609    {21500, "PCS_Belge_Lambert_50"},
610    {21790, "PCS_Bern_1898_Swiss_Old"},
611    {21817, "PCS_Bogota_UTM_zone_17N"},
612    {21818, "PCS_Bogota_UTM_zone_18N"},
613    {21891, "PCS_Bogota_Colombia_3W"},
614    {21892, "PCS_Bogota_Colombia_Bogota"},
615    {21893, "PCS_Bogota_Colombia_3E"},
616    {21894, "PCS_Bogota_Colombia_6E"},
617    {22032, "PCS_Camacupa_UTM_32S"},
618    {22033, "PCS_Camacupa_UTM_33S"},
619    {22191, "PCS_C_Inchauspe_Argentina_1"},
620    {22192, "PCS_C_Inchauspe_Argentina_2"},
621    {22193, "PCS_C_Inchauspe_Argentina_3"},
622    {22194, "PCS_C_Inchauspe_Argentina_4"},
623    {22195, "PCS_C_Inchauspe_Argentina_5"},
624    {22196, "PCS_C_Inchauspe_Argentina_6"},
625    {22197, "PCS_C_Inchauspe_Argentina_7"},
626    {22332, "PCS_Carthage_UTM_zone_32N"},
627    {22391, "PCS_Carthage_Nord_Tunisie"},
628    {22392, "PCS_Carthage_Sud_Tunisie"},
629    {22523, "PCS_Corrego_Alegre_UTM_23S"},
630    {22524, "PCS_Corrego_Alegre_UTM_24S"},
631    {22832, "PCS_Douala_UTM_zone_32N"},
632    {22992, "PCS_Egypt_1907_Red_Belt"},
633    {22993, "PCS_Egypt_1907_Purple_Belt"},
634    {22994, "PCS_Egypt_1907_Ext_Purple"},
635    {23028, "PCS_ED50_UTM_zone_28N"},
636    {23029, "PCS_ED50_UTM_zone_29N"},
637    {23030, "PCS_ED50_UTM_zone_30N"},
638    {23031, "PCS_ED50_UTM_zone_31N"},
639    {23032, "PCS_ED50_UTM_zone_32N"},
640    {23033, "PCS_ED50_UTM_zone_33N"},
641    {23034, "PCS_ED50_UTM_zone_34N"},
642    {23035, "PCS_ED50_UTM_zone_35N"},
643    {23036, "PCS_ED50_UTM_zone_36N"},
644    {23037, "PCS_ED50_UTM_zone_37N"},
645    {23038, "PCS_ED50_UTM_zone_38N"},
646    {23239, "PCS_Fahud_UTM_zone_39N"},
647    {23240, "PCS_Fahud_UTM_zone_40N"},
648    {23433, "PCS_Garoua_UTM_zone_33N"},
649    {23846, "PCS_ID74_UTM_zone_46N"},
650    {23847, "PCS_ID74_UTM_zone_47N"},
651    {23848, "PCS_ID74_UTM_zone_48N"},
652    {23849, "PCS_ID74_UTM_zone_49N"},
653    {23850, "PCS_ID74_UTM_zone_50N"},
654    {23851, "PCS_ID74_UTM_zone_51N"},
655    {23852, "PCS_ID74_UTM_zone_52N"},
656    {23853, "PCS_ID74_UTM_zone_53N"},
657    {23886, "PCS_ID74_UTM_zone_46S"},
658    {23887, "PCS_ID74_UTM_zone_47S"},
659    {23888, "PCS_ID74_UTM_zone_48S"},
660    {23889, "PCS_ID74_UTM_zone_49S"},
661    {23890, "PCS_ID74_UTM_zone_50S"},
662    {23891, "PCS_ID74_UTM_zone_51S"},
663    {23892, "PCS_ID74_UTM_zone_52S"},
664    {23893, "PCS_ID74_UTM_zone_53S"},
665    {23894, "PCS_ID74_UTM_zone_54S"},
666    {23947, "PCS_Indian_1954_UTM_47N"},
667    {23948, "PCS_Indian_1954_UTM_48N"},
668    {24047, "PCS_Indian_1975_UTM_47N"},
669    {24048, "PCS_Indian_1975_UTM_48N"},
670    {24100, "PCS_Jamaica_1875_Old_Grid"},
671    {24200, "PCS_JAD69_Jamaica_Grid"},
672    {24370, "PCS_Kalianpur_India_0"},
673    {24371, "PCS_Kalianpur_India_I"},
674    {24372, "PCS_Kalianpur_India_IIa"},
675    {24373, "PCS_Kalianpur_India_IIIa"},
676    {24374, "PCS_Kalianpur_India_IVa"},
677    {24382, "PCS_Kalianpur_India_IIb"},
678    {24383, "PCS_Kalianpur_India_IIIb"},
679    {24384, "PCS_Kalianpur_India_IVb"},
680    {24500, "PCS_Kertau_Singapore_Grid"},
681    {24547, "PCS_Kertau_UTM_zone_47N"},
682    {24548, "PCS_Kertau_UTM_zone_48N"},
683    {24720, "PCS_La_Canoa_UTM_zone_20N"},
684    {24721, "PCS_La_Canoa_UTM_zone_21N"},
685    {24818, "PCS_PSAD56_UTM_zone_18N"},
686    {24819, "PCS_PSAD56_UTM_zone_19N"},
687    {24820, "PCS_PSAD56_UTM_zone_20N"},
688    {24821, "PCS_PSAD56_UTM_zone_21N"},
689    {24877, "PCS_PSAD56_UTM_zone_17S"},
690    {24878, "PCS_PSAD56_UTM_zone_18S"},
691    {24879, "PCS_PSAD56_UTM_zone_19S"},
692    {24880, "PCS_PSAD56_UTM_zone_20S"},
693    {24891, "PCS_PSAD56_Peru_west_zone"},
694    {24892, "PCS_PSAD56_Peru_central"},
695    {24893, "PCS_PSAD56_Peru_east_zone"},
696    {25000, "PCS_Leigon_Ghana_Grid"},
697    {25231, "PCS_Lome_UTM_zone_31N"},
698    {25391, "PCS_Luzon_Philippines_I"},
699    {25392, "PCS_Luzon_Philippines_II"},
700    {25393, "PCS_Luzon_Philippines_III"},
701    {25394, "PCS_Luzon_Philippines_IV"},
702    {25395, "PCS_Luzon_Philippines_V"},
703    {25700, "PCS_Makassar_NEIEZ"},
704    {25932, "PCS_Malongo_1987_UTM_32S"},
705    {26191, "PCS_Merchich_Nord_Maroc"},
706    {26192, "PCS_Merchich_Sud_Maroc"},
707    {26193, "PCS_Merchich_Sahara"},
708    {26237, "PCS_Massawa_UTM_zone_37N"},
709    {26331, "PCS_Minna_UTM_zone_31N"},
710    {26332, "PCS_Minna_UTM_zone_32N"},
711    {26391, "PCS_Minna_Nigeria_West"},
712    {26392, "PCS_Minna_Nigeria_Mid_Belt"},
713    {26393, "PCS_Minna_Nigeria_East"},
714    {26432, "PCS_Mhast_UTM_zone_32S"},
715    {26591, "PCS_Monte_Mario_Italy_1"},
716    {26592, "PCS_Monte_Mario_Italy_2"},
717    {26632, "PCS_M_poraloko_UTM_32N"},
718    {26692, "PCS_M_poraloko_UTM_32S"},
719    {26703, "PCS_NAD27_UTM_zone_3N"},
720    {26704, "PCS_NAD27_UTM_zone_4N"},
721    {26705, "PCS_NAD27_UTM_zone_5N"},
722    {26706, "PCS_NAD27_UTM_zone_6N"},
723    {26707, "PCS_NAD27_UTM_zone_7N"},
724    {26708, "PCS_NAD27_UTM_zone_8N"},
725    {26709, "PCS_NAD27_UTM_zone_9N"},
726    {26710, "PCS_NAD27_UTM_zone_10N"},
727    {26711, "PCS_NAD27_UTM_zone_11N"},
728    {26712, "PCS_NAD27_UTM_zone_12N"},
729    {26713, "PCS_NAD27_UTM_zone_13N"},
730    {26714, "PCS_NAD27_UTM_zone_14N"},
731    {26715, "PCS_NAD27_UTM_zone_15N"},
732    {26716, "PCS_NAD27_UTM_zone_16N"},
733    {26717, "PCS_NAD27_UTM_zone_17N"},
734    {26718, "PCS_NAD27_UTM_zone_18N"},
735    {26719, "PCS_NAD27_UTM_zone_19N"},
736    {26720, "PCS_NAD27_UTM_zone_20N"},
737    {26721, "PCS_NAD27_UTM_zone_21N"},
738    {26722, "PCS_NAD27_UTM_zone_22N"},
739    {26729, "PCS_NAD27_Alabama_East"},
740    {26730, "PCS_NAD27_Alabama_West"},
741    {26731, "PCS_NAD27_Alaska_zone_1"},
742    {26732, "PCS_NAD27_Alaska_zone_2"},
743    {26733, "PCS_NAD27_Alaska_zone_3"},
744    {26734, "PCS_NAD27_Alaska_zone_4"},
745    {26735, "PCS_NAD27_Alaska_zone_5"},
746    {26736, "PCS_NAD27_Alaska_zone_6"},
747    {26737, "PCS_NAD27_Alaska_zone_7"},
748    {26738, "PCS_NAD27_Alaska_zone_8"},
749    {26739, "PCS_NAD27_Alaska_zone_9"},
750    {26740, "PCS_NAD27_Alaska_zone_10"},
751    {26741, "PCS_NAD27_California_I"},
752    {26742, "PCS_NAD27_California_II"},
753    {26743, "PCS_NAD27_California_III"},
754    {26744, "PCS_NAD27_California_IV"},
755    {26745, "PCS_NAD27_California_V"},
756    {26746, "PCS_NAD27_California_VI"},
757    {26747, "PCS_NAD27_California_VII"},
758    {26748, "PCS_NAD27_Arizona_East"},
759    {26749, "PCS_NAD27_Arizona_Central"},
760    {26750, "PCS_NAD27_Arizona_West"},
761    {26751, "PCS_NAD27_Arkansas_North"},
762    {26752, "PCS_NAD27_Arkansas_South"},
763    {26753, "PCS_NAD27_Colorado_North"},
764    {26754, "PCS_NAD27_Colorado_Central"},
765    {26755, "PCS_NAD27_Colorado_South"},
766    {26756, "PCS_NAD27_Connecticut"},
767    {26757, "PCS_NAD27_Delaware"},
768    {26758, "PCS_NAD27_Florida_East"},
769    {26759, "PCS_NAD27_Florida_West"},
770    {26760, "PCS_NAD27_Florida_North"},
771    {26761, "PCS_NAD27_Hawaii_zone_1"},
772    {26762, "PCS_NAD27_Hawaii_zone_2"},
773    {26763, "PCS_NAD27_Hawaii_zone_3"},
774    {26764, "PCS_NAD27_Hawaii_zone_4"},
775    {26765, "PCS_NAD27_Hawaii_zone_5"},
776    {26766, "PCS_NAD27_Georgia_East"},
777    {26767, "PCS_NAD27_Georgia_West"},
778    {26768, "PCS_NAD27_Idaho_East"},
779    {26769, "PCS_NAD27_Idaho_Central"},
780    {26770, "PCS_NAD27_Idaho_West"},
781    {26771, "PCS_NAD27_Illinois_East"},
782    {26772, "PCS_NAD27_Illinois_West"},
783    {26773, "PCS_NAD27_Indiana_East"},
784    {26774, "PCS_NAD27_BLM_14N_feet"},
785    {26774, "PCS_NAD27_Indiana_West"},
786    {26775, "PCS_NAD27_BLM_15N_feet"},
787    {26775, "PCS_NAD27_Iowa_North"},
788    {26776, "PCS_NAD27_BLM_16N_feet"},
789    {26776, "PCS_NAD27_Iowa_South"},
790    {26777, "PCS_NAD27_BLM_17N_feet"},
791    {26777, "PCS_NAD27_Kansas_North"},
792    {26778, "PCS_NAD27_Kansas_South"},
793    {26779, "PCS_NAD27_Kentucky_North"},
794    {26780, "PCS_NAD27_Kentucky_South"},
795    {26781, "PCS_NAD27_Louisiana_North"},
796    {26782, "PCS_NAD27_Louisiana_South"},
797    {26783, "PCS_NAD27_Maine_East"},
798    {26784, "PCS_NAD27_Maine_West"},
799    {26785, "PCS_NAD27_Maryland"},
800    {26786, "PCS_NAD27_Massachusetts"},
801    {26787, "PCS_NAD27_Massachusetts_Is"},
802    {26788, "PCS_NAD27_Michigan_North"},
803    {26789, "PCS_NAD27_Michigan_Central"},
804    {26790, "PCS_NAD27_Michigan_South"},
805    {26791, "PCS_NAD27_Minnesota_North"},
806    {26792, "PCS_NAD27_Minnesota_Cent"},
807    {26793, "PCS_NAD27_Minnesota_South"},
808    {26794, "PCS_NAD27_Mississippi_East"},
809    {26795, "PCS_NAD27_Mississippi_West"},
810    {26796, "PCS_NAD27_Missouri_East"},
811    {26797, "PCS_NAD27_Missouri_Central"},
812    {26798, "PCS_NAD27_Missouri_West"},
813    {26801, "PCS_NAD_Michigan_Michigan_East"},
814    {26802, "PCS_NAD_Michigan_Michigan_Old_Central"},
815    {26803, "PCS_NAD_Michigan_Michigan_West"},
816    {26903, "PCS_NAD83_UTM_zone_3N"},
817    {26904, "PCS_NAD83_UTM_zone_4N"},
818    {26905, "PCS_NAD83_UTM_zone_5N"},
819    {26906, "PCS_NAD83_UTM_zone_6N"},
820    {26907, "PCS_NAD83_UTM_zone_7N"},
821    {26908, "PCS_NAD83_UTM_zone_8N"},
822    {26909, "PCS_NAD83_UTM_zone_9N"},
823    {26910, "PCS_NAD83_UTM_zone_10N"},
824    {26911, "PCS_NAD83_UTM_zone_11N"},
825    {26912, "PCS_NAD83_UTM_zone_12N"},
826    {26913, "PCS_NAD83_UTM_zone_13N"},
827    {26914, "PCS_NAD83_UTM_zone_14N"},
828    {26915, "PCS_NAD83_UTM_zone_15N"},
829    {26916, "PCS_NAD83_UTM_zone_16N"},
830    {26917, "PCS_NAD83_UTM_zone_17N"},
831    {26918, "PCS_NAD83_UTM_zone_18N"},
832    {26919, "PCS_NAD83_UTM_zone_19N"},
833    {26920, "PCS_NAD83_UTM_zone_20N"},
834    {26921, "PCS_NAD83_UTM_zone_21N"},
835    {26922, "PCS_NAD83_UTM_zone_22N"},
836    {26923, "PCS_NAD83_UTM_zone_23N"},
837    {26929, "PCS_NAD83_Alabama_East"},
838    {26930, "PCS_NAD83_Alabama_West"},
839    {26931, "PCS_NAD83_Alaska_zone_1"},
840    {26932, "PCS_NAD83_Alaska_zone_2"},
841    {26933, "PCS_NAD83_Alaska_zone_3"},
842    {26934, "PCS_NAD83_Alaska_zone_4"},
843    {26935, "PCS_NAD83_Alaska_zone_5"},
844    {26936, "PCS_NAD83_Alaska_zone_6"},
845    {26937, "PCS_NAD83_Alaska_zone_7"},
846    {26938, "PCS_NAD83_Alaska_zone_8"},
847    {26939, "PCS_NAD83_Alaska_zone_9"},
848    {26940, "PCS_NAD83_Alaska_zone_10"},
849    {26941, "PCS_NAD83_California_1"},
850    {26942, "PCS_NAD83_California_2"},
851    {26943, "PCS_NAD83_California_3"},
852    {26944, "PCS_NAD83_California_4"},
853    {26945, "PCS_NAD83_California_5"},
854    {26946, "PCS_NAD83_California_6"},
855    {26948, "PCS_NAD83_Arizona_East"},
856    {26949, "PCS_NAD83_Arizona_Central"},
857    {26950, "PCS_NAD83_Arizona_West"},
858    {26951, "PCS_NAD83_Arkansas_North"},
859    {26952, "PCS_NAD83_Arkansas_South"},
860    {26953, "PCS_NAD83_Colorado_North"},
861    {26954, "PCS_NAD83_Colorado_Central"},
862    {26955, "PCS_NAD83_Colorado_South"},
863    {26956, "PCS_NAD83_Connecticut"},
864    {26957, "PCS_NAD83_Delaware"},
865    {26958, "PCS_NAD83_Florida_East"},
866    {26959, "PCS_NAD83_Florida_West"},
867    {26960, "PCS_NAD83_Florida_North"},
868    {26961, "PCS_NAD83_Hawaii_zone_1"},
869    {26962, "PCS_NAD83_Hawaii_zone_2"},
870    {26963, "PCS_NAD83_Hawaii_zone_3"},
871    {26964, "PCS_NAD83_Hawaii_zone_4"},
872    {26965, "PCS_NAD83_Hawaii_zone_5"},
873    {26966, "PCS_NAD83_Georgia_East"},
874    {26967, "PCS_NAD83_Georgia_West"},
875    {26968, "PCS_NAD83_Idaho_East"},
876    {26969, "PCS_NAD83_Idaho_Central"},
877    {26970, "PCS_NAD83_Idaho_West"},
878    {26971, "PCS_NAD83_Illinois_East"},
879    {26972, "PCS_NAD83_Illinois_West"},
880    {26973, "PCS_NAD83_Indiana_East"},
881    {26974, "PCS_NAD83_Indiana_West"},
882    {26975, "PCS_NAD83_Iowa_North"},
883    {26976, "PCS_NAD83_Iowa_South"},
884    {26977, "PCS_NAD83_Kansas_North"},
885    {26978, "PCS_NAD83_Kansas_South"},
886    {26979, "PCS_NAD83_Kentucky_North"},
887    {26980, "PCS_NAD83_Kentucky_South"},
888    {26981, "PCS_NAD83_Louisiana_North"},
889    {26982, "PCS_NAD83_Louisiana_South"},
890    {26983, "PCS_NAD83_Maine_East"},
891    {26984, "PCS_NAD83_Maine_West"},
892    {26985, "PCS_NAD83_Maryland"},
893    {26986, "PCS_NAD83_Massachusetts"},
894    {26987, "PCS_NAD83_Massachusetts_Is"},
895    {26988, "PCS_NAD83_Michigan_North"},
896    {26989, "PCS_NAD83_Michigan_Central"},
897    {26990, "PCS_NAD83_Michigan_South"},
898    {26991, "PCS_NAD83_Minnesota_North"},
899    {26992, "PCS_NAD83_Minnesota_Cent"},
900    {26993, "PCS_NAD83_Minnesota_South"},
901    {26994, "PCS_NAD83_Mississippi_East"},
902    {26995, "PCS_NAD83_Mississippi_West"},
903    {26996, "PCS_NAD83_Missouri_East"},
904    {26997, "PCS_NAD83_Missouri_Central"},
905    {26998, "PCS_NAD83_Missouri_West"},
906    {27038, "PCS_Nahrwan_1967_UTM_38N"},
907    {27039, "PCS_Nahrwan_1967_UTM_39N"},
908    {27040, "PCS_Nahrwan_1967_UTM_40N"},
909    {27120, "PCS_Naparima_UTM_20N"},
910    {27200, "PCS_GD49_NZ_Map_Grid"},
911    {27291, "PCS_GD49_North_Island_Grid"},
912    {27292, "PCS_GD49_South_Island_Grid"},
913    {27429, "PCS_Datum_73_UTM_zone_29N"},
914    {27500, "PCS_ATF_Nord_de_Guerre"},
915    {27581, "PCS_NTF_France_I"},
916    {27582, "PCS_NTF_France_II"},
917    {27583, "PCS_NTF_France_III"},
918    {27591, "PCS_NTF_Nord_France"},
919    {27592, "PCS_NTF_Centre_France"},
920    {27593, "PCS_NTF_Sud_France"},
921    {27700, "PCS_British_National_Grid"},
922    {28232, "PCS_Point_Noire_UTM_32S"},
923    {28348, "PCS_GDA94_MGA_zone_48"},
924    {28349, "PCS_GDA94_MGA_zone_49"},
925    {28350, "PCS_GDA94_MGA_zone_50"},
926    {28351, "PCS_GDA94_MGA_zone_51"},
927    {28352, "PCS_GDA94_MGA_zone_52"},
928    {28353, "PCS_GDA94_MGA_zone_53"},
929    {28354, "PCS_GDA94_MGA_zone_54"},
930    {28355, "PCS_GDA94_MGA_zone_55"},
931    {28356, "PCS_GDA94_MGA_zone_56"},
932    {28357, "PCS_GDA94_MGA_zone_57"},
933    {28358, "PCS_GDA94_MGA_zone_58"},
934    {28404, "PCS_Pulkovo_Gauss_zone_4"},
935    {28405, "PCS_Pulkovo_Gauss_zone_5"},
936    {28406, "PCS_Pulkovo_Gauss_zone_6"},
937    {28407, "PCS_Pulkovo_Gauss_zone_7"},
938    {28408, "PCS_Pulkovo_Gauss_zone_8"},
939    {28409, "PCS_Pulkovo_Gauss_zone_9"},
940    {28410, "PCS_Pulkovo_Gauss_zone_10"},
941    {28411, "PCS_Pulkovo_Gauss_zone_11"},
942    {28412, "PCS_Pulkovo_Gauss_zone_12"},
943    {28413, "PCS_Pulkovo_Gauss_zone_13"},
944    {28414, "PCS_Pulkovo_Gauss_zone_14"},
945    {28415, "PCS_Pulkovo_Gauss_zone_15"},
946    {28416, "PCS_Pulkovo_Gauss_zone_16"},
947    {28417, "PCS_Pulkovo_Gauss_zone_17"},
948    {28418, "PCS_Pulkovo_Gauss_zone_18"},
949    {28419, "PCS_Pulkovo_Gauss_zone_19"},
950    {28420, "PCS_Pulkovo_Gauss_zone_20"},
951    {28421, "PCS_Pulkovo_Gauss_zone_21"},
952    {28422, "PCS_Pulkovo_Gauss_zone_22"},
953    {28423, "PCS_Pulkovo_Gauss_zone_23"},
954    {28424, "PCS_Pulkovo_Gauss_zone_24"},
955    {28425, "PCS_Pulkovo_Gauss_zone_25"},
956    {28426, "PCS_Pulkovo_Gauss_zone_26"},
957    {28427, "PCS_Pulkovo_Gauss_zone_27"},
958    {28428, "PCS_Pulkovo_Gauss_zone_28"},
959    {28429, "PCS_Pulkovo_Gauss_zone_29"},
960    {28430, "PCS_Pulkovo_Gauss_zone_30"},
961    {28431, "PCS_Pulkovo_Gauss_zone_31"},
962    {28432, "PCS_Pulkovo_Gauss_zone_32"},
963    {28464, "PCS_Pulkovo_Gauss_4N"},
964    {28465, "PCS_Pulkovo_Gauss_5N"},
965    {28466, "PCS_Pulkovo_Gauss_6N"},
966    {28467, "PCS_Pulkovo_Gauss_7N"},
967    {28468, "PCS_Pulkovo_Gauss_8N"},
968    {28469, "PCS_Pulkovo_Gauss_9N"},
969    {28470, "PCS_Pulkovo_Gauss_10N"},
970    {28471, "PCS_Pulkovo_Gauss_11N"},
971    {28472, "PCS_Pulkovo_Gauss_12N"},
972    {28473, "PCS_Pulkovo_Gauss_13N"},
973    {28474, "PCS_Pulkovo_Gauss_14N"},
974    {28475, "PCS_Pulkovo_Gauss_15N"},
975    {28476, "PCS_Pulkovo_Gauss_16N"},
976    {28477, "PCS_Pulkovo_Gauss_17N"},
977    {28478, "PCS_Pulkovo_Gauss_18N"},
978    {28479, "PCS_Pulkovo_Gauss_19N"},
979    {28480, "PCS_Pulkovo_Gauss_20N"},
980    {28481, "PCS_Pulkovo_Gauss_21N"},
981    {28482, "PCS_Pulkovo_Gauss_22N"},
982    {28483, "PCS_Pulkovo_Gauss_23N"},
983    {28484, "PCS_Pulkovo_Gauss_24N"},
984    {28485, "PCS_Pulkovo_Gauss_25N"},
985    {28486, "PCS_Pulkovo_Gauss_26N"},
986    {28487, "PCS_Pulkovo_Gauss_27N"},
987    {28488, "PCS_Pulkovo_Gauss_28N"},
988    {28489, "PCS_Pulkovo_Gauss_29N"},
989    {28490, "PCS_Pulkovo_Gauss_30N"},
990    {28491, "PCS_Pulkovo_Gauss_31N"},
991    {28492, "PCS_Pulkovo_Gauss_32N"},
992    {28600, "PCS_Qatar_National_Grid"},
993    {28991, "PCS_RD_Netherlands_Old"},
994    {28992, "PCS_RD_Netherlands_New"},
995    {29118, "PCS_SAD69_UTM_zone_18N"},
996    {29119, "PCS_SAD69_UTM_zone_19N"},
997    {29120, "PCS_SAD69_UTM_zone_20N"},
998    {29121, "PCS_SAD69_UTM_zone_21N"},
999    {29122, "PCS_SAD69_UTM_zone_22N"},
1000    {29177, "PCS_SAD69_UTM_zone_17S"},
1001    {29178, "PCS_SAD69_UTM_zone_18S"},
1002    {29179, "PCS_SAD69_UTM_zone_19S"},
1003    {29180, "PCS_SAD69_UTM_zone_20S"},
1004    {29181, "PCS_SAD69_UTM_zone_21S"},
1005    {29182, "PCS_SAD69_UTM_zone_22S"},
1006    {29183, "PCS_SAD69_UTM_zone_23S"},
1007    {29184, "PCS_SAD69_UTM_zone_24S"},
1008    {29185, "PCS_SAD69_UTM_zone_25S"},
1009    {29220, "PCS_Sapper_Hill_UTM_20S"},
1010    {29221, "PCS_Sapper_Hill_UTM_21S"},
1011    {29333, "PCS_Schwarzeck_UTM_33S"},
1012    {29635, "PCS_Sudan_UTM_zone_35N"},
1013    {29636, "PCS_Sudan_UTM_zone_36N"},
1014    {29700, "PCS_Tananarive_Laborde"},
1015    {29738, "PCS_Tananarive_UTM_38S"},
1016    {29739, "PCS_Tananarive_UTM_39S"},
1017    {29800, "PCS_Timbalai_1948_Borneo"},
1018    {29849, "PCS_Timbalai_1948_UTM_49N"},
1019    {29850, "PCS_Timbalai_1948_UTM_50N"},
1020    {29900, "PCS_TM65_Irish_Nat_Grid"},
1021    {30200, "PCS_Trinidad_1903_Trinidad"},
1022    {30339, "PCS_TC_1948_UTM_zone_39N"},
1023    {30340, "PCS_TC_1948_UTM_zone_40N"},
1024    {30491, "PCS_Voirol_N_Algerie_ancien"},
1025    {30492, "PCS_Voirol_S_Algerie_ancien"},
1026    {30591, "PCS_Voirol_Unifie_N_Algerie"},
1027    {30592, "PCS_Voirol_Unifie_S_Algerie"},
1028    {30600, "PCS_Bern_1938_Swiss_New"},
1029    {30729, "PCS_Nord_Sahara_UTM_29N"},
1030    {30730, "PCS_Nord_Sahara_UTM_30N"},
1031    {30731, "PCS_Nord_Sahara_UTM_31N"},
1032    {30732, "PCS_Nord_Sahara_UTM_32N"},
1033    {31028, "PCS_Yoff_UTM_zone_28N"},
1034    {31121, "PCS_Zanderij_UTM_zone_21N"},
1035    {31291, "PCS_MGI_Austria_West"},
1036    {31292, "PCS_MGI_Austria_Central"},
1037    {31293, "PCS_MGI_Austria_East"},
1038    {31300, "PCS_Belge_Lambert_72"},
1039    {31491, "PCS_DHDN_Germany_zone_1"},
1040    {31492, "PCS_DHDN_Germany_zone_2"},
1041    {31493, "PCS_DHDN_Germany_zone_3"},
1042    {31494, "PCS_DHDN_Germany_zone_4"},
1043    {31495, "PCS_DHDN_Germany_zone_5"},
1044    {32001, "PCS_NAD27_Montana_North"},
1045    {32002, "PCS_NAD27_Montana_Central"},
1046    {32003, "PCS_NAD27_Montana_South"},
1047    {32005, "PCS_NAD27_Nebraska_North"},
1048    {32006, "PCS_NAD27_Nebraska_South"},
1049    {32007, "PCS_NAD27_Nevada_East"},
1050    {32008, "PCS_NAD27_Nevada_Central"},
1051    {32009, "PCS_NAD27_Nevada_West"},
1052    {32010, "PCS_NAD27_New_Hampshire"},
1053    {32011, "PCS_NAD27_New_Jersey"},
1054    {32012, "PCS_NAD27_New_Mexico_East"},
1055    {32013, "PCS_NAD27_New_Mexico_Cent"},
1056    {32014, "PCS_NAD27_New_Mexico_West"},
1057    {32015, "PCS_NAD27_New_York_East"},
1058    {32016, "PCS_NAD27_New_York_Central"},
1059    {32017, "PCS_NAD27_New_York_West"},
1060    {32018, "PCS_NAD27_New_York_Long_Is"},
1061    {32019, "PCS_NAD27_North_Carolina"},
1062    {32020, "PCS_NAD27_North_Dakota_N"},
1063    {32021, "PCS_NAD27_North_Dakota_S"},
1064    {32022, "PCS_NAD27_Ohio_North"},
1065    {32023, "PCS_NAD27_Ohio_South"},
1066    {32024, "PCS_NAD27_Oklahoma_North"},
1067    {32025, "PCS_NAD27_Oklahoma_South"},
1068    {32026, "PCS_NAD27_Oregon_North"},
1069    {32027, "PCS_NAD27_Oregon_South"},
1070    {32028, "PCS_NAD27_Pennsylvania_N"},
1071    {32029, "PCS_NAD27_Pennsylvania_S"},
1072    {32030, "PCS_NAD27_Rhode_Island"},
1073    {32031, "PCS_NAD27_South_Carolina_N"},
1074    {32033, "PCS_NAD27_South_Carolina_S"},
1075    {32034, "PCS_NAD27_South_Dakota_N"},
1076    {32035, "PCS_NAD27_South_Dakota_S"},
1077    {32036, "PCS_NAD27_Tennessee"},
1078    {32037, "PCS_NAD27_Texas_North"},
1079    {32038, "PCS_NAD27_Texas_North_Cen"},
1080    {32039, "PCS_NAD27_Texas_Central"},
1081    {32040, "PCS_NAD27_Texas_South_Cen"},
1082    {32041, "PCS_NAD27_Texas_South"},
1083    {32042, "PCS_NAD27_Utah_North"},
1084    {32043, "PCS_NAD27_Utah_Central"},
1085    {32044, "PCS_NAD27_Utah_South"},
1086    {32045, "PCS_NAD27_Vermont"},
1087    {32046, "PCS_NAD27_Virginia_North"},
1088    {32047, "PCS_NAD27_Virginia_South"},
1089    {32048, "PCS_NAD27_Washington_North"},
1090    {32049, "PCS_NAD27_Washington_South"},
1091    {32050, "PCS_NAD27_West_Virginia_N"},
1092    {32051, "PCS_NAD27_West_Virginia_S"},
1093    {32052, "PCS_NAD27_Wisconsin_North"},
1094    {32053, "PCS_NAD27_Wisconsin_Cen"},
1095    {32054, "PCS_NAD27_Wisconsin_South"},
1096    {32055, "PCS_NAD27_Wyoming_East"},
1097    {32056, "PCS_NAD27_Wyoming_E_Cen"},
1098    {32057, "PCS_NAD27_Wyoming_W_Cen"},
1099    {32058, "PCS_NAD27_Wyoming_West"},
1100    {32059, "PCS_NAD27_Puerto_Rico"},
1101    {32060, "PCS_NAD27_St_Croix"},
1102    {32100, "PCS_NAD83_Montana"},
1103    {32104, "PCS_NAD83_Nebraska"},
1104    {32107, "PCS_NAD83_Nevada_East"},
1105    {32108, "PCS_NAD83_Nevada_Central"},
1106    {32109, "PCS_NAD83_Nevada_West"},
1107    {32110, "PCS_NAD83_New_Hampshire"},
1108    {32111, "PCS_NAD83_New_Jersey"},
1109    {32112, "PCS_NAD83_New_Mexico_East"},
1110    {32113, "PCS_NAD83_New_Mexico_Cent"},
1111    {32114, "PCS_NAD83_New_Mexico_West"},
1112    {32115, "PCS_NAD83_New_York_East"},
1113    {32116, "PCS_NAD83_New_York_Central"},
1114    {32117, "PCS_NAD83_New_York_West"},
1115    {32118, "PCS_NAD83_New_York_Long_Is"},
1116    {32119, "PCS_NAD83_North_Carolina"},
1117    {32120, "PCS_NAD83_North_Dakota_N"},
1118    {32121, "PCS_NAD83_North_Dakota_S"},
1119    {32122, "PCS_NAD83_Ohio_North"},
1120    {32123, "PCS_NAD83_Ohio_South"},
1121    {32124, "PCS_NAD83_Oklahoma_North"},
1122    {32125, "PCS_NAD83_Oklahoma_South"},
1123    {32126, "PCS_NAD83_Oregon_North"},
1124    {32127, "PCS_NAD83_Oregon_South"},
1125    {32128, "PCS_NAD83_Pennsylvania_N"},
1126    {32129, "PCS_NAD83_Pennsylvania_S"},
1127    {32130, "PCS_NAD83_Rhode_Island"},
1128    {32133, "PCS_NAD83_South_Carolina"},
1129    {32134, "PCS_NAD83_South_Dakota_N"},
1130    {32135, "PCS_NAD83_South_Dakota_S"},
1131    {32136, "PCS_NAD83_Tennessee"},
1132    {32137, "PCS_NAD83_Texas_North"},
1133    {32138, "PCS_NAD83_Texas_North_Cen"},
1134    {32139, "PCS_NAD83_Texas_Central"},
1135    {32140, "PCS_NAD83_Texas_South_Cen"},
1136    {32141, "PCS_NAD83_Texas_South"},
1137    {32142, "PCS_NAD83_Utah_North"},
1138    {32143, "PCS_NAD83_Utah_Central"},
1139    {32144, "PCS_NAD83_Utah_South"},
1140    {32145, "PCS_NAD83_Vermont"},
1141    {32146, "PCS_NAD83_Virginia_North"},
1142    {32147, "PCS_NAD83_Virginia_South"},
1143    {32148, "PCS_NAD83_Washington_North"},
1144    {32149, "PCS_NAD83_Washington_South"},
1145    {32150, "PCS_NAD83_West_Virginia_N"},
1146    {32151, "PCS_NAD83_West_Virginia_S"},
1147    {32152, "PCS_NAD83_Wisconsin_North"},
1148    {32153, "PCS_NAD83_Wisconsin_Cen"},
1149    {32154, "PCS_NAD83_Wisconsin_South"},
1150    {32155, "PCS_NAD83_Wyoming_East"},
1151    {32156, "PCS_NAD83_Wyoming_E_Cen"},
1152    {32157, "PCS_NAD83_Wyoming_W_Cen"},
1153    {32158, "PCS_NAD83_Wyoming_West"},
1154    {32161, "PCS_NAD83_Puerto_Rico_Virgin_Is"},
1155    {32201, "PCS_WGS72_UTM_zone_1N"},
1156    {32202, "PCS_WGS72_UTM_zone_2N"},
1157    {32203, "PCS_WGS72_UTM_zone_3N"},
1158    {32204, "PCS_WGS72_UTM_zone_4N"},
1159    {32205, "PCS_WGS72_UTM_zone_5N"},
1160    {32206, "PCS_WGS72_UTM_zone_6N"},
1161    {32207, "PCS_WGS72_UTM_zone_7N"},
1162    {32208, "PCS_WGS72_UTM_zone_8N"},
1163    {32209, "PCS_WGS72_UTM_zone_9N"},
1164    {32210, "PCS_WGS72_UTM_zone_10N"},
1165    {32211, "PCS_WGS72_UTM_zone_11N"},
1166    {32212, "PCS_WGS72_UTM_zone_12N"},
1167    {32213, "PCS_WGS72_UTM_zone_13N"},
1168    {32214, "PCS_WGS72_UTM_zone_14N"},
1169    {32215, "PCS_WGS72_UTM_zone_15N"},
1170    {32216, "PCS_WGS72_UTM_zone_16N"},
1171    {32217, "PCS_WGS72_UTM_zone_17N"},
1172    {32218, "PCS_WGS72_UTM_zone_18N"},
1173    {32219, "PCS_WGS72_UTM_zone_19N"},
1174    {32220, "PCS_WGS72_UTM_zone_20N"},
1175    {32221, "PCS_WGS72_UTM_zone_21N"},
1176    {32222, "PCS_WGS72_UTM_zone_22N"},
1177    {32223, "PCS_WGS72_UTM_zone_23N"},
1178    {32224, "PCS_WGS72_UTM_zone_24N"},
1179    {32225, "PCS_WGS72_UTM_zone_25N"},
1180    {32226, "PCS_WGS72_UTM_zone_26N"},
1181    {32227, "PCS_WGS72_UTM_zone_27N"},
1182    {32228, "PCS_WGS72_UTM_zone_28N"},
1183    {32229, "PCS_WGS72_UTM_zone_29N"},
1184    {32230, "PCS_WGS72_UTM_zone_30N"},
1185    {32231, "PCS_WGS72_UTM_zone_31N"},
1186    {32232, "PCS_WGS72_UTM_zone_32N"},
1187    {32233, "PCS_WGS72_UTM_zone_33N"},
1188    {32234, "PCS_WGS72_UTM_zone_34N"},
1189    {32235, "PCS_WGS72_UTM_zone_35N"},
1190    {32236, "PCS_WGS72_UTM_zone_36N"},
1191    {32237, "PCS_WGS72_UTM_zone_37N"},
1192    {32238, "PCS_WGS72_UTM_zone_38N"},
1193    {32239, "PCS_WGS72_UTM_zone_39N"},
1194    {32240, "PCS_WGS72_UTM_zone_40N"},
1195    {32241, "PCS_WGS72_UTM_zone_41N"},
1196    {32242, "PCS_WGS72_UTM_zone_42N"},
1197    {32243, "PCS_WGS72_UTM_zone_43N"},
1198    {32244, "PCS_WGS72_UTM_zone_44N"},
1199    {32245, "PCS_WGS72_UTM_zone_45N"},
1200    {32246, "PCS_WGS72_UTM_zone_46N"},
1201    {32247, "PCS_WGS72_UTM_zone_47N"},
1202    {32248, "PCS_WGS72_UTM_zone_48N"},
1203    {32249, "PCS_WGS72_UTM_zone_49N"},
1204    {32250, "PCS_WGS72_UTM_zone_50N"},
1205    {32251, "PCS_WGS72_UTM_zone_51N"},
1206    {32252, "PCS_WGS72_UTM_zone_52N"},
1207    {32253, "PCS_WGS72_UTM_zone_53N"},
1208    {32254, "PCS_WGS72_UTM_zone_54N"},
1209    {32255, "PCS_WGS72_UTM_zone_55N"},
1210    {32256, "PCS_WGS72_UTM_zone_56N"},
1211    {32257, "PCS_WGS72_UTM_zone_57N"},
1212    {32258, "PCS_WGS72_UTM_zone_58N"},
1213    {32259, "PCS_WGS72_UTM_zone_59N"},
1214    {32260, "PCS_WGS72_UTM_zone_60N"},
1215    {32301, "PCS_WGS72_UTM_zone_1S"},
1216    {32302, "PCS_WGS72_UTM_zone_2S"},
1217    {32303, "PCS_WGS72_UTM_zone_3S"},
1218    {32304, "PCS_WGS72_UTM_zone_4S"},
1219    {32305, "PCS_WGS72_UTM_zone_5S"},
1220    {32306, "PCS_WGS72_UTM_zone_6S"},
1221    {32307, "PCS_WGS72_UTM_zone_7S"},
1222    {32308, "PCS_WGS72_UTM_zone_8S"},
1223    {32309, "PCS_WGS72_UTM_zone_9S"},
1224    {32310, "PCS_WGS72_UTM_zone_10S"},
1225    {32311, "PCS_WGS72_UTM_zone_11S"},
1226    {32312, "PCS_WGS72_UTM_zone_12S"},
1227    {32313, "PCS_WGS72_UTM_zone_13S"},
1228    {32314, "PCS_WGS72_UTM_zone_14S"},
1229    {32315, "PCS_WGS72_UTM_zone_15S"},
1230    {32316, "PCS_WGS72_UTM_zone_16S"},
1231    {32317, "PCS_WGS72_UTM_zone_17S"},
1232    {32318, "PCS_WGS72_UTM_zone_18S"},
1233    {32319, "PCS_WGS72_UTM_zone_19S"},
1234    {32320, "PCS_WGS72_UTM_zone_20S"},
1235    {32321, "PCS_WGS72_UTM_zone_21S"},
1236    {32322, "PCS_WGS72_UTM_zone_22S"},
1237    {32323, "PCS_WGS72_UTM_zone_23S"},
1238    {32324, "PCS_WGS72_UTM_zone_24S"},
1239    {32325, "PCS_WGS72_UTM_zone_25S"},
1240    {32326, "PCS_WGS72_UTM_zone_26S"},
1241    {32327, "PCS_WGS72_UTM_zone_27S"},
1242    {32328, "PCS_WGS72_UTM_zone_28S"},
1243    {32329, "PCS_WGS72_UTM_zone_29S"},
1244    {32330, "PCS_WGS72_UTM_zone_30S"},
1245    {32331, "PCS_WGS72_UTM_zone_31S"},
1246    {32332, "PCS_WGS72_UTM_zone_32S"},
1247    {32333, "PCS_WGS72_UTM_zone_33S"},
1248    {32334, "PCS_WGS72_UTM_zone_34S"},
1249    {32335, "PCS_WGS72_UTM_zone_35S"},
1250    {32336, "PCS_WGS72_UTM_zone_36S"},
1251    {32337, "PCS_WGS72_UTM_zone_37S"},
1252    {32338, "PCS_WGS72_UTM_zone_38S"},
1253    {32339, "PCS_WGS72_UTM_zone_39S"},
1254    {32340, "PCS_WGS72_UTM_zone_40S"},
1255    {32341, "PCS_WGS72_UTM_zone_41S"},
1256    {32342, "PCS_WGS72_UTM_zone_42S"},
1257    {32343, "PCS_WGS72_UTM_zone_43S"},
1258    {32344, "PCS_WGS72_UTM_zone_44S"},
1259    {32345, "PCS_WGS72_UTM_zone_45S"},
1260    {32346, "PCS_WGS72_UTM_zone_46S"},
1261    {32347, "PCS_WGS72_UTM_zone_47S"},
1262    {32348, "PCS_WGS72_UTM_zone_48S"},
1263    {32349, "PCS_WGS72_UTM_zone_49S"},
1264    {32350, "PCS_WGS72_UTM_zone_50S"},
1265    {32351, "PCS_WGS72_UTM_zone_51S"},
1266    {32352, "PCS_WGS72_UTM_zone_52S"},
1267    {32353, "PCS_WGS72_UTM_zone_53S"},
1268    {32354, "PCS_WGS72_UTM_zone_54S"},
1269    {32355, "PCS_WGS72_UTM_zone_55S"},
1270    {32356, "PCS_WGS72_UTM_zone_56S"},
1271    {32357, "PCS_WGS72_UTM_zone_57S"},
1272    {32358, "PCS_WGS72_UTM_zone_58S"},
1273    {32359, "PCS_WGS72_UTM_zone_59S"},
1274    {32360, "PCS_WGS72_UTM_zone_60S"},
1275    {32401, "PCS_WGS72BE_UTM_zone_1N"},
1276    {32402, "PCS_WGS72BE_UTM_zone_2N"},
1277    {32403, "PCS_WGS72BE_UTM_zone_3N"},
1278    {32404, "PCS_WGS72BE_UTM_zone_4N"},
1279    {32405, "PCS_WGS72BE_UTM_zone_5N"},
1280    {32406, "PCS_WGS72BE_UTM_zone_6N"},
1281    {32407, "PCS_WGS72BE_UTM_zone_7N"},
1282    {32408, "PCS_WGS72BE_UTM_zone_8N"},
1283    {32409, "PCS_WGS72BE_UTM_zone_9N"},
1284    {32410, "PCS_WGS72BE_UTM_zone_10N"},
1285    {32411, "PCS_WGS72BE_UTM_zone_11N"},
1286    {32412, "PCS_WGS72BE_UTM_zone_12N"},
1287    {32413, "PCS_WGS72BE_UTM_zone_13N"},
1288    {32414, "PCS_WGS72BE_UTM_zone_14N"},
1289    {32415, "PCS_WGS72BE_UTM_zone_15N"},
1290    {32416, "PCS_WGS72BE_UTM_zone_16N"},
1291    {32417, "PCS_WGS72BE_UTM_zone_17N"},
1292    {32418, "PCS_WGS72BE_UTM_zone_18N"},
1293    {32419, "PCS_WGS72BE_UTM_zone_19N"},
1294    {32420, "PCS_WGS72BE_UTM_zone_20N"},
1295    {32421, "PCS_WGS72BE_UTM_zone_21N"},
1296    {32422, "PCS_WGS72BE_UTM_zone_22N"},
1297    {32423, "PCS_WGS72BE_UTM_zone_23N"},
1298    {32424, "PCS_WGS72BE_UTM_zone_24N"},
1299    {32425, "PCS_WGS72BE_UTM_zone_25N"},
1300    {32426, "PCS_WGS72BE_UTM_zone_26N"},
1301    {32427, "PCS_WGS72BE_UTM_zone_27N"},
1302    {32428, "PCS_WGS72BE_UTM_zone_28N"},
1303    {32429, "PCS_WGS72BE_UTM_zone_29N"},
1304    {32430, "PCS_WGS72BE_UTM_zone_30N"},
1305    {32431, "PCS_WGS72BE_UTM_zone_31N"},
1306    {32432, "PCS_WGS72BE_UTM_zone_32N"},
1307    {32433, "PCS_WGS72BE_UTM_zone_33N"},
1308    {32434, "PCS_WGS72BE_UTM_zone_34N"},
1309    {32435, "PCS_WGS72BE_UTM_zone_35N"},
1310    {32436, "PCS_WGS72BE_UTM_zone_36N"},
1311    {32437, "PCS_WGS72BE_UTM_zone_37N"},
1312    {32438, "PCS_WGS72BE_UTM_zone_38N"},
1313    {32439, "PCS_WGS72BE_UTM_zone_39N"},
1314    {32440, "PCS_WGS72BE_UTM_zone_40N"},
1315    {32441, "PCS_WGS72BE_UTM_zone_41N"},
1316    {32442, "PCS_WGS72BE_UTM_zone_42N"},
1317    {32443, "PCS_WGS72BE_UTM_zone_43N"},
1318    {32444, "PCS_WGS72BE_UTM_zone_44N"},
1319    {32445, "PCS_WGS72BE_UTM_zone_45N"},
1320    {32446, "PCS_WGS72BE_UTM_zone_46N"},
1321    {32447, "PCS_WGS72BE_UTM_zone_47N"},
1322    {32448, "PCS_WGS72BE_UTM_zone_48N"},
1323    {32449, "PCS_WGS72BE_UTM_zone_49N"},
1324    {32450, "PCS_WGS72BE_UTM_zone_50N"},
1325    {32451, "PCS_WGS72BE_UTM_zone_51N"},
1326    {32452, "PCS_WGS72BE_UTM_zone_52N"},
1327    {32453, "PCS_WGS72BE_UTM_zone_53N"},
1328    {32454, "PCS_WGS72BE_UTM_zone_54N"},
1329    {32455, "PCS_WGS72BE_UTM_zone_55N"},
1330    {32456, "PCS_WGS72BE_UTM_zone_56N"},
1331    {32457, "PCS_WGS72BE_UTM_zone_57N"},
1332    {32458, "PCS_WGS72BE_UTM_zone_58N"},
1333    {32459, "PCS_WGS72BE_UTM_zone_59N"},
1334    {32460, "PCS_WGS72BE_UTM_zone_60N"},
1335    {32501, "PCS_WGS72BE_UTM_zone_1S"},
1336    {32502, "PCS_WGS72BE_UTM_zone_2S"},
1337    {32503, "PCS_WGS72BE_UTM_zone_3S"},
1338    {32504, "PCS_WGS72BE_UTM_zone_4S"},
1339    {32505, "PCS_WGS72BE_UTM_zone_5S"},
1340    {32506, "PCS_WGS72BE_UTM_zone_6S"},
1341    {32507, "PCS_WGS72BE_UTM_zone_7S"},
1342    {32508, "PCS_WGS72BE_UTM_zone_8S"},
1343    {32509, "PCS_WGS72BE_UTM_zone_9S"},
1344    {32510, "PCS_WGS72BE_UTM_zone_10S"},
1345    {32511, "PCS_WGS72BE_UTM_zone_11S"},
1346    {32512, "PCS_WGS72BE_UTM_zone_12S"},
1347    {32513, "PCS_WGS72BE_UTM_zone_13S"},
1348    {32514, "PCS_WGS72BE_UTM_zone_14S"},
1349    {32515, "PCS_WGS72BE_UTM_zone_15S"},
1350    {32516, "PCS_WGS72BE_UTM_zone_16S"},
1351    {32517, "PCS_WGS72BE_UTM_zone_17S"},
1352    {32518, "PCS_WGS72BE_UTM_zone_18S"},
1353    {32519, "PCS_WGS72BE_UTM_zone_19S"},
1354    {32520, "PCS_WGS72BE_UTM_zone_20S"},
1355    {32521, "PCS_WGS72BE_UTM_zone_21S"},
1356    {32522, "PCS_WGS72BE_UTM_zone_22S"},
1357    {32523, "PCS_WGS72BE_UTM_zone_23S"},
1358    {32524, "PCS_WGS72BE_UTM_zone_24S"},
1359    {32525, "PCS_WGS72BE_UTM_zone_25S"},
1360    {32526, "PCS_WGS72BE_UTM_zone_26S"},
1361    {32527, "PCS_WGS72BE_UTM_zone_27S"},
1362    {32528, "PCS_WGS72BE_UTM_zone_28S"},
1363    {32529, "PCS_WGS72BE_UTM_zone_29S"},
1364    {32530, "PCS_WGS72BE_UTM_zone_30S"},
1365    {32531, "PCS_WGS72BE_UTM_zone_31S"},
1366    {32532, "PCS_WGS72BE_UTM_zone_32S"},
1367    {32533, "PCS_WGS72BE_UTM_zone_33S"},
1368    {32534, "PCS_WGS72BE_UTM_zone_34S"},
1369    {32535, "PCS_WGS72BE_UTM_zone_35S"},
1370    {32536, "PCS_WGS72BE_UTM_zone_36S"},
1371    {32537, "PCS_WGS72BE_UTM_zone_37S"},
1372    {32538, "PCS_WGS72BE_UTM_zone_38S"},
1373    {32539, "PCS_WGS72BE_UTM_zone_39S"},
1374    {32540, "PCS_WGS72BE_UTM_zone_40S"},
1375    {32541, "PCS_WGS72BE_UTM_zone_41S"},
1376    {32542, "PCS_WGS72BE_UTM_zone_42S"},
1377    {32543, "PCS_WGS72BE_UTM_zone_43S"},
1378    {32544, "PCS_WGS72BE_UTM_zone_44S"},
1379    {32545, "PCS_WGS72BE_UTM_zone_45S"},
1380    {32546, "PCS_WGS72BE_UTM_zone_46S"},
1381    {32547, "PCS_WGS72BE_UTM_zone_47S"},
1382    {32548, "PCS_WGS72BE_UTM_zone_48S"},
1383    {32549, "PCS_WGS72BE_UTM_zone_49S"},
1384    {32550, "PCS_WGS72BE_UTM_zone_50S"},
1385    {32551, "PCS_WGS72BE_UTM_zone_51S"},
1386    {32552, "PCS_WGS72BE_UTM_zone_52S"},
1387    {32553, "PCS_WGS72BE_UTM_zone_53S"},
1388    {32554, "PCS_WGS72BE_UTM_zone_54S"},
1389    {32555, "PCS_WGS72BE_UTM_zone_55S"},
1390    {32556, "PCS_WGS72BE_UTM_zone_56S"},
1391    {32557, "PCS_WGS72BE_UTM_zone_57S"},
1392    {32558, "PCS_WGS72BE_UTM_zone_58S"},
1393    {32559, "PCS_WGS72BE_UTM_zone_59S"},
1394    {32560, "PCS_WGS72BE_UTM_zone_60S"},
1395    {32601, "PCS_WGS84_UTM_zone_1N"},
1396    {32602, "PCS_WGS84_UTM_zone_2N"},
1397    {32603, "PCS_WGS84_UTM_zone_3N"},
1398    {32604, "PCS_WGS84_UTM_zone_4N"},
1399    {32605, "PCS_WGS84_UTM_zone_5N"},
1400    {32606, "PCS_WGS84_UTM_zone_6N"},
1401    {32607, "PCS_WGS84_UTM_zone_7N"},
1402    {32608, "PCS_WGS84_UTM_zone_8N"},
1403    {32609, "PCS_WGS84_UTM_zone_9N"},
1404    {32610, "PCS_WGS84_UTM_zone_10N"},
1405    {32611, "PCS_WGS84_UTM_zone_11N"},
1406    {32612, "PCS_WGS84_UTM_zone_12N"},
1407    {32613, "PCS_WGS84_UTM_zone_13N"},
1408    {32614, "PCS_WGS84_UTM_zone_14N"},
1409    {32615, "PCS_WGS84_UTM_zone_15N"},
1410    {32616, "PCS_WGS84_UTM_zone_16N"},
1411    {32617, "PCS_WGS84_UTM_zone_17N"},
1412    {32618, "PCS_WGS84_UTM_zone_18N"},
1413    {32619, "PCS_WGS84_UTM_zone_19N"},
1414    {32620, "PCS_WGS84_UTM_zone_20N"},
1415    {32621, "PCS_WGS84_UTM_zone_21N"},
1416    {32622, "PCS_WGS84_UTM_zone_22N"},
1417    {32623, "PCS_WGS84_UTM_zone_23N"},
1418    {32624, "PCS_WGS84_UTM_zone_24N"},
1419    {32625, "PCS_WGS84_UTM_zone_25N"},
1420    {32626, "PCS_WGS84_UTM_zone_26N"},
1421    {32627, "PCS_WGS84_UTM_zone_27N"},
1422    {32628, "PCS_WGS84_UTM_zone_28N"},
1423    {32629, "PCS_WGS84_UTM_zone_29N"},
1424    {32630, "PCS_WGS84_UTM_zone_30N"},
1425    {32631, "PCS_WGS84_UTM_zone_31N"},
1426    {32632, "PCS_WGS84_UTM_zone_32N"},
1427    {32633, "PCS_WGS84_UTM_zone_33N"},
1428    {32634, "PCS_WGS84_UTM_zone_34N"},
1429    {32635, "PCS_WGS84_UTM_zone_35N"},
1430    {32636, "PCS_WGS84_UTM_zone_36N"},
1431    {32637, "PCS_WGS84_UTM_zone_37N"},
1432    {32638, "PCS_WGS84_UTM_zone_38N"},
1433    {32639, "PCS_WGS84_UTM_zone_39N"},
1434    {32640, "PCS_WGS84_UTM_zone_40N"},
1435    {32641, "PCS_WGS84_UTM_zone_41N"},
1436    {32642, "PCS_WGS84_UTM_zone_42N"},
1437    {32643, "PCS_WGS84_UTM_zone_43N"},
1438    {32644, "PCS_WGS84_UTM_zone_44N"},
1439    {32645, "PCS_WGS84_UTM_zone_45N"},
1440    {32646, "PCS_WGS84_UTM_zone_46N"},
1441    {32647, "PCS_WGS84_UTM_zone_47N"},
1442    {32648, "PCS_WGS84_UTM_zone_48N"},
1443    {32649, "PCS_WGS84_UTM_zone_49N"},
1444    {32650, "PCS_WGS84_UTM_zone_50N"},
1445    {32651, "PCS_WGS84_UTM_zone_51N"},
1446    {32652, "PCS_WGS84_UTM_zone_52N"},
1447    {32653, "PCS_WGS84_UTM_zone_53N"},
1448    {32654, "PCS_WGS84_UTM_zone_54N"},
1449    {32655, "PCS_WGS84_UTM_zone_55N"},
1450    {32656, "PCS_WGS84_UTM_zone_56N"},
1451    {32657, "PCS_WGS84_UTM_zone_57N"},
1452    {32658, "PCS_WGS84_UTM_zone_58N"},
1453    {32659, "PCS_WGS84_UTM_zone_59N"},
1454    {32660, "PCS_WGS84_UTM_zone_60N"},
1455    {32701, "PCS_WGS84_UTM_zone_1S"},
1456    {32702, "PCS_WGS84_UTM_zone_2S"},
1457    {32703, "PCS_WGS84_UTM_zone_3S"},
1458    {32704, "PCS_WGS84_UTM_zone_4S"},
1459    {32705, "PCS_WGS84_UTM_zone_5S"},
1460    {32706, "PCS_WGS84_UTM_zone_6S"},
1461    {32707, "PCS_WGS84_UTM_zone_7S"},
1462    {32708, "PCS_WGS84_UTM_zone_8S"},
1463    {32709, "PCS_WGS84_UTM_zone_9S"},
1464    {32710, "PCS_WGS84_UTM_zone_10S"},
1465    {32711, "PCS_WGS84_UTM_zone_11S"},
1466    {32712, "PCS_WGS84_UTM_zone_12S"},
1467    {32713, "PCS_WGS84_UTM_zone_13S"},
1468    {32714, "PCS_WGS84_UTM_zone_14S"},
1469    {32715, "PCS_WGS84_UTM_zone_15S"},
1470    {32716, "PCS_WGS84_UTM_zone_16S"},
1471    {32717, "PCS_WGS84_UTM_zone_17S"},
1472    {32718, "PCS_WGS84_UTM_zone_18S"},
1473    {32719, "PCS_WGS84_UTM_zone_19S"},
1474    {32720, "PCS_WGS84_UTM_zone_20S"},
1475    {32721, "PCS_WGS84_UTM_zone_21S"},
1476    {32722, "PCS_WGS84_UTM_zone_22S"},
1477    {32723, "PCS_WGS84_UTM_zone_23S"},
1478    {32724, "PCS_WGS84_UTM_zone_24S"},
1479    {32725, "PCS_WGS84_UTM_zone_25S"},
1480    {32726, "PCS_WGS84_UTM_zone_26S"},
1481    {32727, "PCS_WGS84_UTM_zone_27S"},
1482    {32728, "PCS_WGS84_UTM_zone_28S"},
1483    {32729, "PCS_WGS84_UTM_zone_29S"},
1484    {32730, "PCS_WGS84_UTM_zone_30S"},
1485    {32731, "PCS_WGS84_UTM_zone_31S"},
1486    {32732, "PCS_WGS84_UTM_zone_32S"},
1487    {32733, "PCS_WGS84_UTM_zone_33S"},
1488    {32734, "PCS_WGS84_UTM_zone_34S"},
1489    {32735, "PCS_WGS84_UTM_zone_35S"},
1490    {32736, "PCS_WGS84_UTM_zone_36S"},
1491    {32737, "PCS_WGS84_UTM_zone_37S"},
1492    {32738, "PCS_WGS84_UTM_zone_38S"},
1493    {32739, "PCS_WGS84_UTM_zone_39S"},
1494    {32740, "PCS_WGS84_UTM_zone_40S"},
1495    {32741, "PCS_WGS84_UTM_zone_41S"},
1496    {32742, "PCS_WGS84_UTM_zone_42S"},
1497    {32743, "PCS_WGS84_UTM_zone_43S"},
1498    {32744, "PCS_WGS84_UTM_zone_44S"},
1499    {32745, "PCS_WGS84_UTM_zone_45S"},
1500    {32746, "PCS_WGS84_UTM_zone_46S"},
1501    {32747, "PCS_WGS84_UTM_zone_47S"},
1502    {32748, "PCS_WGS84_UTM_zone_48S"},
1503    {32749, "PCS_WGS84_UTM_zone_49S"},
1504    {32750, "PCS_WGS84_UTM_zone_50S"},
1505    {32751, "PCS_WGS84_UTM_zone_51S"},
1506    {32752, "PCS_WGS84_UTM_zone_52S"},
1507    {32753, "PCS_WGS84_UTM_zone_53S"},
1508    {32754, "PCS_WGS84_UTM_zone_54S"},
1509    {32755, "PCS_WGS84_UTM_zone_55S"},
1510    {32756, "PCS_WGS84_UTM_zone_56S"},
1511    {32757, "PCS_WGS84_UTM_zone_57S"},
1512    {32758, "PCS_WGS84_UTM_zone_58S"},
1513    {32759, "PCS_WGS84_UTM_zone_59S"},
1514    {32760, "PCS_WGS84_UTM_zone_60S"}
1515};
1516
1517static const TiffGeoTagKeyName tiff_projection_codes[] = {
1518    {10101, "Proj_Alabama_CS27_East"},
1519    {10102, "Proj_Alabama_CS27_West"},
1520    {10131, "Proj_Alabama_CS83_East"},
1521    {10132, "Proj_Alabama_CS83_West"},
1522    {10201, "Proj_Arizona_Coordinate_System_east"},
1523    {10202, "Proj_Arizona_Coordinate_System_Central"},
1524    {10203, "Proj_Arizona_Coordinate_System_west"},
1525    {10231, "Proj_Arizona_CS83_east"},
1526    {10232, "Proj_Arizona_CS83_Central"},
1527    {10233, "Proj_Arizona_CS83_west"},
1528    {10301, "Proj_Arkansas_CS27_North"},
1529    {10302, "Proj_Arkansas_CS27_South"},
1530    {10331, "Proj_Arkansas_CS83_North"},
1531    {10332, "Proj_Arkansas_CS83_South"},
1532    {10401, "Proj_California_CS27_I"},
1533    {10402, "Proj_California_CS27_II"},
1534    {10403, "Proj_California_CS27_III"},
1535    {10404, "Proj_California_CS27_IV"},
1536    {10405, "Proj_California_CS27_V"},
1537    {10406, "Proj_California_CS27_VI"},
1538    {10407, "Proj_California_CS27_VII"},
1539    {10431, "Proj_California_CS83_1"},
1540    {10432, "Proj_California_CS83_2"},
1541    {10433, "Proj_California_CS83_3"},
1542    {10434, "Proj_California_CS83_4"},
1543    {10435, "Proj_California_CS83_5"},
1544    {10436, "Proj_California_CS83_6"},
1545    {10501, "Proj_Colorado_CS27_North"},
1546    {10502, "Proj_Colorado_CS27_Central"},
1547    {10503, "Proj_Colorado_CS27_South"},
1548    {10531, "Proj_Colorado_CS83_North"},
1549    {10532, "Proj_Colorado_CS83_Central"},
1550    {10533, "Proj_Colorado_CS83_South"},
1551    {10600, "Proj_Connecticut_CS27"},
1552    {10630, "Proj_Connecticut_CS83"},
1553    {10700, "Proj_Delaware_CS27"},
1554    {10730, "Proj_Delaware_CS83"},
1555    {10901, "Proj_Florida_CS27_East"},
1556    {10902, "Proj_Florida_CS27_West"},
1557    {10903, "Proj_Florida_CS27_North"},
1558    {10931, "Proj_Florida_CS83_East"},
1559    {10932, "Proj_Florida_CS83_West"},
1560    {10933, "Proj_Florida_CS83_North"},
1561    {11001, "Proj_Georgia_CS27_East"},
1562    {11002, "Proj_Georgia_CS27_West"},
1563    {11031, "Proj_Georgia_CS83_East"},
1564    {11032, "Proj_Georgia_CS83_West"},
1565    {11101, "Proj_Idaho_CS27_East"},
1566    {11102, "Proj_Idaho_CS27_Central"},
1567    {11103, "Proj_Idaho_CS27_West"},
1568    {11131, "Proj_Idaho_CS83_East"},
1569    {11132, "Proj_Idaho_CS83_Central"},
1570    {11133, "Proj_Idaho_CS83_West"},
1571    {11201, "Proj_Illinois_CS27_East"},
1572    {11202, "Proj_Illinois_CS27_West"},
1573    {11231, "Proj_Illinois_CS83_East"},
1574    {11232, "Proj_Illinois_CS83_West"},
1575    {11301, "Proj_Indiana_CS27_East"},
1576    {11302, "Proj_Indiana_CS27_West"},
1577    {11331, "Proj_Indiana_CS83_East"},
1578    {11332, "Proj_Indiana_CS83_West"},
1579    {11401, "Proj_Iowa_CS27_North"},
1580    {11402, "Proj_Iowa_CS27_South"},
1581    {11431, "Proj_Iowa_CS83_North"},
1582    {11432, "Proj_Iowa_CS83_South"},
1583    {11501, "Proj_Kansas_CS27_North"},
1584    {11502, "Proj_Kansas_CS27_South"},
1585    {11531, "Proj_Kansas_CS83_North"},
1586    {11532, "Proj_Kansas_CS83_South"},
1587    {11601, "Proj_Kentucky_CS27_North"},
1588    {11602, "Proj_Kentucky_CS27_South"},
1589    {11631, "Proj_Kentucky_CS83_North"},
1590    {11632, "Proj_Kentucky_CS83_South"},
1591    {11701, "Proj_Louisiana_CS27_North"},
1592    {11702, "Proj_Louisiana_CS27_South"},
1593    {11731, "Proj_Louisiana_CS83_North"},
1594    {11732, "Proj_Louisiana_CS83_South"},
1595    {11801, "Proj_Maine_CS27_East"},
1596    {11802, "Proj_Maine_CS27_West"},
1597    {11831, "Proj_Maine_CS83_East"},
1598    {11832, "Proj_Maine_CS83_West"},
1599    {11900, "Proj_Maryland_CS27"},
1600    {11930, "Proj_Maryland_CS83"},
1601    {12001, "Proj_Massachusetts_CS27_Mainland"},
1602    {12002, "Proj_Massachusetts_CS27_Island"},
1603    {12031, "Proj_Massachusetts_CS83_Mainland"},
1604    {12032, "Proj_Massachusetts_CS83_Island"},
1605    {12101, "Proj_Michigan_State_Plane_East"},
1606    {12102, "Proj_Michigan_State_Plane_Old_Central"},
1607    {12103, "Proj_Michigan_State_Plane_West"},
1608    {12111, "Proj_Michigan_CS27_North"},
1609    {12112, "Proj_Michigan_CS27_Central"},
1610    {12113, "Proj_Michigan_CS27_South"},
1611    {12141, "Proj_Michigan_CS83_North"},
1612    {12142, "Proj_Michigan_CS83_Central"},
1613    {12143, "Proj_Michigan_CS83_South"},
1614    {12201, "Proj_Minnesota_CS27_North"},
1615    {12202, "Proj_Minnesota_CS27_Central"},
1616    {12203, "Proj_Minnesota_CS27_South"},
1617    {12231, "Proj_Minnesota_CS83_North"},
1618    {12232, "Proj_Minnesota_CS83_Central"},
1619    {12233, "Proj_Minnesota_CS83_South"},
1620    {12301, "Proj_Mississippi_CS27_East"},
1621    {12302, "Proj_Mississippi_CS27_West"},
1622    {12331, "Proj_Mississippi_CS83_East"},
1623    {12332, "Proj_Mississippi_CS83_West"},
1624    {12401, "Proj_Missouri_CS27_East"},
1625    {12402, "Proj_Missouri_CS27_Central"},
1626    {12403, "Proj_Missouri_CS27_West"},
1627    {12431, "Proj_Missouri_CS83_East"},
1628    {12432, "Proj_Missouri_CS83_Central"},
1629    {12433, "Proj_Missouri_CS83_West"},
1630    {12501, "Proj_Montana_CS27_North"},
1631    {12502, "Proj_Montana_CS27_Central"},
1632    {12503, "Proj_Montana_CS27_South"},
1633    {12530, "Proj_Montana_CS83"},
1634    {12601, "Proj_Nebraska_CS27_North"},
1635    {12602, "Proj_Nebraska_CS27_South"},
1636    {12630, "Proj_Nebraska_CS83"},
1637    {12701, "Proj_Nevada_CS27_East"},
1638    {12702, "Proj_Nevada_CS27_Central"},
1639    {12703, "Proj_Nevada_CS27_West"},
1640    {12731, "Proj_Nevada_CS83_East"},
1641    {12732, "Proj_Nevada_CS83_Central"},
1642    {12733, "Proj_Nevada_CS83_West"},
1643    {12800, "Proj_New_Hampshire_CS27"},
1644    {12830, "Proj_New_Hampshire_CS83"},
1645    {12900, "Proj_New_Jersey_CS27"},
1646    {12930, "Proj_New_Jersey_CS83"},
1647    {13001, "Proj_New_Mexico_CS27_East"},
1648    {13002, "Proj_New_Mexico_CS27_Central"},
1649    {13003, "Proj_New_Mexico_CS27_West"},
1650    {13031, "Proj_New_Mexico_CS83_East"},
1651    {13032, "Proj_New_Mexico_CS83_Central"},
1652    {13033, "Proj_New_Mexico_CS83_West"},
1653    {13101, "Proj_New_York_CS27_East"},
1654    {13102, "Proj_New_York_CS27_Central"},
1655    {13103, "Proj_New_York_CS27_West"},
1656    {13104, "Proj_New_York_CS27_Long_Island"},
1657    {13131, "Proj_New_York_CS83_East"},
1658    {13132, "Proj_New_York_CS83_Central"},
1659    {13133, "Proj_New_York_CS83_West"},
1660    {13134, "Proj_New_York_CS83_Long_Island"},
1661    {13200, "Proj_North_Carolina_CS27"},
1662    {13230, "Proj_North_Carolina_CS83"},
1663    {13301, "Proj_North_Dakota_CS27_North"},
1664    {13302, "Proj_North_Dakota_CS27_South"},
1665    {13331, "Proj_North_Dakota_CS83_North"},
1666    {13332, "Proj_North_Dakota_CS83_South"},
1667    {13401, "Proj_Ohio_CS27_North"},
1668    {13402, "Proj_Ohio_CS27_South"},
1669    {13431, "Proj_Ohio_CS83_North"},
1670    {13432, "Proj_Ohio_CS83_South"},
1671    {13501, "Proj_Oklahoma_CS27_North"},
1672    {13502, "Proj_Oklahoma_CS27_South"},
1673    {13531, "Proj_Oklahoma_CS83_North"},
1674    {13532, "Proj_Oklahoma_CS83_South"},
1675    {13601, "Proj_Oregon_CS27_North"},
1676    {13602, "Proj_Oregon_CS27_South"},
1677    {13631, "Proj_Oregon_CS83_North"},
1678    {13632, "Proj_Oregon_CS83_South"},
1679    {13701, "Proj_Pennsylvania_CS27_North"},
1680    {13702, "Proj_Pennsylvania_CS27_South"},
1681    {13731, "Proj_Pennsylvania_CS83_North"},
1682    {13732, "Proj_Pennsylvania_CS83_South"},
1683    {13800, "Proj_Rhode_Island_CS27"},
1684    {13830, "Proj_Rhode_Island_CS83"},
1685    {13901, "Proj_South_Carolina_CS27_North"},
1686    {13902, "Proj_South_Carolina_CS27_South"},
1687    {13930, "Proj_South_Carolina_CS83"},
1688    {14001, "Proj_South_Dakota_CS27_North"},
1689    {14002, "Proj_South_Dakota_CS27_South"},
1690    {14031, "Proj_South_Dakota_CS83_North"},
1691    {14032, "Proj_South_Dakota_CS83_South"},
1692    {14100, "Proj_Tennessee_CS27"},
1693    {14130, "Proj_Tennessee_CS83"},
1694    {14201, "Proj_Texas_CS27_North"},
1695    {14202, "Proj_Texas_CS27_North_Central"},
1696    {14203, "Proj_Texas_CS27_Central"},
1697    {14204, "Proj_Texas_CS27_South_Central"},
1698    {14205, "Proj_Texas_CS27_South"},
1699    {14231, "Proj_Texas_CS83_North"},
1700    {14232, "Proj_Texas_CS83_North_Central"},
1701    {14233, "Proj_Texas_CS83_Central"},
1702    {14234, "Proj_Texas_CS83_South_Central"},
1703    {14235, "Proj_Texas_CS83_South"},
1704    {14301, "Proj_Utah_CS27_North"},
1705    {14302, "Proj_Utah_CS27_Central"},
1706    {14303, "Proj_Utah_CS27_South"},
1707    {14331, "Proj_Utah_CS83_North"},
1708    {14332, "Proj_Utah_CS83_Central"},
1709    {14333, "Proj_Utah_CS83_South"},
1710    {14400, "Proj_Vermont_CS27"},
1711    {14430, "Proj_Vermont_CS83"},
1712    {14501, "Proj_Virginia_CS27_North"},
1713    {14502, "Proj_Virginia_CS27_South"},
1714    {14531, "Proj_Virginia_CS83_North"},
1715    {14532, "Proj_Virginia_CS83_South"},
1716    {14601, "Proj_Washington_CS27_North"},
1717    {14602, "Proj_Washington_CS27_South"},
1718    {14631, "Proj_Washington_CS83_North"},
1719    {14632, "Proj_Washington_CS83_South"},
1720    {14701, "Proj_West_Virginia_CS27_North"},
1721    {14702, "Proj_West_Virginia_CS27_South"},
1722    {14731, "Proj_West_Virginia_CS83_North"},
1723    {14732, "Proj_West_Virginia_CS83_South"},
1724    {14801, "Proj_Wisconsin_CS27_North"},
1725    {14802, "Proj_Wisconsin_CS27_Central"},
1726    {14803, "Proj_Wisconsin_CS27_South"},
1727    {14831, "Proj_Wisconsin_CS83_North"},
1728    {14832, "Proj_Wisconsin_CS83_Central"},
1729    {14833, "Proj_Wisconsin_CS83_South"},
1730    {14901, "Proj_Wyoming_CS27_East"},
1731    {14902, "Proj_Wyoming_CS27_East_Central"},
1732    {14903, "Proj_Wyoming_CS27_West_Central"},
1733    {14904, "Proj_Wyoming_CS27_West"},
1734    {14931, "Proj_Wyoming_CS83_East"},
1735    {14932, "Proj_Wyoming_CS83_East_Central"},
1736    {14933, "Proj_Wyoming_CS83_West_Central"},
1737    {14934, "Proj_Wyoming_CS83_West"},
1738    {15001, "Proj_Alaska_CS27_1"},
1739    {15002, "Proj_Alaska_CS27_2"},
1740    {15003, "Proj_Alaska_CS27_3"},
1741    {15004, "Proj_Alaska_CS27_4"},
1742    {15005, "Proj_Alaska_CS27_5"},
1743    {15006, "Proj_Alaska_CS27_6"},
1744    {15007, "Proj_Alaska_CS27_7"},
1745    {15008, "Proj_Alaska_CS27_8"},
1746    {15009, "Proj_Alaska_CS27_9"},
1747    {15010, "Proj_Alaska_CS27_10"},
1748    {15031, "Proj_Alaska_CS83_1"},
1749    {15032, "Proj_Alaska_CS83_2"},
1750    {15033, "Proj_Alaska_CS83_3"},
1751    {15034, "Proj_Alaska_CS83_4"},
1752    {15035, "Proj_Alaska_CS83_5"},
1753    {15036, "Proj_Alaska_CS83_6"},
1754    {15037, "Proj_Alaska_CS83_7"},
1755    {15038, "Proj_Alaska_CS83_8"},
1756    {15039, "Proj_Alaska_CS83_9"},
1757    {15040, "Proj_Alaska_CS83_10"},
1758    {15101, "Proj_Hawaii_CS27_1"},
1759    {15102, "Proj_Hawaii_CS27_2"},
1760    {15103, "Proj_Hawaii_CS27_3"},
1761    {15104, "Proj_Hawaii_CS27_4"},
1762    {15105, "Proj_Hawaii_CS27_5"},
1763    {15131, "Proj_Hawaii_CS83_1"},
1764    {15132, "Proj_Hawaii_CS83_2"},
1765    {15133, "Proj_Hawaii_CS83_3"},
1766    {15134, "Proj_Hawaii_CS83_4"},
1767    {15135, "Proj_Hawaii_CS83_5"},
1768    {15201, "Proj_Puerto_Rico_CS27"},
1769    {15202, "Proj_St_Croix"},
1770    {15230, "Proj_Puerto_Rico_Virgin_Is"},
1771    {15914, "Proj_BLM_14N_feet"},
1772    {15915, "Proj_BLM_15N_feet"},
1773    {15916, "Proj_BLM_16N_feet"},
1774    {15917, "Proj_BLM_17N_feet"},
1775    {17348, "Proj_Map_Grid_of_Australia_48"},
1776    {17349, "Proj_Map_Grid_of_Australia_49"},
1777    {17350, "Proj_Map_Grid_of_Australia_50"},
1778    {17351, "Proj_Map_Grid_of_Australia_51"},
1779    {17352, "Proj_Map_Grid_of_Australia_52"},
1780    {17353, "Proj_Map_Grid_of_Australia_53"},
1781    {17354, "Proj_Map_Grid_of_Australia_54"},
1782    {17355, "Proj_Map_Grid_of_Australia_55"},
1783    {17356, "Proj_Map_Grid_of_Australia_56"},
1784    {17357, "Proj_Map_Grid_of_Australia_57"},
1785    {17358, "Proj_Map_Grid_of_Australia_58"},
1786    {17448, "Proj_Australian_Map_Grid_48"},
1787    {17449, "Proj_Australian_Map_Grid_49"},
1788    {17450, "Proj_Australian_Map_Grid_50"},
1789    {17451, "Proj_Australian_Map_Grid_51"},
1790    {17452, "Proj_Australian_Map_Grid_52"},
1791    {17453, "Proj_Australian_Map_Grid_53"},
1792    {17454, "Proj_Australian_Map_Grid_54"},
1793    {17455, "Proj_Australian_Map_Grid_55"},
1794    {17456, "Proj_Australian_Map_Grid_56"},
1795    {17457, "Proj_Australian_Map_Grid_57"},
1796    {17458, "Proj_Australian_Map_Grid_58"},
1797    {18031, "Proj_Argentina_1"},
1798    {18032, "Proj_Argentina_2"},
1799    {18033, "Proj_Argentina_3"},
1800    {18034, "Proj_Argentina_4"},
1801    {18035, "Proj_Argentina_5"},
1802    {18036, "Proj_Argentina_6"},
1803    {18037, "Proj_Argentina_7"},
1804    {18051, "Proj_Colombia_3W"},
1805    {18052, "Proj_Colombia_Bogota"},
1806    {18053, "Proj_Colombia_3E"},
1807    {18054, "Proj_Colombia_6E"},
1808    {18072, "Proj_Egypt_Red_Belt"},
1809    {18073, "Proj_Egypt_Purple_Belt"},
1810    {18074, "Proj_Extended_Purple_Belt"},
1811    {18141, "Proj_New_Zealand_North_Island_Nat_Grid"},
1812    {18142, "Proj_New_Zealand_South_Island_Nat_Grid"},
1813    {19900, "Proj_Bahrain_Grid"},
1814    {19905, "Proj_Netherlands_E_Indies_Equatorial"},
1815    {19912, "Proj_RSO_Borneo"}
1816};
1817
1818#define TIFF_COORD_TRANS_OFFSET 1
1819static const char *const tiff_coord_trans_codes[] = {
1820    "CT_TransverseMercator",
1821    "CT_TransvMercator_Modified_Alaska",
1822    "CT_ObliqueMercator",
1823    "CT_ObliqueMercator_Laborde",
1824    "CT_ObliqueMercator_Rosenmund",
1825    "CT_ObliqueMercator_Spherical",
1826    "CT_Mercator",
1827    "CT_LambertConfConic_2SP",
1828    "CT_LambertConfConic_Helmert",
1829    "CT_LambertAzimEqualArea",
1830    "CT_AlbersEqualArea",
1831    "CT_AzimuthalEquidistant",
1832    "CT_EquidistantConic",
1833    "CT_Stereographic",
1834    "CT_PolarStereographic",
1835    "CT_ObliqueStereographic",
1836    "CT_Equirectangular",
1837    "CT_CassiniSoldner",
1838    "CT_Gnomonic",
1839    "CT_MillerCylindrical",
1840    "CT_Orthographic",
1841    "CT_Polyconic",
1842    "CT_Robinson",
1843    "CT_Sinusoidal",
1844    "CT_VanDerGrinten",
1845    "CT_NewZealandMapGrid",
1846    "CT_TransvMercator_SouthOriented"
1847};
1848
1849#define TIFF_VERT_CS_OFFSET 5001
1850static const char *const tiff_vert_cs_codes[] = {
1851    "VertCS_Airy_1830_ellipsoid",
1852    "VertCS_Airy_Modified_1849_ellipsoid",
1853    "VertCS_ANS_ellipsoid",
1854    "VertCS_Bessel_1841_ellipsoid",
1855    "VertCS_Bessel_Modified_ellipsoid",
1856    "VertCS_Bessel_Namibia_ellipsoid",
1857    "VertCS_Clarke_1858_ellipsoid",
1858    "VertCS_Clarke_1866_ellipsoid",
1859    "VertCS_Clarke_1880_Benoit_ellipsoid",
1860    "VertCS_Clarke_1880_IGN_ellipsoid",
1861    "VertCS_Clarke_1880_RGS_ellipsoid",
1862    "VertCS_Clarke_1880_Arc_ellipsoid",
1863    "VertCS_Clarke_1880_SGA_1922_ellipsoid",
1864    "VertCS_Everest_1830_1937_Adjustment_ellipsoid",
1865    "VertCS_Everest_1830_1967_Definition_ellipsoid",
1866    "VertCS_Everest_1830_1975_Definition_ellipsoid",
1867    "VertCS_Everest_1830_Modified_ellipsoid",
1868    "VertCS_GRS_1980_ellipsoid",
1869    "VertCS_Helmert_1906_ellipsoid",
1870    "VertCS_INS_ellipsoid",
1871    "VertCS_International_1924_ellipsoid",
1872    "VertCS_International_1967_ellipsoid",
1873    "VertCS_Krassowsky_1940_ellipsoid",
1874    "VertCS_NWL_9D_ellipsoid",
1875    "VertCS_NWL_10D_ellipsoid",
1876    "VertCS_Plessis_1817_ellipsoid",
1877    "VertCS_Struve_1860_ellipsoid",
1878    "VertCS_War_Office_ellipsoid",
1879    "VertCS_WGS_84_ellipsoid",
1880    "VertCS_GEM_10C_ellipsoid",
1881    "VertCS_OSU86F_ellipsoid",
1882    "VertCS_OSU91A_ellipsoid"
1883};
1884
1885#define TIFF_ORTHO_VERT_CS_OFFSET 5101
1886static const char *const tiff_ortho_vert_cs_codes[] = {
1887    "VertCS_Newlyn",
1888    "VertCS_North_American_Vertical_Datum_1929",
1889    "VertCS_North_American_Vertical_Datum_1988",
1890    "VertCS_Yellow_Sea_1956",
1891    "VertCS_Baltic_Sea",
1892    "VertCS_Caspian_Sea"
1893};
1894
1895#endif
1896