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