libgeotiff
|
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