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: *
020: * @author Simone Giannecchini
021: * @since 2.3
022: *
023: */
024: public final class GeoTiffPCSCodes {
025:
026: /**
027: * 6.3.3.1 Projected CS Type Codes Ranges: [ 1, 1000] = Obsolete EPSG/POSC
028: * Projection System Codes [20000, 32760] = EPSG Projection System codes
029: * 32767 = user-defined [32768, 65535] = Private User Implementations
030: * Special Ranges: 1. For PCS utilizing GeogCS with code in range 4201
031: * through 4321: As far as is possible the PCS code will be of the format
032: * gggzz where ggg is (geodetic datum code -4000) and zz is zone. 2. For PCS
033: * utilizing GeogCS with code out of range 4201 through 4321 (i.e. geodetic
034: * datum code 6201 through 6319). PCS code 20xxx where xxx is a sequential
035: * number. 3. Other: WGS72 / UTM northern hemisphere: 322zz where zz is UTM
036: * zone number WGS72 / UTM southern hemisphere: 323zz where zz is UTM zone
037: * number WGS72BE / UTM northern hemisphere: 324zz where zz is UTM zone
038: * number WGS72BE / UTM southern hemisphere: 325zz where zz is UTM zone
039: * number WGS84 / UTM northern hemisphere: 326zz where zz is UTM zone number
040: * WGS84 / UTM southern hemisphere: 327zz where zz is UTM zone number US
041: * State Plane (NAD27): 267xx/320xx US State Plane (NAD83): 269xx/321xx
042: * Note: These are only a subset of the possible values
043: */
044: public static final int PCS_WGS72_UTM_zone_1N = 32201;
045: public static final int PCS_WGS72_UTM_zone_1S = 32301;
046: public static final int PCS_WGS72_UTM_zone_60N = 32260;
047: public static final int PCS_WGS72_UTM_zone_60S = 32360;
048: public static final int PCS_WGS72BE_UTM_zone_1N = 32401;
049: public static final int PCS_WGS72BE_UTM_zone_1S = 32501;
050: public static final int PCS_WGS72BE_UTM_zone_60S = 32560;
051: public static final int PCS_WGS84_UTM_zone_1N = 32601;
052: public static final int PCS_WGS84_UTM_zone_1S = 32701;
053: public static final int PCS_WGS84_UTM_zone_60N = 32660;
054: public static final int PCS_WGS84_UTM_zone_60S = 32760;
055: /**
056: * PCSCitationGeoKey Key ID = 3073 Type = ASCII As with all the "Citation"
057: * GeoKeys, this is provided to give an ASCII reference to published
058: * documentation on the Projected Coordinate System particularly if this is
059: * a "user-defined" PCS.
060: */
061: public static final int PCSCitationGeoKey = 3073;
062: /**
063: * ProjAzimuthAngleGeoKey Key ID = 3094 Type = DOUBLE Units: GeogAzimuthUnit
064: * Azimuth angle east of true north of the central line passing through the
065: * projection center (for elliptical (Hotine) Oblique Mercator). Note that
066: * this is the standard method of measuring azimuth, but is opposite the
067: * usual mathematical convention of positive indicating counter-clockwise.
068: */
069: public static final int ProjAzimuthAngleGeoKey = 3094;
070: /**
071: * ProjCenterEastingGeoKey Key ID = 3090 Type = DOUBLE Units: ProjLinearUnit
072: * Gives the easting coordinate of the center. This is NOT the False
073: * Easting.
074: */
075: public static final int ProjCenterEastingGeoKey = 3090;
076: /**
077: * ProjCenterLatGeoKey Key ID = 3089 Type = DOUBLE Units: GeogAngularUnit
078: * Latitude of Center of Projection. Note that this is not necessarily the
079: * origin of the projection.
080: */
081: public static final int ProjCenterLatGeoKey = 3089;
082: /**
083: * ProjCenterLongGeoKey Key ID = 3088 Type = DOUBLE Units: GeogAngularUnit
084: * Longitude of Center of Projection. Note that this is not necessarily the
085: * origin of the projection.
086: */
087: public static final int ProjCenterLongGeoKey = 3088;
088: /**
089: * ProjCenterNorthingGeoKey Key ID = 3091 Type = DOUBLE Units:
090: * ProjLinearUnit Gives the northing coordinate of the center. This is NOT
091: * the False Northing. NOTE this value is incorrectly named at
092: * http://www.remotesensing.org/geotiff/spec/geotiff2.7.html#2.7
093: */
094: public static final int ProjCenterNorthingGeoKey = 3091;
095: /**
096: * ProjCoordTransGeoKey Key ID = 3075 Type = SHORT (code) Values: Section
097: * 6.3.3.3 codes
098: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.3.3 Allows
099: * specification of the coordinate transformation method used. Note: this
100: * does not include the definition of the corresponding Geographic
101: * Coordinate System to which the projected CS is related; only the
102: * transformation method is defined here. GeoKeys Required for
103: * "user-defined" Coordinate Transformations: PCSCitationGeoKey (additional
104: * parameter geokeys depending on the Coord. Trans. specified).
105: */
106: public static final int ProjCoordTransGeoKey = 3075;
107: /**
108: * ProjectedCSTypeGeoKey Key ID = 3072 Type = SHORT (codes) Values: Section
109: * 6.3.3.1 codes This code is provided to specify the projected coordinate
110: * system. GeoKey requirements for "user-defined" PCS families:
111: * PCSCitationGeoKey ProjectionGeoKey
112: */
113: public static final int ProjectedCSTypeGeoKey = 3072;
114: /**
115: * ProjectionGeoKey Key ID = 3074 Type = SHORT (code) Values: Section
116: * 6.3.3.2 codes
117: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.3.2 Allows
118: * specification of the coordinate transformation method and projection zone
119: * parameters. Note : when associated with an appropriate Geographic
120: * Coordinate System, this forms a Projected Coordinate System. GeoKeys
121: * Required for "user-defined" Projections: PCSCitationGeoKey
122: * ProjCoordTransGeoKey ProjLinearUnitsGeoKey (additional parameters
123: * depending on ProjCoordTransGeoKey).
124: */
125: public static final int ProjectionGeoKey = 3074;
126: /**
127: * ProjFalseEastingGeoKey Key ID = 3082 Type = DOUBLE Units: ProjLinearUnit
128: * Gives the easting coordinate of the map projection Natural origin.
129: */
130: public static final int ProjFalseEastingGeoKey = 3082;
131: /**
132: * ProjFalseNorthingGeoKey Key ID = 3083 Type = DOUBLE Units: ProjLinearUnit
133: * Gives the northing coordinate of the map projection Natural origin.
134: */
135: public static final int ProjFalseNorthingGeoKey = 3083;
136: /**
137: * ProjFalseOriginEastingGeoKey Key ID = 3086 Type = DOUBLE Units:
138: * ProjLinearUnit Gives the easting coordinate of the false origin. This is
139: * NOT the False Easting, which is the easting attached to the Natural
140: * origin.
141: */
142: public static final int ProjFalseOriginEastingGeoKey = 3086;
143: /**
144: * ProjFalseOriginLatGeoKey Key ID = 3085 Type = DOUBLE Units:
145: * GeogAngularUnit Gives the latitude of the False origin.
146: */
147: public static final int ProjFalseOriginLatGeoKey = 3085;
148: /**
149: * ProjFalseOriginLongGeoKey Key ID = 3084 Type = DOUBLE Units:
150: * GeogAngularUnit Gives the longitude of the False origin.
151: */
152: public static final int ProjFalseOriginLongGeoKey = 3084;
153: /**
154: * ProjFalseOriginNorthingGeoKey Key ID = 3087 Type = DOUBLE Units:
155: * ProjLinearUnit Gives the northing coordinate of the False origin. This is
156: * NOT the False Northing, which is the northing attached to the Natural
157: * origin.
158: */
159: public static final int ProjFalseOriginNorthingGeoKey = 3087;
160: /**
161: * ProjLinearUnitsGeoKey Key ID = 3076 Type = SHORT (code) Values: Section
162: * 6.3.1.3 codes Defines linear units used by this projection.
163: * http://www.remotesensing.org/geotiff/spec/geotiff6.html#6.3.1.3
164: */
165: public static final int ProjLinearUnitsGeoKey = 3076;
166: /**
167: * ProjLinearUnitSizeGeoKey Key ID = 3077 Type = DOUBLE Units: meters
168: * Defines size of user-defined linear units in meters.
169: */
170: public static final int ProjLinearUnitSizeGeoKey = 3077;
171: /**
172: * ProjNatOriginLatGeoKey Key ID = 3081 Type = DOUBLE Units: GeogAngularUnit
173: * Alias: ProjOriginLatGeoKey Latitude of map-projection Natural origin.
174: */
175: public static final int ProjNatOriginLatGeoKey = 3081;
176: /**
177: * ProjNatOriginLongGeoKey Key ID = 3080 Type = DOUBLE Units:
178: * GeogAngularUnit Alias: ProjOriginLongGeoKey Longitude of map-projection
179: * Natural origin.
180: */
181: public static final int ProjNatOriginLongGeoKey = 3080;
182: public static final int ProjRectifiedGridAngle = 3094;
183: /**
184: * ProjScaleAtCenterGeoKey Key ID = 3093 Type = DOUBLE Units: none Scale at
185: * Center. This is a ratio, so no units are required.
186: */
187: public static final int ProjScaleAtCenterGeoKey = 3093;
188: /**
189: * ProjScaleAtNatOriginGeoKey Key ID = 3092 Type = DOUBLE Units: none Alias:
190: * ProjScaleAtOriginGeoKey (Rev. 0.2) Scale at Natural Origin. This is a
191: * ratio, so no units are required.
192: */
193: public static final int ProjScaleAtNatOriginGeoKey = 3092;
194: /**
195: * ProjStdParallel1GeoKey Key ID = 3078 Type = DOUBLE Units: GeogAngularUnit
196: * Alias: ProjStdParallelGeoKey (from Rev 0.2) Latitude of primary Standard
197: * Parallel.
198: */
199: public static final int ProjStdParallel1GeoKey = 3078;
200: /**
201: * ProjStdParallel2GeoKey Key ID = 3079 Type = DOUBLE Units: GeogAngularUnit
202: * Latitude of second Standard Parallel.
203: */
204: public static final int ProjStdParallel2GeoKey = 3079;
205: /**
206: * ProjStraightVertPoleLongGeoKey Key ID = 3095 Type = DOUBLE Units:
207: * GeogAngularUnit Longitude at Straight Vertical Pole. For polar
208: * stereographic.
209: */
210: public static final int ProjStraightVertPoleLongGeoKey = 3095;
211: /**
212: * 6.3.1.1 Model Type Codes Ranges: 0 = undefined [ 1, 32766] = GeoTIFFWritingUtilities Reserved Codes 32767 = user-defined [32768, 65535] = Private User Implementations GeoTIFFWritingUtilities defined CS Model Type Codes: ModelTypeProjected = 1 Projection Coordinate System ModelTypeGeographic = 2 Geographic latitude-longitude System ModelTypeGeocentric = 3 Geocentric (X,Y,Z) Coordinate System Notes: 1. ModelTypeGeographic and ModelTypeProjected correspond to the FGDC metadata Geographic and Planar-Projected coordinate system types.
213: */
214: public static final int ModelTypeProjected = 1;
215:
216: private GeoTiffPCSCodes() {
217: }
218:
219: }
|