source: gs2-extensions/parallel-building/trunk/src/perllib/cpan/Image/ExifTool/GeoTiff.pm@ 24626

Last change on this file since 24626 was 24626, checked in by jmt12, 13 years ago

An (almost) complete copy of the perllib directory from a (circa SEP2011) head checkout from Greenstone 2 trunk - in order to try and make merging in this extension a little easier later on (as there have been some major changes to buildcol.pl commited in the main trunk but not in the x64 branch)

File size: 85.0 KB
Line 
1#------------------------------------------------------------------------------
2# File: GeoTiff.pm
3#
4# Description: Read GeoTiff meta information
5#
6# Revisions: 02/23/2004 - P. Harvey Created
7# 02/25/2004 - P. Harvey Added new codes from libgeotiff-1.2.1
8# 02/01/2007 - P. Harvey Added new codes from libgeotiff-1.2.3
9#
10# Reference: ftp://ftp.remotesensing.org/geotiff/libgeotiff/libgeotiff-1.1.4.tar.gz
11#------------------------------------------------------------------------------
12
13package Image::ExifTool::GeoTiff;
14
15use strict;
16use vars qw($VERSION);
17use Image::ExifTool qw(:DataAccess :Utils);
18
19$VERSION = '1.07';
20
21# format codes for geoTiff directory entries
22my %geoTiffFormat = (
23 0 => 'int16u',
24 0x87b0 => 'double',
25 0x87b1 => 'string',
26);
27
28my %epsg_units = (
29 9001 => 'Linear Meter',
30 9002 => 'Linear Foot',
31 9003 => 'Linear Foot US Survey',
32 9004 => 'Linear Foot Modified American',
33 9005 => 'Linear Foot Clarke',
34 9006 => 'Linear Foot Indian',
35 9007 => 'Linear Link',
36 9008 => 'Linear Link Benoit',
37 9009 => 'Linear Link Sears',
38 9010 => 'Linear Chain Benoit',
39 9011 => 'Linear Chain Sears',
40 9012 => 'Linear Yard Sears',
41 9013 => 'Linear Yard Indian',
42 9014 => 'Linear Fathom',
43 9015 => 'Linear Mile International Nautical',
44 9101 => 'Angular Radian',
45 9102 => 'Angular Degree',
46 9103 => 'Angular Arc Minute',
47 9104 => 'Angular Arc Second',
48 9105 => 'Angular Grad',
49 9106 => 'Angular Gon',
50 9107 => 'Angular DMS',
51 9108 => 'Angular DMS Hemisphere',
52 32767 => 'User Defined',
53);
54
55%Image::ExifTool::GeoTiff::Main = (
56 GROUPS => { 2 => 'Location' },
57 1 => {
58 # this isn't a real GeoTiff key, but put it here
59 # so it will appear in tag lists since we generate it below
60 Name => 'GeoTiffVersion',
61 },
62 1024 => {
63 Name => 'GTModelType',
64 PrintConv => {
65 1 => 'Projected',
66 2 => 'Geographic',
67 3 => 'Geocentric',
68 32767 => 'User Defined',
69 },
70 },
71 1025 => {
72 Name => 'GTRasterType',
73 PrintConv => {
74 1 => 'Pixel Is Area',
75 2 => 'Pixel Is Point',
76 32767 => 'User Defined',
77 },
78 },
79 1026 => 'GTCitation',
80 2048 => {
81 Name => 'GeographicType',
82 PrintConv => {
83 # epsg_gcs
84 4001 => 'Airy 1830',
85 4002 => 'Airy Modified 1849',
86 4003 => 'Australian National Spheroid',
87 4004 => 'Bessel 1841',
88 4005 => 'Bessel Modified',
89 4006 => 'Bessel Namibia',
90 4007 => 'Clarke 1858',
91 4008 => 'Clarke 1866',
92 4009 => 'Clarke 1866 Michigan',
93 4010 => 'Clarke 1880 Benoit',
94 4011 => 'Clarke 1880 IGN',
95 4012 => 'Clarke 1880 RGS',
96 4013 => 'Clarke 1880 Arc',
97 4014 => 'Clarke 1880 SGA 1922',
98 4015 => 'Everest 1830 1937 Adjustment',
99 4016 => 'Everest 1830 1967 Definition',
100 4017 => 'Everest 1830 1975 Definition',
101 4018 => 'Everest 1830 Modified',
102 4019 => 'GRS 1980',
103 4020 => 'Helmert 1906',
104 4021 => 'Indonesian National Spheroid',
105 4022 => 'International 1924',
106 4023 => 'International 1967',
107 4024 => 'Krassowsky 1940',
108 4025 => 'NWL9D',
109 4026 => 'NWL10D',
110 4027 => 'Plessis 1817',
111 4028 => 'Struve 1860',
112 4029 => 'War Office',
113 4030 => 'WGS84',
114 4031 => 'GEM10C',
115 4032 => 'OSU86F',
116 4033 => 'OSU91A',
117 4034 => 'Clarke 1880',
118 4035 => 'Sphere',
119 4120 => 'Greek',
120 4121 => 'GGRS87',
121 4123 => 'KKJ',
122 4124 => 'RT90',
123 4133 => 'EST92',
124 4815 => 'Greek Athens',
125 4201 => 'Adindan',
126 4202 => 'AGD66',
127 4203 => 'AGD84',
128 4204 => 'Ain el Abd',
129 4205 => 'Afgooye',
130 4206 => 'Agadez',
131 4207 => 'Lisbon',
132 4208 => 'Aratu',
133 4209 => 'Arc 1950',
134 4210 => 'Arc 1960',
135 4211 => 'Batavia',
136 4212 => 'Barbados',
137 4213 => 'Beduaram',
138 4214 => 'Beijing 1954',
139 4215 => 'Belge 1950',
140 4216 => 'Bermuda 1957',
141 4217 => 'Bern 1898',
142 4218 => 'Bogota',
143 4219 => 'Bukit Rimpah',
144 4220 => 'Camacupa',
145 4221 => 'Campo Inchauspe',
146 4222 => 'Cape',
147 4223 => 'Carthage',
148 4224 => 'Chua',
149 4225 => 'Corrego Alegre',
150 4226 => 'Cote d Ivoire',
151 4227 => 'Deir ez Zor',
152 4228 => 'Douala',
153 4229 => 'Egypt 1907',
154 4230 => 'ED50',
155 4231 => 'ED87',
156 4232 => 'Fahud',
157 4233 => 'Gandajika 1970',
158 4234 => 'Garoua',
159 4235 => 'Guyane Francaise',
160 4236 => 'Hu Tzu Shan',
161 4237 => 'HD72',
162 4238 => 'ID74',
163 4239 => 'Indian 1954',
164 4240 => 'Indian 1975',
165 4241 => 'Jamaica 1875',
166 4242 => 'JAD69',
167 4243 => 'Kalianpur',
168 4244 => 'Kandawala',
169 4245 => 'Kertau',
170 4246 => 'KOC',
171 4247 => 'La Canoa',
172 4248 => 'PSAD56',
173 4249 => 'Lake',
174 4250 => 'Leigon',
175 4251 => 'Liberia 1964',
176 4252 => 'Lome',
177 4253 => 'Luzon 1911',
178 4254 => 'Hito XVIII 1963',
179 4255 => 'Herat North',
180 4256 => 'Mahe 1971',
181 4257 => 'Makassar',
182 4258 => 'EUREF89',
183 4259 => 'Malongo 1987',
184 4260 => 'Manoca',
185 4261 => 'Merchich',
186 4262 => 'Massawa',
187 4263 => 'Minna',
188 4264 => 'Mhast',
189 4265 => 'Monte Mario',
190 4266 => 'M poraloko',
191 4267 => 'NAD27',
192 4268 => 'NAD Michigan',
193 4269 => 'NAD83',
194 4270 => 'Nahrwan 1967',
195 4271 => 'Naparima 1972',
196 4272 => 'GD49',
197 4273 => 'NGO 1948',
198 4274 => '73',
199 4275 => 'NTF',
200 4276 => 'NSWC 9Z 2',
201 4277 => 'OSGB 1936',
202 4278 => 'OSGB70',
203 4279 => 'OS SN80',
204 4280 => 'Padang',
205 4281 => 'Palestine 1923',
206 4282 => 'Pointe Noire',
207 4283 => 'GDA94',
208 4284 => 'Pulkovo 1942',
209 4285 => 'Qatar',
210 4286 => 'Qatar 1948',
211 4287 => 'Qornoq',
212 4288 => 'Loma Quintana',
213 4289 => 'Amersfoort',
214 4290 => 'RT38',
215 4291 => 'SAD69',
216 4292 => 'Sapper Hill 1943',
217 4293 => 'Schwarzeck',
218 4294 => 'Segora',
219 4295 => 'Serindung',
220 4296 => 'Sudan',
221 4297 => 'Tananarive',
222 4298 => 'Timbalai 1948',
223 4299 => 'TM65',
224 4300 => 'TM75',
225 4301 => 'Tokyo',
226 4302 => 'Trinidad 1903',
227 4303 => 'TC 1948',
228 4304 => 'Voirol 1875',
229 4305 => 'Voirol Unifie',
230 4306 => 'Bern 1938',
231 4307 => 'Nord Sahara 1959',
232 4308 => 'Stockholm 1938',
233 4309 => 'Yacare',
234 4310 => 'Yoff',
235 4311 => 'Zanderij',
236 4312 => 'MGI',
237 4313 => 'Belge 1972',
238 4314 => 'DHDN',
239 4315 => 'Conakry 1905',
240 4317 => 'Dealul Piscului 1970',
241 4322 => 'WGS 72',
242 4324 => 'WGS 72BE',
243 4326 => 'WGS 84',
244 4801 => 'Bern 1898 Bern',
245 4802 => 'Bogota Bogota',
246 4803 => 'Lisbon Lisbon',
247 4804 => 'Makassar Jakarta',
248 4805 => 'MGI Ferro',
249 4806 => 'Monte Mario Rome',
250 4807 => 'NTF Paris',
251 4808 => 'Padang Jakarta',
252 4809 => 'Belge 1950 Brussels',
253 4810 => 'Tananarive Paris',
254 4811 => 'Voirol 1875 Paris',
255 4812 => 'Voirol Unifie Paris',
256 4813 => 'Batavia Jakarta',
257 4901 => 'ATF Paris',
258 4902 => 'NDG Paris',
259 32767 => 'User Defined',
260 },
261 },
262 2049 => 'GeogCitation',
263 2050 => {
264 Name => 'GeogGeodeticDatum',
265 PrintConv => {
266 # epsg_datum,
267 6001 => 'Airy 1830',
268 6002 => 'Airy Modified 1849',
269 6003 => 'Australian National Spheroid',
270 6004 => 'Bessel 1841',
271 6005 => 'Bessel Modified',
272 6006 => 'Bessel Namibia',
273 6007 => 'Clarke 1858',
274 6008 => 'Clarke 1866',
275 6009 => 'Clarke 1866 Michigan',
276 6010 => 'Clarke 1880 Benoit',
277 6011 => 'Clarke 1880 IGN',
278 6012 => 'Clarke 1880 RGS',
279 6013 => 'Clarke 1880 Arc',
280 6014 => 'Clarke 1880 SGA 1922',
281 6015 => 'Everest 1830 1937 Adjustment',
282 6016 => 'Everest 1830 1967 Definition',
283 6017 => 'Everest 1830 1975 Definition',
284 6018 => 'Everest 1830 Modified',
285 6019 => 'GRS 1980',
286 6020 => 'Helmert 1906',
287 6021 => 'Indonesian National Spheroid',
288 6022 => 'International 1924',
289 6023 => 'International 1967',
290 6024 => 'Krassowsky 1960',
291 6025 => 'NWL9D',
292 6026 => 'NWL10D',
293 6027 => 'Plessis 1817',
294 6028 => 'Struve 1860',
295 6029 => 'War Office',
296 6030 => 'WGS84',
297 6031 => 'GEM10C',
298 6032 => 'OSU86F',
299 6033 => 'OSU91A',
300 6034 => 'Clarke 1880',
301 6035 => 'Sphere',
302 6201 => 'Adindan',
303 6202 => 'Australian Geodetic Datum 1966',
304 6203 => 'Australian Geodetic Datum 1984',
305 6204 => 'Ain el Abd 1970',
306 6205 => 'Afgooye',
307 6206 => 'Agadez',
308 6207 => 'Lisbon',
309 6208 => 'Aratu',
310 6209 => 'Arc 1950',
311 6210 => 'Arc 1960',
312 6211 => 'Batavia',
313 6212 => 'Barbados',
314 6213 => 'Beduaram',
315 6214 => 'Beijing 1954',
316 6215 => 'Reseau National Belge 1950',
317 6216 => 'Bermuda 1957',
318 6217 => 'Bern 1898',
319 6218 => 'Bogota',
320 6219 => 'Bukit Rimpah',
321 6220 => 'Camacupa',
322 6221 => 'Campo Inchauspe',
323 6222 => 'Cape',
324 6223 => 'Carthage',
325 6224 => 'Chua',
326 6225 => 'Corrego Alegre',
327 6226 => 'Cote d Ivoire',
328 6227 => 'Deir ez Zor',
329 6228 => 'Douala',
330 6229 => 'Egypt 1907',
331 6230 => 'European Datum 1950',
332 6231 => 'European Datum 1987',
333 6232 => 'Fahud',
334 6233 => 'Gandajika 1970',
335 6234 => 'Garoua',
336 6235 => 'Guyane Francaise',
337 6236 => 'Hu Tzu Shan',
338 6237 => 'Hungarian Datum 1972',
339 6238 => 'Indonesian Datum 1974',
340 6239 => 'Indian 1954',
341 6240 => 'Indian 1975',
342 6241 => 'Jamaica 1875',
343 6242 => 'Jamaica 1969',
344 6243 => 'Kalianpur',
345 6244 => 'Kandawala',
346 6245 => 'Kertau',
347 6246 => 'Kuwait Oil Company',
348 6247 => 'La Canoa',
349 6248 => 'Provisional S American Datum 1956',
350 6249 => 'Lake',
351 6250 => 'Leigon',
352 6251 => 'Liberia 1964',
353 6252 => 'Lome',
354 6253 => 'Luzon 1911',
355 6254 => 'Hito XVIII 1963',
356 6255 => 'Herat North',
357 6256 => 'Mahe 1971',
358 6257 => 'Makassar',
359 6258 => 'European Reference System 1989',
360 6259 => 'Malongo 1987',
361 6260 => 'Manoca',
362 6261 => 'Merchich',
363 6262 => 'Massawa',
364 6263 => 'Minna',
365 6264 => 'Mhast',
366 6265 => 'Monte Mario',
367 6266 => 'M poraloko',
368 6267 => 'North American Datum 1927',
369 6268 => 'NAD Michigan',
370 6269 => 'North American Datum 1983',
371 6270 => 'Nahrwan 1967',
372 6271 => 'Naparima 1972',
373 6272 => 'New Zealand Geodetic Datum 1949',
374 6273 => 'NGO 1948',
375 6274 => 'Datum 73',
376 6275 => 'Nouvelle Triangulation Francaise',
377 6276 => 'NSWC 9Z 2',
378 6277 => 'OSGB 1936',
379 6278 => 'OSGB 1970 SN',
380 6279 => 'OS SN 1980',
381 6280 => 'Padang 1884',
382 6281 => 'Palestine 1923',
383 6282 => 'Pointe Noire',
384 6283 => 'Geocentric Datum of Australia 1994',
385 6284 => 'Pulkovo 1942',
386 6285 => 'Qatar',
387 6286 => 'Qatar 1948',
388 6287 => 'Qornoq',
389 6288 => 'Loma Quintana',
390 6289 => 'Amersfoort',
391 6290 => 'RT38',
392 6291 => 'South American Datum 1969',
393 6292 => 'Sapper Hill 1943',
394 6293 => 'Schwarzeck',
395 6294 => 'Segora',
396 6295 => 'Serindung',
397 6296 => 'Sudan',
398 6297 => 'Tananarive 1925',
399 6298 => 'Timbalai 1948',
400 6299 => 'TM65',
401 6300 => 'TM75',
402 6301 => 'Tokyo',
403 6302 => 'Trinidad 1903',
404 6303 => 'Trucial Coast 1948',
405 6304 => 'Voirol 1875',
406 6305 => 'Voirol Unifie 1960',
407 6306 => 'Bern 1938',
408 6307 => 'Nord Sahara 1959',
409 6308 => 'Stockholm 1938',
410 6309 => 'Yacare',
411 6310 => 'Yoff',
412 6311 => 'Zanderij',
413 6312 => 'Militar Geographische Institut',
414 6313 => 'Reseau National Belge 1972',
415 6314 => 'Deutsche Hauptdreiecksnetz',
416 6315 => 'Conakry 1905',
417 6317 => 'Dealul Piscului 1970',
418 6322 => 'WGS72',
419 6324 => 'WGS72 Transit Broadcast Ephemeris',
420 6326 => 'WGS84',
421 6901 => 'Ancienne Triangulation Francaise',
422 6902 => 'Nord de Guerre',
423 32767 => 'User Defined',
424 },
425 },
426 2051 => {
427 Name => 'GeogPrimeMeridian',
428 PrintConv => {
429 # epsg_pm
430 8901 => 'Greenwich',
431 8902 => 'Lisbon',
432 8903 => 'Paris',
433 8904 => 'Bogota',
434 8905 => 'Madrid',
435 8906 => 'Rome',
436 8907 => 'Bern',
437 8908 => 'Jakarta',
438 8909 => 'Ferro',
439 8910 => 'Brussels',
440 8911 => 'Stockholm',
441 32767 => 'User Defined',
442 },
443 },
444 2052 => {
445 Name => 'GeogLinearUnits',
446 SeparateTable => 'Units',
447 PrintConv => \%epsg_units,
448 },
449 2053 => 'GeogLinearUnitSize',
450 2054 => {
451 Name => 'GeogAngularUnits',
452 SeparateTable => 'Units',
453 PrintConv => \%epsg_units,
454 },
455 2055 => 'GeogAngularUnitSize',
456 2056 => {
457 Name => 'GeogEllipsoid',
458 PrintConv => {
459 # epsg_ellipse
460 7001 => 'Airy 1830',
461 7002 => 'Airy Modified 1849',
462 7003 => 'Australian National Spheroid',
463 7004 => 'Bessel 1841',
464 7005 => 'Bessel Modified',
465 7006 => 'Bessel Namibia',
466 7007 => 'Clarke 1858',
467 7008 => 'Clarke 1866',
468 7009 => 'Clarke 1866 Michigan',
469 7010 => 'Clarke 1880 Benoit',
470 7011 => 'Clarke 1880 IGN',
471 7012 => 'Clarke 1880 RGS',
472 7013 => 'Clarke 1880 Arc',
473 7014 => 'Clarke 1880 SGA 1922',
474 7015 => 'Everest 1830 1937 Adjustment',
475 7016 => 'Everest 1830 1967 Definition',
476 7017 => 'Everest 1830 1975 Definition',
477 7018 => 'Everest 1830 Modified',
478 7019 => 'GRS 1980',
479 7020 => 'Helmert 1906',
480 7021 => 'Indonesian National Spheroid',
481 7022 => 'International 1924',
482 7023 => 'International 1967',
483 7024 => 'Krassowsky 1940',
484 7025 => 'NWL 9D',
485 7026 => 'NWL 10D',
486 7027 => 'Plessis 1817',
487 7028 => 'Struve 1860',
488 7029 => 'War Office',
489 7030 => 'WGS 84',
490 7031 => 'GEM 10C',
491 7032 => 'OSU86F',
492 7033 => 'OSU91A',
493 7034 => 'Clarke 1880',
494 7035 => 'Sphere',
495 32767 => 'User Defined',
496 },
497 },
498 2057 => 'GeogSemiMajorAxis',
499 2058 => 'GeogSemiMinorAxis',
500 2059 => 'GeogInvFlattening',
501 2060 => {
502 Name => 'GeogAzimuthUnits',
503 SeparateTable => 'Units',
504 PrintConv => \%epsg_units,
505 },
506 2061 => 'GeogPrimeMeridianLong',
507 3072 => {
508 Name => 'ProjectedCSType',
509 PrintConv => {
510 # epsg_pcs
511 2100 => 'GGRS87 Greek Grid',
512 2176 => 'ETRS89 Poland CS2000 zone 5',
513 2177 => 'ETRS89 Poland CS2000 zone 6',
514 2177 => 'ETRS89 Poland CS2000 zone 7',
515 2178 => 'ETRS89 Poland CS2000 zone 8',
516 2180 => 'ETRS89 Poland CS92',
517 2204 => 'NAD27 Tennessee',
518 2205 => 'NAD83 Kentucky North',
519 2391 => 'KKJ Finland zone 1',
520 2392 => 'KKJ Finland zone 2',
521 2393 => 'KKJ Finland zone 3',
522 2394 => 'KKJ Finland zone 4',
523 2400 => 'RT90 2 5 gon W',
524 2600 => 'Lietuvos Koordinoei Sistema 1994',
525 3053 => 'Hjorsey 1955 Lambert',
526 3057 => 'ISN93 Lambert 1993',
527 3300 => 'Estonian Coordinate System of 1992',
528 20137 => 'Adindan UTM zone 37N',
529 20138 => 'Adindan UTM zone 38N',
530 20248 => 'AGD66 AMG zone 48',
531 20249 => 'AGD66 AMG zone 49',
532 20250 => 'AGD66 AMG zone 50',
533 20251 => 'AGD66 AMG zone 51',
534 20252 => 'AGD66 AMG zone 52',
535 20253 => 'AGD66 AMG zone 53',
536 20254 => 'AGD66 AMG zone 54',
537 20255 => 'AGD66 AMG zone 55',
538 20256 => 'AGD66 AMG zone 56',
539 20257 => 'AGD66 AMG zone 57',
540 20258 => 'AGD66 AMG zone 58',
541 20348 => 'AGD84 AMG zone 48',
542 20349 => 'AGD84 AMG zone 49',
543 20350 => 'AGD84 AMG zone 50',
544 20351 => 'AGD84 AMG zone 51',
545 20352 => 'AGD84 AMG zone 52',
546 20353 => 'AGD84 AMG zone 53',
547 20354 => 'AGD84 AMG zone 54',
548 20355 => 'AGD84 AMG zone 55',
549 20356 => 'AGD84 AMG zone 56',
550 20357 => 'AGD84 AMG zone 57',
551 20358 => 'AGD84 AMG zone 58',
552 20437 => 'Ain el Abd UTM zone 37N',
553 20438 => 'Ain el Abd UTM zone 38N',
554 20439 => 'Ain el Abd UTM zone 39N',
555 20499 => 'Ain el Abd Bahrain Grid',
556 20538 => 'Afgooye UTM zone 38N',
557 20539 => 'Afgooye UTM zone 39N',
558 20700 => 'Lisbon Portugese Grid',
559 20822 => 'Aratu UTM zone 22S',
560 20823 => 'Aratu UTM zone 23S',
561 20824 => 'Aratu UTM zone 24S',
562 20973 => 'Arc 1950 Lo13',
563 20975 => 'Arc 1950 Lo15',
564 20977 => 'Arc 1950 Lo17',
565 20979 => 'Arc 1950 Lo19',
566 20981 => 'Arc 1950 Lo21',
567 20983 => 'Arc 1950 Lo23',
568 20985 => 'Arc 1950 Lo25',
569 20987 => 'Arc 1950 Lo27',
570 20989 => 'Arc 1950 Lo29',
571 20991 => 'Arc 1950 Lo31',
572 20993 => 'Arc 1950 Lo33',
573 20995 => 'Arc 1950 Lo35',
574 21100 => 'Batavia NEIEZ',
575 21148 => 'Batavia UTM zone 48S',
576 21149 => 'Batavia UTM zone 49S',
577 21150 => 'Batavia UTM zone 50S',
578 21413 => 'Beijing Gauss zone 13',
579 21414 => 'Beijing Gauss zone 14',
580 21415 => 'Beijing Gauss zone 15',
581 21416 => 'Beijing Gauss zone 16',
582 21417 => 'Beijing Gauss zone 17',
583 21418 => 'Beijing Gauss zone 18',
584 21419 => 'Beijing Gauss zone 19',
585 21420 => 'Beijing Gauss zone 20',
586 21421 => 'Beijing Gauss zone 21',
587 21422 => 'Beijing Gauss zone 22',
588 21423 => 'Beijing Gauss zone 23',
589 21473 => 'Beijing Gauss 13N',
590 21474 => 'Beijing Gauss 14N',
591 21475 => 'Beijing Gauss 15N',
592 21476 => 'Beijing Gauss 16N',
593 21477 => 'Beijing Gauss 17N',
594 21478 => 'Beijing Gauss 18N',
595 21479 => 'Beijing Gauss 19N',
596 21480 => 'Beijing Gauss 20N',
597 21481 => 'Beijing Gauss 21N',
598 21482 => 'Beijing Gauss 22N',
599 21483 => 'Beijing Gauss 23N',
600 21500 => 'Belge Lambert 50',
601 21790 => 'Bern 1898 Swiss Old',
602 21817 => 'Bogota UTM zone 17N',
603 21818 => 'Bogota UTM zone 18N',
604 21891 => 'Bogota Colombia 3W',
605 21892 => 'Bogota Colombia Bogota',
606 21893 => 'Bogota Colombia 3E',
607 21894 => 'Bogota Colombia 6E',
608 22032 => 'Camacupa UTM 32S',
609 22033 => 'Camacupa UTM 33S',
610 22191 => 'C Inchauspe Argentina 1',
611 22192 => 'C Inchauspe Argentina 2',
612 22193 => 'C Inchauspe Argentina 3',
613 22194 => 'C Inchauspe Argentina 4',
614 22195 => 'C Inchauspe Argentina 5',
615 22196 => 'C Inchauspe Argentina 6',
616 22197 => 'C Inchauspe Argentina 7',
617 22332 => 'Carthage UTM zone 32N',
618 22391 => 'Carthage Nord Tunisie',
619 22392 => 'Carthage Sud Tunisie',
620 22523 => 'Corrego Alegre UTM 23S',
621 22524 => 'Corrego Alegre UTM 24S',
622 22832 => 'Douala UTM zone 32N',
623 22992 => 'Egypt 1907 Red Belt',
624 22993 => 'Egypt 1907 Purple Belt',
625 22994 => 'Egypt 1907 Ext Purple',
626 23028 => 'ED50 UTM zone 28N',
627 23029 => 'ED50 UTM zone 29N',
628 23030 => 'ED50 UTM zone 30N',
629 23031 => 'ED50 UTM zone 31N',
630 23032 => 'ED50 UTM zone 32N',
631 23033 => 'ED50 UTM zone 33N',
632 23034 => 'ED50 UTM zone 34N',
633 23035 => 'ED50 UTM zone 35N',
634 23036 => 'ED50 UTM zone 36N',
635 23037 => 'ED50 UTM zone 37N',
636 23038 => 'ED50 UTM zone 38N',
637 23239 => 'Fahud UTM zone 39N',
638 23240 => 'Fahud UTM zone 40N',
639 23433 => 'Garoua UTM zone 33N',
640 23700 => 'HD72 EOV',
641 23846 => 'ID74 UTM zone 46N',
642 23847 => 'ID74 UTM zone 47N',
643 23848 => 'ID74 UTM zone 48N',
644 23849 => 'ID74 UTM zone 49N',
645 23850 => 'ID74 UTM zone 50N',
646 23851 => 'ID74 UTM zone 51N',
647 23852 => 'ID74 UTM zone 52N',
648 23853 => 'ID74 UTM zone 53N',
649 23886 => 'ID74 UTM zone 46S',
650 23887 => 'ID74 UTM zone 47S',
651 23888 => 'ID74 UTM zone 48S',
652 23889 => 'ID74 UTM zone 49S',
653 23890 => 'ID74 UTM zone 50S',
654 23891 => 'ID74 UTM zone 51S',
655 23892 => 'ID74 UTM zone 52S',
656 23893 => 'ID74 UTM zone 53S',
657 23894 => 'ID74 UTM zone 54S',
658 23947 => 'Indian 1954 UTM 47N',
659 23948 => 'Indian 1954 UTM 48N',
660 24047 => 'Indian 1975 UTM 47N',
661 24048 => 'Indian 1975 UTM 48N',
662 24100 => 'Jamaica 1875 Old Grid',
663 24200 => 'JAD69 Jamaica Grid',
664 24370 => 'Kalianpur India 0',
665 24371 => 'Kalianpur India I',
666 24372 => 'Kalianpur India IIa',
667 24373 => 'Kalianpur India IIIa',
668 24374 => 'Kalianpur India IVa',
669 24382 => 'Kalianpur India IIb',
670 24383 => 'Kalianpur India IIIb',
671 24384 => 'Kalianpur India IVb',
672 24500 => 'Kertau Singapore Grid',
673 24547 => 'Kertau UTM zone 47N',
674 24548 => 'Kertau UTM zone 48N',
675 24720 => 'La Canoa UTM zone 20N',
676 24721 => 'La Canoa UTM zone 21N',
677 24818 => 'PSAD56 UTM zone 18N',
678 24819 => 'PSAD56 UTM zone 19N',
679 24820 => 'PSAD56 UTM zone 20N',
680 24821 => 'PSAD56 UTM zone 21N',
681 24877 => 'PSAD56 UTM zone 17S',
682 24878 => 'PSAD56 UTM zone 18S',
683 24879 => 'PSAD56 UTM zone 19S',
684 24880 => 'PSAD56 UTM zone 20S',
685 24891 => 'PSAD56 Peru west zone',
686 24892 => 'PSAD56 Peru central',
687 24893 => 'PSAD56 Peru east zone',
688 25000 => 'Leigon Ghana Grid',
689 25231 => 'Lome UTM zone 31N',
690 25391 => 'Luzon Philippines I',
691 25392 => 'Luzon Philippines II',
692 25393 => 'Luzon Philippines III',
693 25394 => 'Luzon Philippines IV',
694 25395 => 'Luzon Philippines V',
695 25700 => 'Makassar NEIEZ',
696 25932 => 'Malongo 1987 UTM 32S',
697 26191 => 'Merchich Nord Maroc',
698 26192 => 'Merchich Sud Maroc',
699 26193 => 'Merchich Sahara',
700 26237 => 'Massawa UTM zone 37N',
701 26331 => 'Minna UTM zone 31N',
702 26332 => 'Minna UTM zone 32N',
703 26391 => 'Minna Nigeria West',
704 26392 => 'Minna Nigeria Mid Belt',
705 26393 => 'Minna Nigeria East',
706 26432 => 'Mhast UTM zone 32S',
707 26591 => 'Monte Mario Italy 1',
708 26592 => 'Monte Mario Italy 2',
709 26632 => 'M poraloko UTM 32N',
710 26692 => 'M poraloko UTM 32S',
711 26703 => 'NAD27 UTM zone 3N',
712 26704 => 'NAD27 UTM zone 4N',
713 26705 => 'NAD27 UTM zone 5N',
714 26706 => 'NAD27 UTM zone 6N',
715 26707 => 'NAD27 UTM zone 7N',
716 26708 => 'NAD27 UTM zone 8N',
717 26709 => 'NAD27 UTM zone 9N',
718 26710 => 'NAD27 UTM zone 10N',
719 26711 => 'NAD27 UTM zone 11N',
720 26712 => 'NAD27 UTM zone 12N',
721 26713 => 'NAD27 UTM zone 13N',
722 26714 => 'NAD27 UTM zone 14N',
723 26715 => 'NAD27 UTM zone 15N',
724 26716 => 'NAD27 UTM zone 16N',
725 26717 => 'NAD27 UTM zone 17N',
726 26718 => 'NAD27 UTM zone 18N',
727 26719 => 'NAD27 UTM zone 19N',
728 26720 => 'NAD27 UTM zone 20N',
729 26721 => 'NAD27 UTM zone 21N',
730 26722 => 'NAD27 UTM zone 22N',
731 26729 => 'NAD27 Alabama East',
732 26730 => 'NAD27 Alabama West',
733 26731 => 'NAD27 Alaska zone 1',
734 26732 => 'NAD27 Alaska zone 2',
735 26733 => 'NAD27 Alaska zone 3',
736 26734 => 'NAD27 Alaska zone 4',
737 26735 => 'NAD27 Alaska zone 5',
738 26736 => 'NAD27 Alaska zone 6',
739 26737 => 'NAD27 Alaska zone 7',
740 26738 => 'NAD27 Alaska zone 8',
741 26739 => 'NAD27 Alaska zone 9',
742 26740 => 'NAD27 Alaska zone 10',
743 26741 => 'NAD27 California I',
744 26742 => 'NAD27 California II',
745 26743 => 'NAD27 California III',
746 26744 => 'NAD27 California IV',
747 26745 => 'NAD27 California V',
748 26746 => 'NAD27 California VI',
749 26747 => 'NAD27 California VII',
750 26748 => 'NAD27 Arizona East',
751 26749 => 'NAD27 Arizona Central',
752 26750 => 'NAD27 Arizona West',
753 26751 => 'NAD27 Arkansas North',
754 26752 => 'NAD27 Arkansas South',
755 26753 => 'NAD27 Colorado North',
756 26754 => 'NAD27 Colorado Central',
757 26755 => 'NAD27 Colorado South',
758 26756 => 'NAD27 Connecticut',
759 26757 => 'NAD27 Delaware',
760 26758 => 'NAD27 Florida East',
761 26759 => 'NAD27 Florida West',
762 26760 => 'NAD27 Florida North',
763 26761 => 'NAD27 Hawaii zone 1',
764 26762 => 'NAD27 Hawaii zone 2',
765 26763 => 'NAD27 Hawaii zone 3',
766 26764 => 'NAD27 Hawaii zone 4',
767 26765 => 'NAD27 Hawaii zone 5',
768 26766 => 'NAD27 Georgia East',
769 26767 => 'NAD27 Georgia West',
770 26768 => 'NAD27 Idaho East',
771 26769 => 'NAD27 Idaho Central',
772 26770 => 'NAD27 Idaho West',
773 26771 => 'NAD27 Illinois East',
774 26772 => 'NAD27 Illinois West',
775 26773 => 'NAD27 Indiana East',
776 26774 => 'NAD27 BLM 14N feet',
777 26774 => 'NAD27 Indiana West',
778 26775 => 'NAD27 BLM 15N feet',
779 26775 => 'NAD27 Iowa North',
780 26776 => 'NAD27 BLM 16N feet',
781 26776 => 'NAD27 Iowa South',
782 26777 => 'NAD27 BLM 17N feet',
783 26777 => 'NAD27 Kansas North',
784 26778 => 'NAD27 Kansas South',
785 26779 => 'NAD27 Kentucky North',
786 26780 => 'NAD27 Kentucky South',
787 26781 => 'NAD27 Louisiana North',
788 26782 => 'NAD27 Louisiana South',
789 26783 => 'NAD27 Maine East',
790 26784 => 'NAD27 Maine West',
791 26785 => 'NAD27 Maryland',
792 26786 => 'NAD27 Massachusetts',
793 26787 => 'NAD27 Massachusetts Is',
794 26788 => 'NAD27 Michigan North',
795 26789 => 'NAD27 Michigan Central',
796 26790 => 'NAD27 Michigan South',
797 26791 => 'NAD27 Minnesota North',
798 26792 => 'NAD27 Minnesota Cent',
799 26793 => 'NAD27 Minnesota South',
800 26794 => 'NAD27 Mississippi East',
801 26795 => 'NAD27 Mississippi West',
802 26796 => 'NAD27 Missouri East',
803 26797 => 'NAD27 Missouri Central',
804 26798 => 'NAD27 Missouri West',
805 26801 => 'NAD Michigan Michigan East',
806 26802 => 'NAD Michigan Michigan Old Central',
807 26803 => 'NAD Michigan Michigan West',
808 26903 => 'NAD83 UTM zone 3N',
809 26904 => 'NAD83 UTM zone 4N',
810 26905 => 'NAD83 UTM zone 5N',
811 26906 => 'NAD83 UTM zone 6N',
812 26907 => 'NAD83 UTM zone 7N',
813 26908 => 'NAD83 UTM zone 8N',
814 26909 => 'NAD83 UTM zone 9N',
815 26910 => 'NAD83 UTM zone 10N',
816 26911 => 'NAD83 UTM zone 11N',
817 26912 => 'NAD83 UTM zone 12N',
818 26913 => 'NAD83 UTM zone 13N',
819 26914 => 'NAD83 UTM zone 14N',
820 26915 => 'NAD83 UTM zone 15N',
821 26916 => 'NAD83 UTM zone 16N',
822 26917 => 'NAD83 UTM zone 17N',
823 26918 => 'NAD83 UTM zone 18N',
824 26919 => 'NAD83 UTM zone 19N',
825 26920 => 'NAD83 UTM zone 20N',
826 26921 => 'NAD83 UTM zone 21N',
827 26922 => 'NAD83 UTM zone 22N',
828 26923 => 'NAD83 UTM zone 23N',
829 26929 => 'NAD83 Alabama East',
830 26930 => 'NAD83 Alabama West',
831 26931 => 'NAD83 Alaska zone 1',
832 26932 => 'NAD83 Alaska zone 2',
833 26933 => 'NAD83 Alaska zone 3',
834 26934 => 'NAD83 Alaska zone 4',
835 26935 => 'NAD83 Alaska zone 5',
836 26936 => 'NAD83 Alaska zone 6',
837 26937 => 'NAD83 Alaska zone 7',
838 26938 => 'NAD83 Alaska zone 8',
839 26939 => 'NAD83 Alaska zone 9',
840 26940 => 'NAD83 Alaska zone 10',
841 26941 => 'NAD83 California 1',
842 26942 => 'NAD83 California 2',
843 26943 => 'NAD83 California 3',
844 26944 => 'NAD83 California 4',
845 26945 => 'NAD83 California 5',
846 26946 => 'NAD83 California 6',
847 26948 => 'NAD83 Arizona East',
848 26949 => 'NAD83 Arizona Central',
849 26950 => 'NAD83 Arizona West',
850 26951 => 'NAD83 Arkansas North',
851 26952 => 'NAD83 Arkansas South',
852 26953 => 'NAD83 Colorado North',
853 26954 => 'NAD83 Colorado Central',
854 26955 => 'NAD83 Colorado South',
855 26956 => 'NAD83 Connecticut',
856 26957 => 'NAD83 Delaware',
857 26958 => 'NAD83 Florida East',
858 26959 => 'NAD83 Florida West',
859 26960 => 'NAD83 Florida North',
860 26961 => 'NAD83 Hawaii zone 1',
861 26962 => 'NAD83 Hawaii zone 2',
862 26963 => 'NAD83 Hawaii zone 3',
863 26964 => 'NAD83 Hawaii zone 4',
864 26965 => 'NAD83 Hawaii zone 5',
865 26966 => 'NAD83 Georgia East',
866 26967 => 'NAD83 Georgia West',
867 26968 => 'NAD83 Idaho East',
868 26969 => 'NAD83 Idaho Central',
869 26970 => 'NAD83 Idaho West',
870 26971 => 'NAD83 Illinois East',
871 26972 => 'NAD83 Illinois West',
872 26973 => 'NAD83 Indiana East',
873 26974 => 'NAD83 Indiana West',
874 26975 => 'NAD83 Iowa North',
875 26976 => 'NAD83 Iowa South',
876 26977 => 'NAD83 Kansas North',
877 26978 => 'NAD83 Kansas South',
878 26979 => 'NAD83 Kentucky North',
879 26980 => 'NAD83 Kentucky South',
880 26981 => 'NAD83 Louisiana North',
881 26982 => 'NAD83 Louisiana South',
882 26983 => 'NAD83 Maine East',
883 26984 => 'NAD83 Maine West',
884 26985 => 'NAD83 Maryland',
885 26986 => 'NAD83 Massachusetts',
886 26987 => 'NAD83 Massachusetts Is',
887 26988 => 'NAD83 Michigan North',
888 26989 => 'NAD83 Michigan Central',
889 26990 => 'NAD83 Michigan South',
890 26991 => 'NAD83 Minnesota North',
891 26992 => 'NAD83 Minnesota Cent',
892 26993 => 'NAD83 Minnesota South',
893 26994 => 'NAD83 Mississippi East',
894 26995 => 'NAD83 Mississippi West',
895 26996 => 'NAD83 Missouri East',
896 26997 => 'NAD83 Missouri Central',
897 26998 => 'NAD83 Missouri West',
898 27038 => 'Nahrwan 1967 UTM 38N',
899 27039 => 'Nahrwan 1967 UTM 39N',
900 27040 => 'Nahrwan 1967 UTM 40N',
901 27120 => 'Naparima UTM 20N',
902 27200 => 'GD49 NZ Map Grid',
903 27291 => 'GD49 North Island Grid',
904 27292 => 'GD49 South Island Grid',
905 27429 => 'Datum 73 UTM zone 29N',
906 27500 => 'ATF Nord de Guerre',
907 27581 => 'NTF France I',
908 27582 => 'NTF France II',
909 27583 => 'NTF France III',
910 27591 => 'NTF Nord France',
911 27592 => 'NTF Centre France',
912 27593 => 'NTF Sud France',
913 27700 => 'British National Grid',
914 28232 => 'Point Noire UTM 32S',
915 28348 => 'GDA94 MGA zone 48',
916 28349 => 'GDA94 MGA zone 49',
917 28350 => 'GDA94 MGA zone 50',
918 28351 => 'GDA94 MGA zone 51',
919 28352 => 'GDA94 MGA zone 52',
920 28353 => 'GDA94 MGA zone 53',
921 28354 => 'GDA94 MGA zone 54',
922 28355 => 'GDA94 MGA zone 55',
923 28356 => 'GDA94 MGA zone 56',
924 28357 => 'GDA94 MGA zone 57',
925 28358 => 'GDA94 MGA zone 58',
926 28404 => 'Pulkovo Gauss zone 4',
927 28405 => 'Pulkovo Gauss zone 5',
928 28406 => 'Pulkovo Gauss zone 6',
929 28407 => 'Pulkovo Gauss zone 7',
930 28408 => 'Pulkovo Gauss zone 8',
931 28409 => 'Pulkovo Gauss zone 9',
932 28410 => 'Pulkovo Gauss zone 10',
933 28411 => 'Pulkovo Gauss zone 11',
934 28412 => 'Pulkovo Gauss zone 12',
935 28413 => 'Pulkovo Gauss zone 13',
936 28414 => 'Pulkovo Gauss zone 14',
937 28415 => 'Pulkovo Gauss zone 15',
938 28416 => 'Pulkovo Gauss zone 16',
939 28417 => 'Pulkovo Gauss zone 17',
940 28418 => 'Pulkovo Gauss zone 18',
941 28419 => 'Pulkovo Gauss zone 19',
942 28420 => 'Pulkovo Gauss zone 20',
943 28421 => 'Pulkovo Gauss zone 21',
944 28422 => 'Pulkovo Gauss zone 22',
945 28423 => 'Pulkovo Gauss zone 23',
946 28424 => 'Pulkovo Gauss zone 24',
947 28425 => 'Pulkovo Gauss zone 25',
948 28426 => 'Pulkovo Gauss zone 26',
949 28427 => 'Pulkovo Gauss zone 27',
950 28428 => 'Pulkovo Gauss zone 28',
951 28429 => 'Pulkovo Gauss zone 29',
952 28430 => 'Pulkovo Gauss zone 30',
953 28431 => 'Pulkovo Gauss zone 31',
954 28432 => 'Pulkovo Gauss zone 32',
955 28464 => 'Pulkovo Gauss 4N',
956 28465 => 'Pulkovo Gauss 5N',
957 28466 => 'Pulkovo Gauss 6N',
958 28467 => 'Pulkovo Gauss 7N',
959 28468 => 'Pulkovo Gauss 8N',
960 28469 => 'Pulkovo Gauss 9N',
961 28470 => 'Pulkovo Gauss 10N',
962 28471 => 'Pulkovo Gauss 11N',
963 28472 => 'Pulkovo Gauss 12N',
964 28473 => 'Pulkovo Gauss 13N',
965 28474 => 'Pulkovo Gauss 14N',
966 28475 => 'Pulkovo Gauss 15N',
967 28476 => 'Pulkovo Gauss 16N',
968 28477 => 'Pulkovo Gauss 17N',
969 28478 => 'Pulkovo Gauss 18N',
970 28479 => 'Pulkovo Gauss 19N',
971 28480 => 'Pulkovo Gauss 20N',
972 28481 => 'Pulkovo Gauss 21N',
973 28482 => 'Pulkovo Gauss 22N',
974 28483 => 'Pulkovo Gauss 23N',
975 28484 => 'Pulkovo Gauss 24N',
976 28485 => 'Pulkovo Gauss 25N',
977 28486 => 'Pulkovo Gauss 26N',
978 28487 => 'Pulkovo Gauss 27N',
979 28488 => 'Pulkovo Gauss 28N',
980 28489 => 'Pulkovo Gauss 29N',
981 28490 => 'Pulkovo Gauss 30N',
982 28491 => 'Pulkovo Gauss 31N',
983 28492 => 'Pulkovo Gauss 32N',
984 28600 => 'Qatar National Grid',
985 28991 => 'RD Netherlands Old',
986 28992 => 'RD Netherlands New',
987 29118 => 'SAD69 UTM zone 18N',
988 29119 => 'SAD69 UTM zone 19N',
989 29120 => 'SAD69 UTM zone 20N',
990 29121 => 'SAD69 UTM zone 21N',
991 29122 => 'SAD69 UTM zone 22N',
992 29177 => 'SAD69 UTM zone 17S',
993 29178 => 'SAD69 UTM zone 18S',
994 29179 => 'SAD69 UTM zone 19S',
995 29180 => 'SAD69 UTM zone 20S',
996 29181 => 'SAD69 UTM zone 21S',
997 29182 => 'SAD69 UTM zone 22S',
998 29183 => 'SAD69 UTM zone 23S',
999 29184 => 'SAD69 UTM zone 24S',
1000 29185 => 'SAD69 UTM zone 25S',
1001 29220 => 'Sapper Hill UTM 20S',
1002 29221 => 'Sapper Hill UTM 21S',
1003 29333 => 'Schwarzeck UTM 33S',
1004 29635 => 'Sudan UTM zone 35N',
1005 29636 => 'Sudan UTM zone 36N',
1006 29700 => 'Tananarive Laborde',
1007 29738 => 'Tananarive UTM 38S',
1008 29739 => 'Tananarive UTM 39S',
1009 29800 => 'Timbalai 1948 Borneo',
1010 29849 => 'Timbalai 1948 UTM 49N',
1011 29850 => 'Timbalai 1948 UTM 50N',
1012 29900 => 'TM65 Irish Nat Grid',
1013 30200 => 'Trinidad 1903 Trinidad',
1014 30339 => 'TC 1948 UTM zone 39N',
1015 30340 => 'TC 1948 UTM zone 40N',
1016 30491 => 'Voirol N Algerie ancien',
1017 30492 => 'Voirol S Algerie ancien',
1018 30591 => 'Voirol Unifie N Algerie',
1019 30592 => 'Voirol Unifie S Algerie',
1020 30600 => 'Bern 1938 Swiss New',
1021 30729 => 'Nord Sahara UTM 29N',
1022 30730 => 'Nord Sahara UTM 30N',
1023 30731 => 'Nord Sahara UTM 31N',
1024 30732 => 'Nord Sahara UTM 32N',
1025 31028 => 'Yoff UTM zone 28N',
1026 31121 => 'Zanderij UTM zone 21N',
1027 31291 => 'MGI Austria West',
1028 31292 => 'MGI Austria Central',
1029 31293 => 'MGI Austria East',
1030 31300 => 'Belge Lambert 72',
1031 31491 => 'DHDN Germany zone 1',
1032 31492 => 'DHDN Germany zone 2',
1033 31493 => 'DHDN Germany zone 3',
1034 31494 => 'DHDN Germany zone 4',
1035 31495 => 'DHDN Germany zone 5',
1036 31700 => 'Dealul Piscului 1970 Stereo 70',
1037 32001 => 'NAD27 Montana North',
1038 32002 => 'NAD27 Montana Central',
1039 32003 => 'NAD27 Montana South',
1040 32005 => 'NAD27 Nebraska North',
1041 32006 => 'NAD27 Nebraska South',
1042 32007 => 'NAD27 Nevada East',
1043 32008 => 'NAD27 Nevada Central',
1044 32009 => 'NAD27 Nevada West',
1045 32010 => 'NAD27 New Hampshire',
1046 32011 => 'NAD27 New Jersey',
1047 32012 => 'NAD27 New Mexico East',
1048 32013 => 'NAD27 New Mexico Cent',
1049 32014 => 'NAD27 New Mexico West',
1050 32015 => 'NAD27 New York East',
1051 32016 => 'NAD27 New York Central',
1052 32017 => 'NAD27 New York West',
1053 32018 => 'NAD27 New York Long Is',
1054 32019 => 'NAD27 North Carolina',
1055 32020 => 'NAD27 North Dakota N',
1056 32021 => 'NAD27 North Dakota S',
1057 32022 => 'NAD27 Ohio North',
1058 32023 => 'NAD27 Ohio South',
1059 32024 => 'NAD27 Oklahoma North',
1060 32025 => 'NAD27 Oklahoma South',
1061 32026 => 'NAD27 Oregon North',
1062 32027 => 'NAD27 Oregon South',
1063 32028 => 'NAD27 Pennsylvania N',
1064 32029 => 'NAD27 Pennsylvania S',
1065 32030 => 'NAD27 Rhode Island',
1066 32031 => 'NAD27 South Carolina N',
1067 32033 => 'NAD27 South Carolina S',
1068 32034 => 'NAD27 South Dakota N',
1069 32035 => 'NAD27 South Dakota S',
1070 32036 => 'NAD27 Tennessee',
1071 32037 => 'NAD27 Texas North',
1072 32038 => 'NAD27 Texas North Cen',
1073 32039 => 'NAD27 Texas Central',
1074 32040 => 'NAD27 Texas South Cen',
1075 32041 => 'NAD27 Texas South',
1076 32042 => 'NAD27 Utah North',
1077 32043 => 'NAD27 Utah Central',
1078 32044 => 'NAD27 Utah South',
1079 32045 => 'NAD27 Vermont',
1080 32046 => 'NAD27 Virginia North',
1081 32047 => 'NAD27 Virginia South',
1082 32048 => 'NAD27 Washington North',
1083 32049 => 'NAD27 Washington South',
1084 32050 => 'NAD27 West Virginia N',
1085 32051 => 'NAD27 West Virginia S',
1086 32052 => 'NAD27 Wisconsin North',
1087 32053 => 'NAD27 Wisconsin Cen',
1088 32054 => 'NAD27 Wisconsin South',
1089 32055 => 'NAD27 Wyoming East',
1090 32056 => 'NAD27 Wyoming E Cen',
1091 32057 => 'NAD27 Wyoming W Cen',
1092 32058 => 'NAD27 Wyoming West',
1093 32059 => 'NAD27 Puerto Rico',
1094 32060 => 'NAD27 St Croix',
1095 32100 => 'NAD83 Montana',
1096 32104 => 'NAD83 Nebraska',
1097 32107 => 'NAD83 Nevada East',
1098 32108 => 'NAD83 Nevada Central',
1099 32109 => 'NAD83 Nevada West',
1100 32110 => 'NAD83 New Hampshire',
1101 32111 => 'NAD83 New Jersey',
1102 32112 => 'NAD83 New Mexico East',
1103 32113 => 'NAD83 New Mexico Cent',
1104 32114 => 'NAD83 New Mexico West',
1105 32115 => 'NAD83 New York East',
1106 32116 => 'NAD83 New York Central',
1107 32117 => 'NAD83 New York West',
1108 32118 => 'NAD83 New York Long Is',
1109 32119 => 'NAD83 North Carolina',
1110 32120 => 'NAD83 North Dakota N',
1111 32121 => 'NAD83 North Dakota S',
1112 32122 => 'NAD83 Ohio North',
1113 32123 => 'NAD83 Ohio South',
1114 32124 => 'NAD83 Oklahoma North',
1115 32125 => 'NAD83 Oklahoma South',
1116 32126 => 'NAD83 Oregon North',
1117 32127 => 'NAD83 Oregon South',
1118 32128 => 'NAD83 Pennsylvania N',
1119 32129 => 'NAD83 Pennsylvania S',
1120 32130 => 'NAD83 Rhode Island',
1121 32133 => 'NAD83 South Carolina',
1122 32134 => 'NAD83 South Dakota N',
1123 32135 => 'NAD83 South Dakota S',
1124 32136 => 'NAD83 Tennessee',
1125 32137 => 'NAD83 Texas North',
1126 32138 => 'NAD83 Texas North Cen',
1127 32139 => 'NAD83 Texas Central',
1128 32140 => 'NAD83 Texas South Cen',
1129 32141 => 'NAD83 Texas South',
1130 32142 => 'NAD83 Utah North',
1131 32143 => 'NAD83 Utah Central',
1132 32144 => 'NAD83 Utah South',
1133 32145 => 'NAD83 Vermont',
1134 32146 => 'NAD83 Virginia North',
1135 32147 => 'NAD83 Virginia South',
1136 32148 => 'NAD83 Washington North',
1137 32149 => 'NAD83 Washington South',
1138 32150 => 'NAD83 West Virginia N',
1139 32151 => 'NAD83 West Virginia S',
1140 32152 => 'NAD83 Wisconsin North',
1141 32153 => 'NAD83 Wisconsin Cen',
1142 32154 => 'NAD83 Wisconsin South',
1143 32155 => 'NAD83 Wyoming East',
1144 32156 => 'NAD83 Wyoming E Cen',
1145 32157 => 'NAD83 Wyoming W Cen',
1146 32158 => 'NAD83 Wyoming West',
1147 32161 => 'NAD83 Puerto Rico Virgin Is',
1148 32201 => 'WGS72 UTM zone 1N',
1149 32202 => 'WGS72 UTM zone 2N',
1150 32203 => 'WGS72 UTM zone 3N',
1151 32204 => 'WGS72 UTM zone 4N',
1152 32205 => 'WGS72 UTM zone 5N',
1153 32206 => 'WGS72 UTM zone 6N',
1154 32207 => 'WGS72 UTM zone 7N',
1155 32208 => 'WGS72 UTM zone 8N',
1156 32209 => 'WGS72 UTM zone 9N',
1157 32210 => 'WGS72 UTM zone 10N',
1158 32211 => 'WGS72 UTM zone 11N',
1159 32212 => 'WGS72 UTM zone 12N',
1160 32213 => 'WGS72 UTM zone 13N',
1161 32214 => 'WGS72 UTM zone 14N',
1162 32215 => 'WGS72 UTM zone 15N',
1163 32216 => 'WGS72 UTM zone 16N',
1164 32217 => 'WGS72 UTM zone 17N',
1165 32218 => 'WGS72 UTM zone 18N',
1166 32219 => 'WGS72 UTM zone 19N',
1167 32220 => 'WGS72 UTM zone 20N',
1168 32221 => 'WGS72 UTM zone 21N',
1169 32222 => 'WGS72 UTM zone 22N',
1170 32223 => 'WGS72 UTM zone 23N',
1171 32224 => 'WGS72 UTM zone 24N',
1172 32225 => 'WGS72 UTM zone 25N',
1173 32226 => 'WGS72 UTM zone 26N',
1174 32227 => 'WGS72 UTM zone 27N',
1175 32228 => 'WGS72 UTM zone 28N',
1176 32229 => 'WGS72 UTM zone 29N',
1177 32230 => 'WGS72 UTM zone 30N',
1178 32231 => 'WGS72 UTM zone 31N',
1179 32232 => 'WGS72 UTM zone 32N',
1180 32233 => 'WGS72 UTM zone 33N',
1181 32234 => 'WGS72 UTM zone 34N',
1182 32235 => 'WGS72 UTM zone 35N',
1183 32236 => 'WGS72 UTM zone 36N',
1184 32237 => 'WGS72 UTM zone 37N',
1185 32238 => 'WGS72 UTM zone 38N',
1186 32239 => 'WGS72 UTM zone 39N',
1187 32240 => 'WGS72 UTM zone 40N',
1188 32241 => 'WGS72 UTM zone 41N',
1189 32242 => 'WGS72 UTM zone 42N',
1190 32243 => 'WGS72 UTM zone 43N',
1191 32244 => 'WGS72 UTM zone 44N',
1192 32245 => 'WGS72 UTM zone 45N',
1193 32246 => 'WGS72 UTM zone 46N',
1194 32247 => 'WGS72 UTM zone 47N',
1195 32248 => 'WGS72 UTM zone 48N',
1196 32249 => 'WGS72 UTM zone 49N',
1197 32250 => 'WGS72 UTM zone 50N',
1198 32251 => 'WGS72 UTM zone 51N',
1199 32252 => 'WGS72 UTM zone 52N',
1200 32253 => 'WGS72 UTM zone 53N',
1201 32254 => 'WGS72 UTM zone 54N',
1202 32255 => 'WGS72 UTM zone 55N',
1203 32256 => 'WGS72 UTM zone 56N',
1204 32257 => 'WGS72 UTM zone 57N',
1205 32258 => 'WGS72 UTM zone 58N',
1206 32259 => 'WGS72 UTM zone 59N',
1207 32260 => 'WGS72 UTM zone 60N',
1208 32301 => 'WGS72 UTM zone 1S',
1209 32302 => 'WGS72 UTM zone 2S',
1210 32303 => 'WGS72 UTM zone 3S',
1211 32304 => 'WGS72 UTM zone 4S',
1212 32305 => 'WGS72 UTM zone 5S',
1213 32306 => 'WGS72 UTM zone 6S',
1214 32307 => 'WGS72 UTM zone 7S',
1215 32308 => 'WGS72 UTM zone 8S',
1216 32309 => 'WGS72 UTM zone 9S',
1217 32310 => 'WGS72 UTM zone 10S',
1218 32311 => 'WGS72 UTM zone 11S',
1219 32312 => 'WGS72 UTM zone 12S',
1220 32313 => 'WGS72 UTM zone 13S',
1221 32314 => 'WGS72 UTM zone 14S',
1222 32315 => 'WGS72 UTM zone 15S',
1223 32316 => 'WGS72 UTM zone 16S',
1224 32317 => 'WGS72 UTM zone 17S',
1225 32318 => 'WGS72 UTM zone 18S',
1226 32319 => 'WGS72 UTM zone 19S',
1227 32320 => 'WGS72 UTM zone 20S',
1228 32321 => 'WGS72 UTM zone 21S',
1229 32322 => 'WGS72 UTM zone 22S',
1230 32323 => 'WGS72 UTM zone 23S',
1231 32324 => 'WGS72 UTM zone 24S',
1232 32325 => 'WGS72 UTM zone 25S',
1233 32326 => 'WGS72 UTM zone 26S',
1234 32327 => 'WGS72 UTM zone 27S',
1235 32328 => 'WGS72 UTM zone 28S',
1236 32329 => 'WGS72 UTM zone 29S',
1237 32330 => 'WGS72 UTM zone 30S',
1238 32331 => 'WGS72 UTM zone 31S',
1239 32332 => 'WGS72 UTM zone 32S',
1240 32333 => 'WGS72 UTM zone 33S',
1241 32334 => 'WGS72 UTM zone 34S',
1242 32335 => 'WGS72 UTM zone 35S',
1243 32336 => 'WGS72 UTM zone 36S',
1244 32337 => 'WGS72 UTM zone 37S',
1245 32338 => 'WGS72 UTM zone 38S',
1246 32339 => 'WGS72 UTM zone 39S',
1247 32340 => 'WGS72 UTM zone 40S',
1248 32341 => 'WGS72 UTM zone 41S',
1249 32342 => 'WGS72 UTM zone 42S',
1250 32343 => 'WGS72 UTM zone 43S',
1251 32344 => 'WGS72 UTM zone 44S',
1252 32345 => 'WGS72 UTM zone 45S',
1253 32346 => 'WGS72 UTM zone 46S',
1254 32347 => 'WGS72 UTM zone 47S',
1255 32348 => 'WGS72 UTM zone 48S',
1256 32349 => 'WGS72 UTM zone 49S',
1257 32350 => 'WGS72 UTM zone 50S',
1258 32351 => 'WGS72 UTM zone 51S',
1259 32352 => 'WGS72 UTM zone 52S',
1260 32353 => 'WGS72 UTM zone 53S',
1261 32354 => 'WGS72 UTM zone 54S',
1262 32355 => 'WGS72 UTM zone 55S',
1263 32356 => 'WGS72 UTM zone 56S',
1264 32357 => 'WGS72 UTM zone 57S',
1265 32358 => 'WGS72 UTM zone 58S',
1266 32359 => 'WGS72 UTM zone 59S',
1267 32360 => 'WGS72 UTM zone 60S',
1268 32401 => 'WGS72BE UTM zone 1N',
1269 32402 => 'WGS72BE UTM zone 2N',
1270 32403 => 'WGS72BE UTM zone 3N',
1271 32404 => 'WGS72BE UTM zone 4N',
1272 32405 => 'WGS72BE UTM zone 5N',
1273 32406 => 'WGS72BE UTM zone 6N',
1274 32407 => 'WGS72BE UTM zone 7N',
1275 32408 => 'WGS72BE UTM zone 8N',
1276 32409 => 'WGS72BE UTM zone 9N',
1277 32410 => 'WGS72BE UTM zone 10N',
1278 32411 => 'WGS72BE UTM zone 11N',
1279 32412 => 'WGS72BE UTM zone 12N',
1280 32413 => 'WGS72BE UTM zone 13N',
1281 32414 => 'WGS72BE UTM zone 14N',
1282 32415 => 'WGS72BE UTM zone 15N',
1283 32416 => 'WGS72BE UTM zone 16N',
1284 32417 => 'WGS72BE UTM zone 17N',
1285 32418 => 'WGS72BE UTM zone 18N',
1286 32419 => 'WGS72BE UTM zone 19N',
1287 32420 => 'WGS72BE UTM zone 20N',
1288 32421 => 'WGS72BE UTM zone 21N',
1289 32422 => 'WGS72BE UTM zone 22N',
1290 32423 => 'WGS72BE UTM zone 23N',
1291 32424 => 'WGS72BE UTM zone 24N',
1292 32425 => 'WGS72BE UTM zone 25N',
1293 32426 => 'WGS72BE UTM zone 26N',
1294 32427 => 'WGS72BE UTM zone 27N',
1295 32428 => 'WGS72BE UTM zone 28N',
1296 32429 => 'WGS72BE UTM zone 29N',
1297 32430 => 'WGS72BE UTM zone 30N',
1298 32431 => 'WGS72BE UTM zone 31N',
1299 32432 => 'WGS72BE UTM zone 32N',
1300 32433 => 'WGS72BE UTM zone 33N',
1301 32434 => 'WGS72BE UTM zone 34N',
1302 32435 => 'WGS72BE UTM zone 35N',
1303 32436 => 'WGS72BE UTM zone 36N',
1304 32437 => 'WGS72BE UTM zone 37N',
1305 32438 => 'WGS72BE UTM zone 38N',
1306 32439 => 'WGS72BE UTM zone 39N',
1307 32440 => 'WGS72BE UTM zone 40N',
1308 32441 => 'WGS72BE UTM zone 41N',
1309 32442 => 'WGS72BE UTM zone 42N',
1310 32443 => 'WGS72BE UTM zone 43N',
1311 32444 => 'WGS72BE UTM zone 44N',
1312 32445 => 'WGS72BE UTM zone 45N',
1313 32446 => 'WGS72BE UTM zone 46N',
1314 32447 => 'WGS72BE UTM zone 47N',
1315 32448 => 'WGS72BE UTM zone 48N',
1316 32449 => 'WGS72BE UTM zone 49N',
1317 32450 => 'WGS72BE UTM zone 50N',
1318 32451 => 'WGS72BE UTM zone 51N',
1319 32452 => 'WGS72BE UTM zone 52N',
1320 32453 => 'WGS72BE UTM zone 53N',
1321 32454 => 'WGS72BE UTM zone 54N',
1322 32455 => 'WGS72BE UTM zone 55N',
1323 32456 => 'WGS72BE UTM zone 56N',
1324 32457 => 'WGS72BE UTM zone 57N',
1325 32458 => 'WGS72BE UTM zone 58N',
1326 32459 => 'WGS72BE UTM zone 59N',
1327 32460 => 'WGS72BE UTM zone 60N',
1328 32501 => 'WGS72BE UTM zone 1S',
1329 32502 => 'WGS72BE UTM zone 2S',
1330 32503 => 'WGS72BE UTM zone 3S',
1331 32504 => 'WGS72BE UTM zone 4S',
1332 32505 => 'WGS72BE UTM zone 5S',
1333 32506 => 'WGS72BE UTM zone 6S',
1334 32507 => 'WGS72BE UTM zone 7S',
1335 32508 => 'WGS72BE UTM zone 8S',
1336 32509 => 'WGS72BE UTM zone 9S',
1337 32510 => 'WGS72BE UTM zone 10S',
1338 32511 => 'WGS72BE UTM zone 11S',
1339 32512 => 'WGS72BE UTM zone 12S',
1340 32513 => 'WGS72BE UTM zone 13S',
1341 32514 => 'WGS72BE UTM zone 14S',
1342 32515 => 'WGS72BE UTM zone 15S',
1343 32516 => 'WGS72BE UTM zone 16S',
1344 32517 => 'WGS72BE UTM zone 17S',
1345 32518 => 'WGS72BE UTM zone 18S',
1346 32519 => 'WGS72BE UTM zone 19S',
1347 32520 => 'WGS72BE UTM zone 20S',
1348 32521 => 'WGS72BE UTM zone 21S',
1349 32522 => 'WGS72BE UTM zone 22S',
1350 32523 => 'WGS72BE UTM zone 23S',
1351 32524 => 'WGS72BE UTM zone 24S',
1352 32525 => 'WGS72BE UTM zone 25S',
1353 32526 => 'WGS72BE UTM zone 26S',
1354 32527 => 'WGS72BE UTM zone 27S',
1355 32528 => 'WGS72BE UTM zone 28S',
1356 32529 => 'WGS72BE UTM zone 29S',
1357 32530 => 'WGS72BE UTM zone 30S',
1358 32531 => 'WGS72BE UTM zone 31S',
1359 32532 => 'WGS72BE UTM zone 32S',
1360 32533 => 'WGS72BE UTM zone 33S',
1361 32534 => 'WGS72BE UTM zone 34S',
1362 32535 => 'WGS72BE UTM zone 35S',
1363 32536 => 'WGS72BE UTM zone 36S',
1364 32537 => 'WGS72BE UTM zone 37S',
1365 32538 => 'WGS72BE UTM zone 38S',
1366 32539 => 'WGS72BE UTM zone 39S',
1367 32540 => 'WGS72BE UTM zone 40S',
1368 32541 => 'WGS72BE UTM zone 41S',
1369 32542 => 'WGS72BE UTM zone 42S',
1370 32543 => 'WGS72BE UTM zone 43S',
1371 32544 => 'WGS72BE UTM zone 44S',
1372 32545 => 'WGS72BE UTM zone 45S',
1373 32546 => 'WGS72BE UTM zone 46S',
1374 32547 => 'WGS72BE UTM zone 47S',
1375 32548 => 'WGS72BE UTM zone 48S',
1376 32549 => 'WGS72BE UTM zone 49S',
1377 32550 => 'WGS72BE UTM zone 50S',
1378 32551 => 'WGS72BE UTM zone 51S',
1379 32552 => 'WGS72BE UTM zone 52S',
1380 32553 => 'WGS72BE UTM zone 53S',
1381 32554 => 'WGS72BE UTM zone 54S',
1382 32555 => 'WGS72BE UTM zone 55S',
1383 32556 => 'WGS72BE UTM zone 56S',
1384 32557 => 'WGS72BE UTM zone 57S',
1385 32558 => 'WGS72BE UTM zone 58S',
1386 32559 => 'WGS72BE UTM zone 59S',
1387 32560 => 'WGS72BE UTM zone 60S',
1388 32601 => 'WGS84 UTM zone 1N',
1389 32602 => 'WGS84 UTM zone 2N',
1390 32603 => 'WGS84 UTM zone 3N',
1391 32604 => 'WGS84 UTM zone 4N',
1392 32605 => 'WGS84 UTM zone 5N',
1393 32606 => 'WGS84 UTM zone 6N',
1394 32607 => 'WGS84 UTM zone 7N',
1395 32608 => 'WGS84 UTM zone 8N',
1396 32609 => 'WGS84 UTM zone 9N',
1397 32610 => 'WGS84 UTM zone 10N',
1398 32611 => 'WGS84 UTM zone 11N',
1399 32612 => 'WGS84 UTM zone 12N',
1400 32613 => 'WGS84 UTM zone 13N',
1401 32614 => 'WGS84 UTM zone 14N',
1402 32615 => 'WGS84 UTM zone 15N',
1403 32616 => 'WGS84 UTM zone 16N',
1404 32617 => 'WGS84 UTM zone 17N',
1405 32618 => 'WGS84 UTM zone 18N',
1406 32619 => 'WGS84 UTM zone 19N',
1407 32620 => 'WGS84 UTM zone 20N',
1408 32621 => 'WGS84 UTM zone 21N',
1409 32622 => 'WGS84 UTM zone 22N',
1410 32623 => 'WGS84 UTM zone 23N',
1411 32624 => 'WGS84 UTM zone 24N',
1412 32625 => 'WGS84 UTM zone 25N',
1413 32626 => 'WGS84 UTM zone 26N',
1414 32627 => 'WGS84 UTM zone 27N',
1415 32628 => 'WGS84 UTM zone 28N',
1416 32629 => 'WGS84 UTM zone 29N',
1417 32630 => 'WGS84 UTM zone 30N',
1418 32631 => 'WGS84 UTM zone 31N',
1419 32632 => 'WGS84 UTM zone 32N',
1420 32633 => 'WGS84 UTM zone 33N',
1421 32634 => 'WGS84 UTM zone 34N',
1422 32635 => 'WGS84 UTM zone 35N',
1423 32636 => 'WGS84 UTM zone 36N',
1424 32637 => 'WGS84 UTM zone 37N',
1425 32638 => 'WGS84 UTM zone 38N',
1426 32639 => 'WGS84 UTM zone 39N',
1427 32640 => 'WGS84 UTM zone 40N',
1428 32641 => 'WGS84 UTM zone 41N',
1429 32642 => 'WGS84 UTM zone 42N',
1430 32643 => 'WGS84 UTM zone 43N',
1431 32644 => 'WGS84 UTM zone 44N',
1432 32645 => 'WGS84 UTM zone 45N',
1433 32646 => 'WGS84 UTM zone 46N',
1434 32647 => 'WGS84 UTM zone 47N',
1435 32648 => 'WGS84 UTM zone 48N',
1436 32649 => 'WGS84 UTM zone 49N',
1437 32650 => 'WGS84 UTM zone 50N',
1438 32651 => 'WGS84 UTM zone 51N',
1439 32652 => 'WGS84 UTM zone 52N',
1440 32653 => 'WGS84 UTM zone 53N',
1441 32654 => 'WGS84 UTM zone 54N',
1442 32655 => 'WGS84 UTM zone 55N',
1443 32656 => 'WGS84 UTM zone 56N',
1444 32657 => 'WGS84 UTM zone 57N',
1445 32658 => 'WGS84 UTM zone 58N',
1446 32659 => 'WGS84 UTM zone 59N',
1447 32660 => 'WGS84 UTM zone 60N',
1448 32701 => 'WGS84 UTM zone 1S',
1449 32702 => 'WGS84 UTM zone 2S',
1450 32703 => 'WGS84 UTM zone 3S',
1451 32704 => 'WGS84 UTM zone 4S',
1452 32705 => 'WGS84 UTM zone 5S',
1453 32706 => 'WGS84 UTM zone 6S',
1454 32707 => 'WGS84 UTM zone 7S',
1455 32708 => 'WGS84 UTM zone 8S',
1456 32709 => 'WGS84 UTM zone 9S',
1457 32710 => 'WGS84 UTM zone 10S',
1458 32711 => 'WGS84 UTM zone 11S',
1459 32712 => 'WGS84 UTM zone 12S',
1460 32713 => 'WGS84 UTM zone 13S',
1461 32714 => 'WGS84 UTM zone 14S',
1462 32715 => 'WGS84 UTM zone 15S',
1463 32716 => 'WGS84 UTM zone 16S',
1464 32717 => 'WGS84 UTM zone 17S',
1465 32718 => 'WGS84 UTM zone 18S',
1466 32719 => 'WGS84 UTM zone 19S',
1467 32720 => 'WGS84 UTM zone 20S',
1468 32721 => 'WGS84 UTM zone 21S',
1469 32722 => 'WGS84 UTM zone 22S',
1470 32723 => 'WGS84 UTM zone 23S',
1471 32724 => 'WGS84 UTM zone 24S',
1472 32725 => 'WGS84 UTM zone 25S',
1473 32726 => 'WGS84 UTM zone 26S',
1474 32727 => 'WGS84 UTM zone 27S',
1475 32728 => 'WGS84 UTM zone 28S',
1476 32729 => 'WGS84 UTM zone 29S',
1477 32730 => 'WGS84 UTM zone 30S',
1478 32731 => 'WGS84 UTM zone 31S',
1479 32732 => 'WGS84 UTM zone 32S',
1480 32733 => 'WGS84 UTM zone 33S',
1481 32734 => 'WGS84 UTM zone 34S',
1482 32735 => 'WGS84 UTM zone 35S',
1483 32736 => 'WGS84 UTM zone 36S',
1484 32737 => 'WGS84 UTM zone 37S',
1485 32738 => 'WGS84 UTM zone 38S',
1486 32739 => 'WGS84 UTM zone 39S',
1487 32740 => 'WGS84 UTM zone 40S',
1488 32741 => 'WGS84 UTM zone 41S',
1489 32742 => 'WGS84 UTM zone 42S',
1490 32743 => 'WGS84 UTM zone 43S',
1491 32744 => 'WGS84 UTM zone 44S',
1492 32745 => 'WGS84 UTM zone 45S',
1493 32746 => 'WGS84 UTM zone 46S',
1494 32747 => 'WGS84 UTM zone 47S',
1495 32748 => 'WGS84 UTM zone 48S',
1496 32749 => 'WGS84 UTM zone 49S',
1497 32750 => 'WGS84 UTM zone 50S',
1498 32751 => 'WGS84 UTM zone 51S',
1499 32752 => 'WGS84 UTM zone 52S',
1500 32753 => 'WGS84 UTM zone 53S',
1501 32754 => 'WGS84 UTM zone 54S',
1502 32755 => 'WGS84 UTM zone 55S',
1503 32756 => 'WGS84 UTM zone 56S',
1504 32757 => 'WGS84 UTM zone 57S',
1505 32758 => 'WGS84 UTM zone 58S',
1506 32759 => 'WGS84 UTM zone 59S',
1507 32760 => 'WGS84 UTM zone 60S',
1508 32767 => 'User Defined',
1509 },
1510 },
1511 3073 => 'PCSCitation',
1512 3074 => {
1513 Name => 'Projection',
1514 PrintConv => {
1515 # epsg_proj
1516 10101 => 'Alabama CS27 East',
1517 10102 => 'Alabama CS27 West',
1518 10131 => 'Alabama CS83 East',
1519 10132 => 'Alabama CS83 West',
1520 10201 => 'Arizona Coordinate System east',
1521 10202 => 'Arizona Coordinate System Central',
1522 10203 => 'Arizona Coordinate System west',
1523 10231 => 'Arizona CS83 east',
1524 10232 => 'Arizona CS83 Central',
1525 10233 => 'Arizona CS83 west',
1526 10301 => 'Arkansas CS27 North',
1527 10302 => 'Arkansas CS27 South',
1528 10331 => 'Arkansas CS83 North',
1529 10332 => 'Arkansas CS83 South',
1530 10401 => 'California CS27 I',
1531 10402 => 'California CS27 II',
1532 10403 => 'California CS27 III',
1533 10404 => 'California CS27 IV',
1534 10405 => 'California CS27 V',
1535 10406 => 'California CS27 VI',
1536 10407 => 'California CS27 VII',
1537 10431 => 'California CS83 1',
1538 10432 => 'California CS83 2',
1539 10433 => 'California CS83 3',
1540 10434 => 'California CS83 4',
1541 10435 => 'California CS83 5',
1542 10436 => 'California CS83 6',
1543 10501 => 'Colorado CS27 North',
1544 10502 => 'Colorado CS27 Central',
1545 10503 => 'Colorado CS27 South',
1546 10531 => 'Colorado CS83 North',
1547 10532 => 'Colorado CS83 Central',
1548 10533 => 'Colorado CS83 South',
1549 10600 => 'Connecticut CS27',
1550 10630 => 'Connecticut CS83',
1551 10700 => 'Delaware CS27',
1552 10730 => 'Delaware CS83',
1553 10901 => 'Florida CS27 East',
1554 10902 => 'Florida CS27 West',
1555 10903 => 'Florida CS27 North',
1556 10931 => 'Florida CS83 East',
1557 10932 => 'Florida CS83 West',
1558 10933 => 'Florida CS83 North',
1559 11001 => 'Georgia CS27 East',
1560 11002 => 'Georgia CS27 West',
1561 11031 => 'Georgia CS83 East',
1562 11032 => 'Georgia CS83 West',
1563 11101 => 'Idaho CS27 East',
1564 11102 => 'Idaho CS27 Central',
1565 11103 => 'Idaho CS27 West',
1566 11131 => 'Idaho CS83 East',
1567 11132 => 'Idaho CS83 Central',
1568 11133 => 'Idaho CS83 West',
1569 11201 => 'Illinois CS27 East',
1570 11202 => 'Illinois CS27 West',
1571 11231 => 'Illinois CS83 East',
1572 11232 => 'Illinois CS83 West',
1573 11301 => 'Indiana CS27 East',
1574 11302 => 'Indiana CS27 West',
1575 11331 => 'Indiana CS83 East',
1576 11332 => 'Indiana CS83 West',
1577 11401 => 'Iowa CS27 North',
1578 11402 => 'Iowa CS27 South',
1579 11431 => 'Iowa CS83 North',
1580 11432 => 'Iowa CS83 South',
1581 11501 => 'Kansas CS27 North',
1582 11502 => 'Kansas CS27 South',
1583 11531 => 'Kansas CS83 North',
1584 11532 => 'Kansas CS83 South',
1585 11601 => 'Kentucky CS27 North',
1586 11602 => 'Kentucky CS27 South',
1587 11631 => 'Kentucky CS83 North',
1588 11632 => 'Kentucky CS83 South',
1589 11701 => 'Louisiana CS27 North',
1590 11702 => 'Louisiana CS27 South',
1591 11731 => 'Louisiana CS83 North',
1592 11732 => 'Louisiana CS83 South',
1593 11801 => 'Maine CS27 East',
1594 11802 => 'Maine CS27 West',
1595 11831 => 'Maine CS83 East',
1596 11832 => 'Maine CS83 West',
1597 11900 => 'Maryland CS27',
1598 11930 => 'Maryland CS83',
1599 12001 => 'Massachusetts CS27 Mainland',
1600 12002 => 'Massachusetts CS27 Island',
1601 12031 => 'Massachusetts CS83 Mainland',
1602 12032 => 'Massachusetts CS83 Island',
1603 12101 => 'Michigan State Plane East',
1604 12102 => 'Michigan State Plane Old Central',
1605 12103 => 'Michigan State Plane West',
1606 12111 => 'Michigan CS27 North',
1607 12112 => 'Michigan CS27 Central',
1608 12113 => 'Michigan CS27 South',
1609 12141 => 'Michigan CS83 North',
1610 12142 => 'Michigan CS83 Central',
1611 12143 => 'Michigan CS83 South',
1612 12201 => 'Minnesota CS27 North',
1613 12202 => 'Minnesota CS27 Central',
1614 12203 => 'Minnesota CS27 South',
1615 12231 => 'Minnesota CS83 North',
1616 12232 => 'Minnesota CS83 Central',
1617 12233 => 'Minnesota CS83 South',
1618 12301 => 'Mississippi CS27 East',
1619 12302 => 'Mississippi CS27 West',
1620 12331 => 'Mississippi CS83 East',
1621 12332 => 'Mississippi CS83 West',
1622 12401 => 'Missouri CS27 East',
1623 12402 => 'Missouri CS27 Central',
1624 12403 => 'Missouri CS27 West',
1625 12431 => 'Missouri CS83 East',
1626 12432 => 'Missouri CS83 Central',
1627 12433 => 'Missouri CS83 West',
1628 12501 => 'Montana CS27 North',
1629 12502 => 'Montana CS27 Central',
1630 12503 => 'Montana CS27 South',
1631 12530 => 'Montana CS83',
1632 12601 => 'Nebraska CS27 North',
1633 12602 => 'Nebraska CS27 South',
1634 12630 => 'Nebraska CS83',
1635 12701 => 'Nevada CS27 East',
1636 12702 => 'Nevada CS27 Central',
1637 12703 => 'Nevada CS27 West',
1638 12731 => 'Nevada CS83 East',
1639 12732 => 'Nevada CS83 Central',
1640 12733 => 'Nevada CS83 West',
1641 12800 => 'New Hampshire CS27',
1642 12830 => 'New Hampshire CS83',
1643 12900 => 'New Jersey CS27',
1644 12930 => 'New Jersey CS83',
1645 13001 => 'New Mexico CS27 East',
1646 13002 => 'New Mexico CS27 Central',
1647 13003 => 'New Mexico CS27 West',
1648 13031 => 'New Mexico CS83 East',
1649 13032 => 'New Mexico CS83 Central',
1650 13033 => 'New Mexico CS83 West',
1651 13101 => 'New York CS27 East',
1652 13102 => 'New York CS27 Central',
1653 13103 => 'New York CS27 West',
1654 13104 => 'New York CS27 Long Island',
1655 13131 => 'New York CS83 East',
1656 13132 => 'New York CS83 Central',
1657 13133 => 'New York CS83 West',
1658 13134 => 'New York CS83 Long Island',
1659 13200 => 'North Carolina CS27',
1660 13230 => 'North Carolina CS83',
1661 13301 => 'North Dakota CS27 North',
1662 13302 => 'North Dakota CS27 South',
1663 13331 => 'North Dakota CS83 North',
1664 13332 => 'North Dakota CS83 South',
1665 13401 => 'Ohio CS27 North',
1666 13402 => 'Ohio CS27 South',
1667 13431 => 'Ohio CS83 North',
1668 13432 => 'Ohio CS83 South',
1669 13501 => 'Oklahoma CS27 North',
1670 13502 => 'Oklahoma CS27 South',
1671 13531 => 'Oklahoma CS83 North',
1672 13532 => 'Oklahoma CS83 South',
1673 13601 => 'Oregon CS27 North',
1674 13602 => 'Oregon CS27 South',
1675 13631 => 'Oregon CS83 North',
1676 13632 => 'Oregon CS83 South',
1677 13701 => 'Pennsylvania CS27 North',
1678 13702 => 'Pennsylvania CS27 South',
1679 13731 => 'Pennsylvania CS83 North',
1680 13732 => 'Pennsylvania CS83 South',
1681 13800 => 'Rhode Island CS27',
1682 13830 => 'Rhode Island CS83',
1683 13901 => 'South Carolina CS27 North',
1684 13902 => 'South Carolina CS27 South',
1685 13930 => 'South Carolina CS83',
1686 14001 => 'South Dakota CS27 North',
1687 14002 => 'South Dakota CS27 South',
1688 14031 => 'South Dakota CS83 North',
1689 14032 => 'South Dakota CS83 South',
1690 14100 => 'Tennessee CS27',
1691 14130 => 'Tennessee CS83',
1692 14201 => 'Texas CS27 North',
1693 14202 => 'Texas CS27 North Central',
1694 14203 => 'Texas CS27 Central',
1695 14204 => 'Texas CS27 South Central',
1696 14205 => 'Texas CS27 South',
1697 14231 => 'Texas CS83 North',
1698 14232 => 'Texas CS83 North Central',
1699 14233 => 'Texas CS83 Central',
1700 14234 => 'Texas CS83 South Central',
1701 14235 => 'Texas CS83 South',
1702 14301 => 'Utah CS27 North',
1703 14302 => 'Utah CS27 Central',
1704 14303 => 'Utah CS27 South',
1705 14331 => 'Utah CS83 North',
1706 14332 => 'Utah CS83 Central',
1707 14333 => 'Utah CS83 South',
1708 14400 => 'Vermont CS27',
1709 14430 => 'Vermont CS83',
1710 14501 => 'Virginia CS27 North',
1711 14502 => 'Virginia CS27 South',
1712 14531 => 'Virginia CS83 North',
1713 14532 => 'Virginia CS83 South',
1714 14601 => 'Washington CS27 North',
1715 14602 => 'Washington CS27 South',
1716 14631 => 'Washington CS83 North',
1717 14632 => 'Washington CS83 South',
1718 14701 => 'West Virginia CS27 North',
1719 14702 => 'West Virginia CS27 South',
1720 14731 => 'West Virginia CS83 North',
1721 14732 => 'West Virginia CS83 South',
1722 14801 => 'Wisconsin CS27 North',
1723 14802 => 'Wisconsin CS27 Central',
1724 14803 => 'Wisconsin CS27 South',
1725 14831 => 'Wisconsin CS83 North',
1726 14832 => 'Wisconsin CS83 Central',
1727 14833 => 'Wisconsin CS83 South',
1728 14901 => 'Wyoming CS27 East',
1729 14902 => 'Wyoming CS27 East Central',
1730 14903 => 'Wyoming CS27 West Central',
1731 14904 => 'Wyoming CS27 West',
1732 14931 => 'Wyoming CS83 East',
1733 14932 => 'Wyoming CS83 East Central',
1734 14933 => 'Wyoming CS83 West Central',
1735 14934 => 'Wyoming CS83 West',
1736 15001 => 'Alaska CS27 1',
1737 15002 => 'Alaska CS27 2',
1738 15003 => 'Alaska CS27 3',
1739 15004 => 'Alaska CS27 4',
1740 15005 => 'Alaska CS27 5',
1741 15006 => 'Alaska CS27 6',
1742 15007 => 'Alaska CS27 7',
1743 15008 => 'Alaska CS27 8',
1744 15009 => 'Alaska CS27 9',
1745 15010 => 'Alaska CS27 10',
1746 15031 => 'Alaska CS83 1',
1747 15032 => 'Alaska CS83 2',
1748 15033 => 'Alaska CS83 3',
1749 15034 => 'Alaska CS83 4',
1750 15035 => 'Alaska CS83 5',
1751 15036 => 'Alaska CS83 6',
1752 15037 => 'Alaska CS83 7',
1753 15038 => 'Alaska CS83 8',
1754 15039 => 'Alaska CS83 9',
1755 15040 => 'Alaska CS83 10',
1756 15101 => 'Hawaii CS27 1',
1757 15102 => 'Hawaii CS27 2',
1758 15103 => 'Hawaii CS27 3',
1759 15104 => 'Hawaii CS27 4',
1760 15105 => 'Hawaii CS27 5',
1761 15131 => 'Hawaii CS83 1',
1762 15132 => 'Hawaii CS83 2',
1763 15133 => 'Hawaii CS83 3',
1764 15134 => 'Hawaii CS83 4',
1765 15135 => 'Hawaii CS83 5',
1766 15201 => 'Puerto Rico CS27',
1767 15202 => 'St Croix',
1768 15230 => 'Puerto Rico Virgin Is',
1769 15302 => 'Kentucky CS27',
1770 15303 => 'Kentucky CS83 North',
1771 15914 => 'BLM 14N feet',
1772 15915 => 'BLM 15N feet',
1773 15916 => 'BLM 16N feet',
1774 15917 => 'BLM 17N feet',
1775 16001 => 'UTM zone 1N',
1776 16002 => 'UTM zone 2N',
1777 16003 => 'UTM zone 3N',
1778 16004 => 'UTM zone 4N',
1779 16005 => 'UTM zone 5N',
1780 16006 => 'UTM zone 6N',
1781 16007 => 'UTM zone 7N',
1782 16008 => 'UTM zone 8N',
1783 16009 => 'UTM zone 9N',
1784 16010 => 'UTM zone 10N',
1785 16011 => 'UTM zone 11N',
1786 16012 => 'UTM zone 12N',
1787 16013 => 'UTM zone 13N',
1788 16014 => 'UTM zone 14N',
1789 16015 => 'UTM zone 15N',
1790 16016 => 'UTM zone 16N',
1791 16017 => 'UTM zone 17N',
1792 16018 => 'UTM zone 18N',
1793 16019 => 'UTM zone 19N',
1794 16020 => 'UTM zone 20N',
1795 16021 => 'UTM zone 21N',
1796 16022 => 'UTM zone 22N',
1797 16023 => 'UTM zone 23N',
1798 16024 => 'UTM zone 24N',
1799 16025 => 'UTM zone 25N',
1800 16026 => 'UTM zone 26N',
1801 16027 => 'UTM zone 27N',
1802 16028 => 'UTM zone 28N',
1803 16029 => 'UTM zone 29N',
1804 16030 => 'UTM zone 30N',
1805 16031 => 'UTM zone 31N',
1806 16032 => 'UTM zone 32N',
1807 16033 => 'UTM zone 33N',
1808 16034 => 'UTM zone 34N',
1809 16035 => 'UTM zone 35N',
1810 16036 => 'UTM zone 36N',
1811 16037 => 'UTM zone 37N',
1812 16038 => 'UTM zone 38N',
1813 16039 => 'UTM zone 39N',
1814 16040 => 'UTM zone 40N',
1815 16041 => 'UTM zone 41N',
1816 16042 => 'UTM zone 42N',
1817 16043 => 'UTM zone 43N',
1818 16044 => 'UTM zone 44N',
1819 16045 => 'UTM zone 45N',
1820 16046 => 'UTM zone 46N',
1821 16047 => 'UTM zone 47N',
1822 16048 => 'UTM zone 48N',
1823 16049 => 'UTM zone 49N',
1824 16050 => 'UTM zone 50N',
1825 16051 => 'UTM zone 51N',
1826 16052 => 'UTM zone 52N',
1827 16053 => 'UTM zone 53N',
1828 16054 => 'UTM zone 54N',
1829 16055 => 'UTM zone 55N',
1830 16056 => 'UTM zone 56N',
1831 16057 => 'UTM zone 57N',
1832 16058 => 'UTM zone 58N',
1833 16059 => 'UTM zone 59N',
1834 16060 => 'UTM zone 60N',
1835 16101 => 'UTM zone 1S',
1836 16102 => 'UTM zone 2S',
1837 16103 => 'UTM zone 3S',
1838 16104 => 'UTM zone 4S',
1839 16105 => 'UTM zone 5S',
1840 16106 => 'UTM zone 6S',
1841 16107 => 'UTM zone 7S',
1842 16108 => 'UTM zone 8S',
1843 16109 => 'UTM zone 9S',
1844 16110 => 'UTM zone 10S',
1845 16111 => 'UTM zone 11S',
1846 16112 => 'UTM zone 12S',
1847 16113 => 'UTM zone 13S',
1848 16114 => 'UTM zone 14S',
1849 16115 => 'UTM zone 15S',
1850 16116 => 'UTM zone 16S',
1851 16117 => 'UTM zone 17S',
1852 16118 => 'UTM zone 18S',
1853 16119 => 'UTM zone 19S',
1854 16120 => 'UTM zone 20S',
1855 16121 => 'UTM zone 21S',
1856 16122 => 'UTM zone 22S',
1857 16123 => 'UTM zone 23S',
1858 16124 => 'UTM zone 24S',
1859 16125 => 'UTM zone 25S',
1860 16126 => 'UTM zone 26S',
1861 16127 => 'UTM zone 27S',
1862 16128 => 'UTM zone 28S',
1863 16129 => 'UTM zone 29S',
1864 16130 => 'UTM zone 30S',
1865 16131 => 'UTM zone 31S',
1866 16132 => 'UTM zone 32S',
1867 16133 => 'UTM zone 33S',
1868 16134 => 'UTM zone 34S',
1869 16135 => 'UTM zone 35S',
1870 16136 => 'UTM zone 36S',
1871 16137 => 'UTM zone 37S',
1872 16138 => 'UTM zone 38S',
1873 16139 => 'UTM zone 39S',
1874 16140 => 'UTM zone 40S',
1875 16141 => 'UTM zone 41S',
1876 16142 => 'UTM zone 42S',
1877 16143 => 'UTM zone 43S',
1878 16144 => 'UTM zone 44S',
1879 16145 => 'UTM zone 45S',
1880 16146 => 'UTM zone 46S',
1881 16147 => 'UTM zone 47S',
1882 16148 => 'UTM zone 48S',
1883 16149 => 'UTM zone 49S',
1884 16150 => 'UTM zone 50S',
1885 16151 => 'UTM zone 51S',
1886 16152 => 'UTM zone 52S',
1887 16153 => 'UTM zone 53S',
1888 16154 => 'UTM zone 54S',
1889 16155 => 'UTM zone 55S',
1890 16156 => 'UTM zone 56S',
1891 16157 => 'UTM zone 57S',
1892 16158 => 'UTM zone 58S',
1893 16159 => 'UTM zone 59S',
1894 16160 => 'UTM zone 60S',
1895 16200 => 'Gauss Kruger zone 0',
1896 16201 => 'Gauss Kruger zone 1',
1897 16202 => 'Gauss Kruger zone 2',
1898 16203 => 'Gauss Kruger zone 3',
1899 16204 => 'Gauss Kruger zone 4',
1900 16205 => 'Gauss Kruger zone 5',
1901 17348 => 'Map Grid of Australia 48',
1902 17349 => 'Map Grid of Australia 49',
1903 17350 => 'Map Grid of Australia 50',
1904 17351 => 'Map Grid of Australia 51',
1905 17352 => 'Map Grid of Australia 52',
1906 17353 => 'Map Grid of Australia 53',
1907 17354 => 'Map Grid of Australia 54',
1908 17355 => 'Map Grid of Australia 55',
1909 17356 => 'Map Grid of Australia 56',
1910 17357 => 'Map Grid of Australia 57',
1911 17358 => 'Map Grid of Australia 58',
1912 17448 => 'Australian Map Grid 48',
1913 17449 => 'Australian Map Grid 49',
1914 17450 => 'Australian Map Grid 50',
1915 17451 => 'Australian Map Grid 51',
1916 17452 => 'Australian Map Grid 52',
1917 17453 => 'Australian Map Grid 53',
1918 17454 => 'Australian Map Grid 54',
1919 17455 => 'Australian Map Grid 55',
1920 17456 => 'Australian Map Grid 56',
1921 17457 => 'Australian Map Grid 57',
1922 17458 => 'Australian Map Grid 58',
1923 18031 => 'Argentina 1',
1924 18032 => 'Argentina 2',
1925 18033 => 'Argentina 3',
1926 18034 => 'Argentina 4',
1927 18035 => 'Argentina 5',
1928 18036 => 'Argentina 6',
1929 18037 => 'Argentina 7',
1930 18051 => 'Colombia 3W',
1931 18052 => 'Colombia Bogota',
1932 18053 => 'Colombia 3E',
1933 18054 => 'Colombia 6E',
1934 18072 => 'Egypt Red Belt',
1935 18073 => 'Egypt Purple Belt',
1936 18074 => 'Extended Purple Belt',
1937 18141 => 'New Zealand North Island Nat Grid',
1938 18142 => 'New Zealand South Island Nat Grid',
1939 19900 => 'Bahrain Grid',
1940 19905 => 'Netherlands E Indies Equatorial',
1941 19912 => 'RSO Borneo',
1942 19926 => 'Stereo 70',
1943 32767 => 'User Defined',
1944 },
1945 },
1946 3075 => {
1947 Name => 'ProjCoordTrans',
1948 PrintConv => {
1949 # geo_ctrans
1950 1 => 'Transverse Mercator',
1951 2 => 'Transverse Mercator Modified Alaska',
1952 3 => 'Oblique Mercator',
1953 4 => 'Oblique Mercator Laborde',
1954 5 => 'Oblique Mercator Rosenmund',
1955 6 => 'Oblique Mercator Spherical', # not advisable
1956 7 => 'Mercator',
1957 8 => 'Lambert Conf Conic 2SP',
1958 9 => 'Lambert Conf Conic 1SP',
1959 10 => 'Lambert Azim Equal Area',
1960 11 => 'Albers Equal Area',
1961 12 => 'Azimuthal Equidistant',
1962 13 => 'Equidistant Conic',
1963 14 => 'Stereographic',
1964 15 => 'Polar Stereographic',
1965 16 => 'Oblique Stereographic', # not advisable
1966 17 => 'Equirectangular',
1967 18 => 'Cassini Soldner',
1968 19 => 'Gnomonic',
1969 20 => 'Miller Cylindrical',
1970 21 => 'Orthographic',
1971 22 => 'Polyconic',
1972 23 => 'Robinson',
1973 24 => 'Sinusoidal',
1974 25 => 'VanDerGrinten',
1975 26 => 'New Zealand Map Grid',
1976 27 => 'Transverse Mercator South Orientated',
1977 28 => 'Cylindrical Equal Area',
1978 32767 => 'User Defined',
1979 },
1980 },
1981 3076 => {
1982 Name => 'ProjLinearUnits',
1983 SeparateTable => 'Units',
1984 PrintConv => \%epsg_units,
1985 },
1986 3077 => 'ProjLinearUnitSize',
1987 3078 => 'ProjStdParallel1',
1988 3079 => 'ProjStdParallel2',
1989 3080 => 'ProjNatOriginLong',
1990 3081 => 'ProjNatOriginLat',
1991 3082 => 'ProjFalseEasting',
1992 3083 => 'ProjFalseNorthing',
1993 3084 => 'ProjFalseOriginLong',
1994 3085 => 'ProjFalseOriginLat',
1995 3086 => 'ProjFalseOriginEasting',
1996 3087 => 'ProjFalseOriginNorthing',
1997 3088 => 'ProjCenterLong',
1998 3089 => 'ProjCenterLat',
1999 3090 => 'ProjCenterEasting',
2000 3091 => 'ProjCenterNorthing',
2001 3092 => 'ProjScaleAtNatOrigin',
2002 3093 => 'ProjScaleAtCenter',
2003 3094 => 'ProjAzimuthAngle',
2004 3095 => 'ProjStraightVertPoleLong',
2005 3096 => 'ProjRectifiedGridAngle',
2006 4096 => {
2007 Name => 'VerticalCSType',
2008 PrintConv => {
2009 # epsg_vertcs
2010 5001 => 'Airy 1830 ellipsoid',
2011 5002 => 'Airy Modified 1849 ellipsoid',
2012 5003 => 'ANS ellipsoid',
2013 5004 => 'Bessel 1841 ellipsoid',
2014 5005 => 'Bessel Modified ellipsoid',
2015 5006 => 'Bessel Namibia ellipsoid',
2016 5007 => 'Clarke 1858 ellipsoid',
2017 5008 => 'Clarke 1866 ellipsoid',
2018 5010 => 'Clarke 1880 Benoit ellipsoid',
2019 5011 => 'Clarke 1880 IGN ellipsoid',
2020 5012 => 'Clarke 1880 RGS ellipsoid',
2021 5013 => 'Clarke 1880 Arc ellipsoid',
2022 5014 => 'Clarke 1880 SGA 1922 ellipsoid',
2023 5015 => 'Everest 1830 1937 Adjustment ellipsoid',
2024 5016 => 'Everest 1830 1967 Definition ellipsoid',
2025 5017 => 'Everest 1830 1975 Definition ellipsoid',
2026 5018 => 'Everest 1830 Modified ellipsoid',
2027 5019 => 'GRS 1980 ellipsoid',
2028 5020 => 'Helmert 1906 ellipsoid',
2029 5021 => 'INS ellipsoid',
2030 5022 => 'International 1924 ellipsoid',
2031 5023 => 'International 1967 ellipsoid',
2032 5024 => 'Krassowsky 1940 ellipsoid',
2033 5025 => 'NWL 9D ellipsoid',
2034 5026 => 'NWL 10D ellipsoid',
2035 5027 => 'Plessis 1817 ellipsoid',
2036 5028 => 'Struve 1860 ellipsoid',
2037 5029 => 'War Office ellipsoid',
2038 5030 => 'WGS 84 ellipsoid',
2039 5031 => 'GEM 10C ellipsoid',
2040 5032 => 'OSU86F ellipsoid',
2041 5033 => 'OSU91A ellipsoid',
2042 5101 => 'Newlyn',
2043 5102 => 'North American Vertical Datum 1929',
2044 5103 => 'North American Vertical Datum 1988',
2045 5104 => 'Yellow Sea 1956',
2046 5105 => 'Baltic Sea',
2047 5106 => 'Caspian Sea',
2048 32767 => 'User Defined',
2049 },
2050 },
2051 4097 => 'VerticalCitation',
2052 4098 => {
2053 Name => 'VerticalDatum',
2054 PrintConv => {
2055 1 => 'Vertical Datum Base',
2056 32767 => 'User Defined',
2057 },
2058 },
2059 4099 => {
2060 Name => 'VerticalUnits',
2061 SeparateTable => 'Units',
2062 PrintConv => \%epsg_units,
2063 },
2064);
2065
2066#------------------------------------------------------------------------------
2067# Inputs: 0) ExifTool object ref
2068# Notes: byte order must be set before calling this routine
2069sub ProcessGeoTiff($)
2070{
2071 my $exifTool = shift;
2072 my $dirData = $exifTool->GetValue('GeoTiffDirectory', 'ValueConv') or return;
2073 my $doubleData = $exifTool->GetValue('GeoTiffDoubleParams', 'ValueConv');
2074 my $asciiData = $exifTool->GetValue('GeoTiffAsciiParams', 'ValueConv');
2075 my $verbose = $exifTool->Options('Verbose');
2076
2077 # restore or original EXIF byte order setting
2078 if (length($$dirData) >= 8 and
2079 length($$dirData) >= 8 * (Get16u($dirData,6) + 1))
2080 {
2081 my $version = Get16u($dirData,0);
2082 my $revision = Get16u($dirData,2);
2083 my $minorRev = Get16u($dirData,4);
2084 my $numEntries = Get16u($dirData,6);
2085
2086 if ($verbose) {
2087 $exifTool->{INDENT} .= '| ';
2088 $exifTool->VerboseDir('GeoTiff',$numEntries);
2089 }
2090 # generate version number tag (not a real GeoTiff tag)
2091 my $tagTable = GetTagTable("Image::ExifTool::GeoTiff::Main");
2092 my $tagInfo = $exifTool->GetTagInfo($tagTable, 1);
2093 $tagInfo and $exifTool->FoundTag($tagInfo,"$version.$revision.$minorRev");
2094
2095 my $i;
2096 for ($i=0; $i<$numEntries; ++$i) {
2097 my $pt = 8 * ($i + 1);
2098 my $tag = Get16u($dirData, $pt);
2099 $tagInfo = $exifTool->GetTagInfo($tagTable, $tag) or next;
2100 my $loc = Get16u($dirData, $pt+2);
2101 my $count = Get16u($dirData, $pt+4);
2102 my $offset = Get16u($dirData, $pt+6);
2103 my $format = $geoTiffFormat{$loc};
2104 my ($val, $dataPt);
2105 if ($format eq 'double') { # in the double parms
2106 $dataPt = $doubleData;
2107 $offset *= 8;
2108 $val = Image::ExifTool::ReadValue($dataPt, $offset, $format,
2109 $count, length($$doubleData)-$offset);
2110 } elsif ($format eq 'string') { # in the ASCII parms
2111 $dataPt = $asciiData;
2112 $val = substr($$dataPt, $offset, $count);
2113 $val =~ s/(\0|\|)$//; # remove trailing terminator (NULL or '|')
2114 } elsif ($format eq 'int16u') { # use the offset as the value
2115 $dataPt = $dirData;
2116 $val = $offset;
2117 $offset = $pt+6;
2118 } else {
2119 $exifTool->Warn("Unknown GeoTiff location: $loc");
2120 next;
2121 }
2122 $verbose and $exifTool->VerboseInfo($tag, $tagInfo,
2123 'Table' => $tagTable,
2124 'Index' => $i,
2125 'Value' => $val,
2126 'DataPt' => $dataPt,
2127 'Start' => $offset,
2128 'Format' => $format,
2129 'Count' => $count,
2130 'Size' => $count * Image::ExifTool::FormatSize($format),
2131 );
2132 $exifTool->FoundTag($tagInfo, $val);
2133 }
2134 if ($verbose) {
2135 $exifTool->{INDENT} =~ s/..$//;
2136 }
2137 } else {
2138 $exifTool->Warn('Bad GeoTIFF directory');
2139 }
2140 # must delete these tags once we've processed this information
2141 # (to avoid re-processing if another EXIF directory is found)
2142 $exifTool->DeleteTag('GeoTiffDirectory');
2143 $exifTool->DeleteTag('GeoTiffDoubleParams');
2144 $exifTool->DeleteTag('GeoTiffAsciiParams');
2145}
2146
2147
21481; #end
2149
2150__END__
2151
2152=head1 NAME
2153
2154Image::ExifTool::GeoTiff - Read GeoTiff meta information
2155
2156=head1 SYNOPSIS
2157
2158This module is loaded automatically by Image::ExifTool when required.
2159
2160=head1 DESCRIPTION
2161
2162This module contains definitions required by Image::ExifTool to interpret
2163GeoTiff meta information. GeoTiff information is used in images to specify
2164exact geometric mappings used to transform the image to real world
2165coordinates.
2166
2167=head1 AUTHOR
2168
2169Copyright 2003-2011, Phil Harvey (phil at owl.phy.queensu.ca)
2170
2171This library is free software; you can redistribute it and/or modify it
2172under the same terms as Perl itself.
2173
2174=head1 REFERENCES
2175
2176=over 4
2177
2178=item ftp://ftp.remotesensing.org/geotiff/libgeotiff/libgeotiff-1.1.4.tar.gz
2179
2180=back
2181
2182=head1 SEE ALSO
2183
2184L<Image::ExifTool::TagNames/GeoTiff Tags>,
2185L<Image::ExifTool(3pm)|Image::ExifTool>
2186
2187=cut
Note: See TracBrowser for help on using the repository browser.