116 lines
2.7 KiB
C
116 lines
2.7 KiB
C
/**********************************************************************
|
|
*
|
|
* geovalues.h - Public registry for valid GEOTIFF key-values.
|
|
*
|
|
* Written By: Niles D. Ritter
|
|
*
|
|
* copyright (c) 1995 Niles D. Ritter
|
|
*
|
|
* Permission granted to use this software, so long as this copyright
|
|
* notice accompanies any products derived therefrom.
|
|
*
|
|
**********************************************************************/
|
|
|
|
#ifndef LIBGEOTIFF_GEOVALUES_H_
|
|
#define LIBGEOTIFF_GEOVALUES_H_
|
|
|
|
/* If code values are added or modified, the "GvCurrentMinorRev"
|
|
* number should be incremented here. If new Keys are added, then the
|
|
* GvCurrentRevision number should be incremented instead, and the
|
|
* GvCurrentMinorRev should be reset to zero (see "geokeys.h").
|
|
*
|
|
* In addition, any changes here should be reflected in "geo_names.c"
|
|
*
|
|
*/
|
|
|
|
#define GvCurrentMinorRev 0 /* First Major Rev EPSG Code Release */
|
|
|
|
|
|
/*
|
|
* Universal key values -- defined for consistency
|
|
*/
|
|
#define KvUndefined 0
|
|
#define KvUserDefined 32767
|
|
|
|
#ifdef ValuePair
|
|
# undef ValuePair
|
|
#endif
|
|
#define ValuePair(name,value) name = value,
|
|
|
|
/*
|
|
* The section numbers refer to the GeoTIFF Specification section
|
|
* in which the code values are documented.
|
|
*/
|
|
|
|
/************************************************************
|
|
* 6.3.1 GeoTIFF General Codes
|
|
************************************************************/
|
|
|
|
/* 6.3.1.1 Model Type Codes */
|
|
typedef enum {
|
|
ModelTypeProjected = 1, /* Projection Coordinate System */
|
|
ModelTypeGeographic = 2, /* Geographic latitude-longitude System */
|
|
ModelTypeGeocentric = 3, /* Geocentric (X,Y,Z) Coordinate System */
|
|
ModelProjected = ModelTypeProjected, /* alias */
|
|
ModelGeographic = ModelTypeGeographic, /* alias */
|
|
ModelGeocentric = ModelTypeGeocentric /* alias */
|
|
} modeltype_t;
|
|
|
|
/* 6.3.1.2 Raster Type Codes */
|
|
typedef enum {
|
|
RasterPixelIsArea = 1, /* Standard pixel-fills-grid-cell */
|
|
RasterPixelIsPoint = 2 /* Pixel-at-grid-vertex */
|
|
} rastertype_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_gcs.inc"
|
|
geographic_end
|
|
} geographic_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_datum.inc"
|
|
geodeticdatum_end
|
|
} geodeticdatum_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_units.inc"
|
|
Unit_End
|
|
} geounits_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_ellipse.inc"
|
|
ellipsoid_end
|
|
} ellipsoid_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_pm.inc"
|
|
primemeridian_end
|
|
} primemeridian_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_pcs.inc"
|
|
pcstype_end
|
|
} pcstype_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_proj.inc"
|
|
projection_end
|
|
} projection_t;
|
|
|
|
typedef enum {
|
|
# include "geo_ctrans.inc"
|
|
coordtrans_end
|
|
} coordtrans_t;
|
|
|
|
typedef enum {
|
|
# include "epsg_vertcs.inc"
|
|
vertcs_end
|
|
} vertcstype_t;
|
|
|
|
|
|
typedef enum {
|
|
VDatumBase = 1
|
|
} vdatum_t;
|
|
|
|
#endif /* LIBGEOTIFF_GEOVALUES_H_ */
|