- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

# geovalues.h

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