00001 /**********************************************************************
00002 *
00003 * geovalues.h - Public registry for valid GEOTIFF key-values.
00004 *
00005 * Written By: Niles D. Ritter
00006 *
00007 * Revision History:
00008 *
00009 * Rev.# Author Date Key Changes/Additions
00010 * ----- ------ ---------- -------------------------------------
00011 * 0.1 ndr 10 Jun 95 Inital Beta Release
00012 * 0.2 ndr 12 Jul 95 New EPSG Tables installed.
00013 * 0.2.1 ndr 28 Jul 95 Added ModelType aliases to Model's
00014 * 1.0 ndr 18 Sep 95 Promoted to Revision 1.0
00015 *
00016 **********************************************************************/
00017
00018 #ifndef __geovalues_h_
00019 #define __geovalues_h_
00020
00021 /* If code values are added or modified, the "GvCurrentMinorRev"
00022 * number should be incremented here. If new Keys are added, then the
00023 * GvCurrentRevision number should be incremented instead, and the
00024 * GvCurrentMinorRev should be reset to zero (see "geokeys.h").
00025 *
00026 * In addition, any changes here should be reflected in "geo_names.c"
00027 *
00028 */
00029
00030 #define GvCurrentMinorRev 0 /* First Major Rev EPSG Code Release */
00031
00032
00033 /*
00034 * Universal key values -- defined for consistency
00035 */
00036 #define KvUndefined 0
00037 #define KvUserDefined 32767
00038
00039 #ifdef ValuePair
00040 # undef ValuePair
00041 #endif
00042 #define ValuePair(name,value) name = value,
00043
00044 /*
00045 * The section numbers refer to the GeoTIFF Specification section
00046 * in which the code values are documented.
00047 */
00048
00049 /************************************************************
00050 * 6.3.1 GeoTIFF General Codes
00051 ************************************************************/
00052
00053 /* 6.3.1.1 Model Type Codes */
00054 typedef enum {
00055 ModelTypeProjected = 1, /* Projection Coordinate System */
00056 ModelTypeGeographic = 2, /* Geographic latitude-longitude System */
00057 ModelTypeGeocentric = 3, /* Geocentric (X,Y,Z) Coordinate System */
00058 ModelProjected = ModelTypeProjected, /* alias */
00059 ModelGeographic = ModelTypeGeographic, /* alias */
00060 ModelGeocentric = ModelTypeGeocentric /* alias */
00061 } modeltype_t;
00062
00063 /* 6.3.1.2 Raster Type Codes */
00064 typedef enum {
00065 RasterPixelIsArea = 1, /* Standard pixel-fills-grid-cell */
00066 RasterPixelIsPoint = 2 /* Pixel-at-grid-vertex */
00067 } rastertype_t;
00068
00069 typedef enum {
00070 # include "epsg_gcs.inc"
00071 geographic_end
00072 } geographic_t;
00073
00074 typedef enum {
00075 # include "epsg_datum.inc"
00076 geodeticdatum_end
00077 } geodeticdatum_t;
00078
00079 typedef enum {
00080 # include "epsg_units.inc"
00081 Unit_End
00082 } geounits_t;
00083
00084 typedef enum {
00085 # include "epsg_ellipse.inc"
00086 ellipsoid_end
00087 } ellipsoid_t;
00088
00089 typedef enum {
00090 # include "epsg_pm.inc"
00091 primemeridian_end
00092 } primemeridian_t;
00093
00094 typedef enum {
00095 # include "epsg_pcs.inc"
00096 pcstype_end
00097 } pcstype_t;
00098
00099 typedef enum {
00100 # include "epsg_proj.inc"
00101 projection_end
00102 } projection_t;
00103
00104 typedef enum {
00105 # include "geo_ctrans.inc"
00106 coordtrans_end
00107 } coordtrans_t;
00108
00109 typedef enum {
00110 # include "epsg_vertcs.inc"
00111 vertcs_end
00112 } vertcstype_t;
00113
00114
00115 typedef enum {
00116 VDatumBase = 1
00117 } vdatum_t;
00118
00119 #endif /* __geovalues_h_ */
00120
1.2.3-20001105 written by Dimitri van Heesch,
© 1997-2000