- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

# geonames.h

    00001 /*
    00002  * geonames.h
    00003  *
    00004  *  This encapsulates all of the value-naming mechanism of
    00005  *  libgeotiff.
    00006  *
    00007  *  Written By: Niles Ritter
    00008  *
    00009  *  copyright (c) 1995   Niles D. Ritter
    00010  *
    00011  *  Permission granted to use this software, so long as this copyright
    00012  *  notice accompanies any products derived therefrom.
    00013  */
    00014
    00015 #ifndef __geonames_h
    00016 #define __geonames_h
    00017
    00018 struct _KeyInfo {
    00019         int ki_key;
    00020         char *ki_name;
    00021 };
    00022 typedef struct _KeyInfo KeyInfo;
    00023
    00024 /* If memory is a premium, then omitting the
    00025  * long name lists may save some space; simply
    00026  * #define OMIT_GEOTIFF_NAMES in the compile statement
    00027  * to remove all key->string translation.
    00028  */
    00029 #ifdef ValuePair
    00030 #  undef ValuePair
    00031 #endif
    00032
    00033 #ifndef OMIT_GEOTIFF_NAMES
    00034 #define ValuePair(token,value)  {token,#token},
    00035 #else
    00036 #define ValuePair(token,value)
    00037 #endif
    00038
    00039 #define END_LIST { -1, (char *)0}
    00040
    00041 /************************************************************
    00042  *         6.2.x GeoTIFF Keys
    00043  ************************************************************/
    00044
    00045 static KeyInfo _keyInfo[] =  {
    00046 #   include "geokeys.inc"   /* geokey database */
    00047     END_LIST
    00048 };
    00049
    00050 #define COMMON_VALUES \
    00051    {KvUndefined, "Undefined"}, \
    00052    {KvUserDefined,"User-Defined"}, \
    00053    ValuePair(KvUndefined,KvUndefined) \
    00054    ValuePair(KvUserDefined,KvUserDefined)
    00055
    00056 static KeyInfo _csdefaultValue[] = {
    00057    COMMON_VALUES
    00058    END_LIST
    00059 };
    00060
    00061 /************************************************************
    00062  *         6.3.x GeoTIFF Key Values
    00063  ************************************************************/
    00064
    00065 static KeyInfo _modeltypeValue[] = {
    00066    COMMON_VALUES
    00067     ValuePair(ModelTypeProjected,1)
    00068     ValuePair(ModelTypeGeographic,2)
    00069     ValuePair(ModelTypeGeocentric,3)
    00070     ValuePair(ModelProjected,1)     /* aliases */
    00071     ValuePair(ModelGeographic,2)    /* aliases */
    00072     ValuePair(ModelGeocentric,3)    /* aliases */
    00073    END_LIST
    00074 };
    00075
    00076 static KeyInfo _rastertypeValue[] = {
    00077    COMMON_VALUES
    00078     ValuePair(RasterPixelIsArea,1)
    00079     ValuePair(RasterPixelIsPoint,2)
    00080    END_LIST
    00081 };
    00082
    00083 static KeyInfo _geounitsValue[] = {
    00084    COMMON_VALUES
    00085 #  include "epsg_units.inc"
    00086    END_LIST
    00087 };
    00088
    00089 static KeyInfo _geographicValue[] = {
    00090    COMMON_VALUES
    00091 #  include "epsg_gcs.inc"
    00092    END_LIST
    00093 };
    00094
    00095 static KeyInfo _geodeticdatumValue[] = {
    00096    COMMON_VALUES
    00097 #  include "epsg_datum.inc"
    00098    END_LIST
    00099 };
    00100
    00101 static KeyInfo _ellipsoidValue[] = {
    00102    COMMON_VALUES
    00103 #  include "epsg_ellipse.inc"
    00104    END_LIST
    00105 };
    00106
    00107 static KeyInfo _primemeridianValue[] = {
    00108    COMMON_VALUES
    00109 #  include "epsg_pm.inc"
    00110    END_LIST
    00111 };
    00112
    00113 static KeyInfo _pcstypeValue[] = {
    00114    COMMON_VALUES
    00115 #  include "epsg_pcs.inc"
    00116    END_LIST
    00117 };
    00118
    00119 static KeyInfo _projectionValue[] = {
    00120    COMMON_VALUES
    00121 #  include "epsg_proj.inc"
    00122    END_LIST
    00123 };
    00124
    00125 static KeyInfo _coordtransValue[] = {
    00126    COMMON_VALUES
    00127 #  include "geo_ctrans.inc"
    00128    END_LIST
    00129 };
    00130
    00131 static KeyInfo _vertcstypeValue[] = {
    00132    COMMON_VALUES
    00133 #  include "epsg_vertcs.inc"
    00134    END_LIST
    00135 };
    00136
    00137 static KeyInfo _vdatumValue[] = {
    00138    COMMON_VALUES
    00139     ValuePair(VDatumBase,1)
    00140    END_LIST
    00141 };
    00142
    00143 #endif /* __geonames_h */
    00144