001: /*
002: * GeoTools - OpenSource mapping toolkit
003: * http://geotools.org
004: * (C) 2005-2006, GeoTools Project Managment Committee (PMC)
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation;
009: * version 2.1 of the License.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: */
016: package org.geotools.gce.geotiff.IIOMetadataAdpaters.utils.codes;
017:
018: /**
019: * 6.3.2.1 Geographic CS Type Codes Note: A Geographic coordinate system
020: * consists of both a datum and a Prime Meridian. Some of the names are very
021: * similar, and differ only in the Prime Meridian, so be sure to use the correct
022: * one. The codes beginning with GCSE_xxx are unspecified GCS which use
023: * ellipsoid (xxx); it is recommended that only the codes beginning with GCS_ be
024: * used if possible. Ranges: 0 = undefined [ 1, 1000] = Obsolete EPSG/POSC
025: * Geographic Codes [ 1001, 3999] = Reserved by GeoTIFFWritingUtilities [ 4000,
026: * 4199] = EPSG GCS Based on Ellipsoid only [ 4200, 4999] = EPSG GCS Based on
027: * EPSG Datum [ 5000, 32766] = Reserved by GeoTIFFWritingUtilities 32767 =
028: * user-defined GCS [32768, 65535] = Private User
029: *
030: * @author Simone Giannecchini
031: * @since 2.3
032: *
033: */
034: public final class GeoTiffGCSCodes {
035:
036: public static final int GCS_NAD27 = 4267;
037:
038: public static final int GCS_NAD83 = 4269;
039:
040: public static final int GCS_WGS_72 = 4322;
041:
042: public static final int GCS_WGS_72BE = 4324;
043:
044: public static final int GCS_WGS_84 = 4326;
045:
046: public static final int GCSE_WGS84 = 4030;
047:
048: /**
049: * An index into the geoKey directory for the directory version number
050: */
051: public static final int GEO_KEY_DIRECTORY_VERSION_INDEX = 0;
052:
053: /**
054: * An index into the geoKey directory for the geoKey minor revision number
055: */
056: public static final int GEO_KEY_MINOR_REVISION_INDEX = 2;
057:
058: /**
059: * An index into the geoKey directory for the number of geoKeys
060: */
061: public static final int GEO_KEY_NUM_KEYS_INDEX = 3;
062:
063: /**
064: * An index into the geoKey directory for the geoKey revision number
065: */
066: public static final int GEO_KEY_REVISION_INDEX = 1;
067:
068: /**
069: * GeogAngularUnitsGeoKey Key ID = 2054 Type = SHORT (code) Values = Section
070: * 6.3.1.4 Codes Allows the definition of geocentric CS Linear units for
071: * user-defined GCS and for ellipsoids. GeoKey Requirements for
072: * "user-defined" units: GeogCitationGeoKey GeogAngularUnitSizeGeoKey
073: */
074: public static final int GeogAngularUnitsGeoKey = 2054;
075:
076: /**
077: * GeogAngularUnitSizeGeoKey Key ID = 2055 Type = DOUBLE Units: radians
078: * Allows the definition of user-defined angular geographic units, as
079: * measured in radians.
080: */
081: public static final int GeogAngularUnitSizeGeoKey = 2055;
082:
083: /**
084: * GeogAzimuthUnitsGeoKey Key ID = 2060 Type = SHORT (code) Values = Section
085: * 6.3.1.4 Codes This key may be used to specify the angular units of
086: * measurement used to defining azimuths, in geographic coordinate systems.
087: * These may be used for defining azimuthal parameters for some projection
088: * algorithms, and may not necessarily be the same angular units used for
089: * lat-long.
090: */
091: public static final int GeogAzimuthUnitsGeoKey = 2060;
092:
093: /**
094: * GeogCitationGeoKey Key ID = 2049 Type = ASCII Values = text General
095: * citation and reference for all Geographic CS parameters.
096: */
097: public static final int GeogCitationGeoKey = 2049;
098:
099: /**
100: * GeogEllipsoidGeoKey Key ID = 2056 Type = SHORT (code) Values = Section
101: * 6.3.2.3 Codes
102: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.2.3 This key
103: * may be used to specify the coded ellipsoid used in the geodetic datum of
104: * the Geographic Coordinate System. GeoKey Requirements for User-Defined
105: * Ellipsoid: GeogCitationGeoKey [GeogSemiMajorAxisGeoKey,
106: * [GeogSemiMinorAxisGeoKey | GeogInvFlatteningGeoKey] ]
107: */
108: public static final int GeogEllipsoidGeoKey = 2056;
109:
110: /**
111: * GeogGeodeticDatumGeoKey Key ID = 2050 Type = SHORT (code) Values =
112: * Section 6.3.2.2 Codes
113: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.2.2 This key
114: * may be used to specify the horizontal datum, defining the size, position
115: * and orientation of the reference ellipsoid used in user-defined
116: * geographic coordinate systems. GeoKey Requirements for User-Defined
117: * Horizontal Datum: GeogCitationGeoKey GeogEllipsoidGeoKey
118: */
119: public static final int GeogGeodeticDatumGeoKey = 2050;
120:
121: /**
122: * GeogInvFlatteningGeoKey Key ID = 2059 Type = DOUBLE Units: none. Allows
123: * the specification of the inverse of user-defined Ellipsoid's flattening
124: * parameter (f). The eccentricity-squared e^2 of the ellipsoid is related
125: * to the non-inverted f by: e^2 = 2f - f^2 Note: if the ellipsoid is
126: * spherical the inverse-flattening becomes infinite; use the
127: * GeogSemiMinorAxisGeoKey instead, and set it equal to the semi-major axis
128: * length.
129: */
130: public static final int GeogInvFlatteningGeoKey = 2059;
131:
132: /**
133: * GeogLinearUnitsGeoKey Key ID = 2052 Type = SHORT Values: Section 6.3.1.3
134: * Codes http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.1.3
135: * Allows the definition of geocentric CS linear units for user-defined GCS.
136: */
137: public static final int GeogLinearUnitsGeoKey = 2052;
138:
139: /**
140: * GeogLinearUnitSizeGeoKey Key ID = 2053 Type = DOUBLE Units: meters Allows
141: * the definition of user-defined linear geocentric units, as measured in
142: * meters.
143: */
144: public static final int GeogLinearUnitSizeGeoKey = 2053;
145:
146: /**
147: * GeogPrimeMeridianGeoKey Key ID = 2051 Type = SHORT (code) Units: Section
148: * 6.3.2.4 code
149: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.2.4 Allows
150: * specification of the location of the Prime meridian for user-defined
151: * geographic coordinate systems. The default standard is Greenwich,
152: * England.
153: */
154: public static final int GeogPrimeMeridianGeoKey = 2051;
155:
156: /**
157: * GeogPrimeMeridianLongGeoKey Key ID = 2061 Type = DOUBLE Units =
158: * GeogAngularUnits This key allows definition of user-defined Prime
159: * Meridians, the location of which is defined by its longitude relative to
160: * Greenwich.
161: */
162: public static final int GeogPrimeMeridianLongGeoKey = 2061;
163:
164: /**
165: * GeographicTypeGeoKey Key ID = 2048 Type = SHORT (code) Values = Section
166: * 6.3.2.1 Codes
167: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.2.1 This key
168: * may be used to specify the code for the geographic coordinate system used
169: * to map lat-long to a specific ellipsoid over the earth. GeoKey
170: * Requirements for User-Defined geographic CS: GeogCitationGeoKey
171: * GeogGeodeticDatumGeoKey GeogAngularUnitsGeoKey (if not degrees)
172: * GeogPrimeMeridianGeoKey (if not Greenwich)
173: */
174: public static final int GeographicTypeGeoKey = 2048;
175:
176: /**
177: * GeogSemiMajorAxisGeoKey Key ID = 2057 Type = DOUBLE Units: Geocentric CS
178: * Linear Units Allows the specification of user-defined Ellipsoid
179: * Semi-Major Axis (a).
180: */
181: public static final int GeogSemiMajorAxisGeoKey = 2057;
182:
183: /**
184: * GeogSemiMinorAxisGeoKey Key ID = 2058 Type = DOUBLE Units: Geocentric CS
185: * Linear Units Allows the specification of user-defined Ellipsoid
186: * Semi-Minor Axis (b).
187: */
188: public static final int GeogSemiMinorAxisGeoKey = 2058;
189:
190: /**
191: * GTCitationGeoKey Key ID = 1026 Type = ASCII As with all the "Citation"
192: * GeoKeys, this is provided to give an ASCII reference to published
193: * documentation on the overall configuration of this
194: * GeoTIFFWritingUtilities file.
195: */
196: public static final int GTCitationGeoKey = 1026;
197:
198: public static final int ModelTypeGeocentric = 3;
199:
200: public static final int ModelTypeGeographic = 2;
201:
202: private GeoTiffGCSCodes() {
203:
204: }
205:
206: }
|