- Main Page
- Related Pages
- Classes
- Files
- Directories

- File List
- File Members

# ogr_srs_api.h

Go to the documentation of this file.

    00001 /******************************************************************************
    00002  * $Id: ogr_srs_api.h 27109 2014-03-28 20:26:34Z kyle $
    00003  *
    00004  * Project:  OpenGIS Simple Features Reference Implementation
    00005  * Purpose:  C API and constant declarations for OGR Spatial References.
    00006  * Author:   Frank Warmerdam, warmerdam@pobox.com
    00007  *
    00008  ******************************************************************************
    00009  * Copyright (c) 2000, Frank Warmerdam
    00010  * Copyright (c) 2008-2013, Even Rouault <even dot rouault at mines-paris dot org>
    00011  *
    00012  * Permission is hereby granted, free of charge, to any person obtaining a
    00013  * copy of this software and associated documentation files (the "Software"),
    00014  * to deal in the Software without restriction, including without limitation
    00015  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    00016  * and/or sell copies of the Software, and to permit persons to whom the
    00017  * Software is furnished to do so, subject to the following conditions:
    00018  *
    00019  * The above copyright notice and this permission notice shall be included
    00020  * in all copies or substantial portions of the Software.
    00021  *
    00022  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    00023  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00024  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    00025  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00026  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00027  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00028  * DEALINGS IN THE SOFTWARE.
    00029  ****************************************************************************/
    00030
    00031 #ifndef _OGR_SRS_API_H_INCLUDED
    00032 #define _OGR_SRS_API_H_INCLUDED
    00033
    00034 #ifndef SWIG
    00035 #include "ogr_core.h"
    00036
    00037 CPL_C_START
    00038
    00047 /* -------------------------------------------------------------------- */
    00048 /*      Axis orientations (corresponds to CS_AxisOrientationEnum).      */
    00049 /* -------------------------------------------------------------------- */
    00050 typedef enum {
    00051     OAO_Other=0,
    00052     OAO_North=1,
    00053     OAO_South=2,
    00054     OAO_East=3,
    00055     OAO_West=4,
    00056     OAO_Up=5,
    00057     OAO_Down=6
    00058 } OGRAxisOrientation;
    00059
    00060 const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation );
    00061
    00062 /* -------------------------------------------------------------------- */
    00063 /*      Datum types (corresponds to CS_DatumType).                      */
    00064 /* -------------------------------------------------------------------- */
    00065
    00066 typedef enum {
    00067     ODT_HD_Min=1000,
    00068     ODT_HD_Other=1000,
    00069     ODT_HD_Classic=1001,
    00070     ODT_HD_Geocentric=1002,
    00071     ODT_HD_Max=1999,
    00072     ODT_VD_Min=2000,
    00073     ODT_VD_Other=2000,
    00074     ODT_VD_Orthometric=2001,
    00075     ODT_VD_Ellipsoidal=2002,
    00076     ODT_VD_AltitudeBarometric=2003,
    00077     ODT_VD_Normal=2004,
    00078     ODT_VD_GeoidModelDerived=2005,
    00079     ODT_VD_Depth=2006,
    00080     ODT_VD_Max=2999,
    00081     ODT_LD_Min=10000,
    00082     ODT_LD_Max=32767
    00083 } OGRDatumType;
    00084
    00085 #endif // ndef SWIG
    00086
    00087 /* ==================================================================== */
    00088 /*      Some standard WKT geographic coordinate systems.                */
    00089 /* ==================================================================== */
    00090
    00091 #define SRS_WKT_WGS84 "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9108\"]],AUTHORITY[\"EPSG\",\"4326\"]]"
    00092
    00093 /* ==================================================================== */
    00094 /*      Some "standard" strings.                                        */
    00095 /* ==================================================================== */
    00096
    00097 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA                                  \
    00098                                 "Albers_Conic_Equal_Area"
    00099 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
    00100 #define SRS_PT_CASSINI_SOLDNER  "Cassini_Soldner"
    00101 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
    00102 #define SRS_PT_BONNE            "Bonne"
    00103 #define SRS_PT_ECKERT_I         "Eckert_I"
    00104 #define SRS_PT_ECKERT_II        "Eckert_II"
    00105 #define SRS_PT_ECKERT_III       "Eckert_III"
    00106 #define SRS_PT_ECKERT_IV        "Eckert_IV"
    00107 #define SRS_PT_ECKERT_V         "Eckert_V"
    00108 #define SRS_PT_ECKERT_VI        "Eckert_VI"
    00109 #define SRS_PT_EQUIDISTANT_CONIC                                        \
    00110                                 "Equidistant_Conic"
    00111 #define SRS_PT_EQUIRECTANGULAR  "Equirectangular"
    00112 #define SRS_PT_GALL_STEREOGRAPHIC                                       \
    00113                                 "Gall_Stereographic"
    00114 #define SRS_PT_GAUSSSCHREIBERTMERCATOR                                      \
    00115                                 "Gauss_Schreiber_Transverse_Mercator"
    00116 #define SRS_PT_GEOSTATIONARY_SATELLITE                                  \
    00117                                 "Geostationary_Satellite"
    00118 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
    00119 #define SRS_PT_IGH              "Interrupted_Goode_Homolosine"
    00120 #define SRS_PT_GNOMONIC         "Gnomonic"
    00121 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER                   \
    00122                                 "Hotine_Oblique_Mercator_Azimuth_Center"
    00123 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR                                  \
    00124                                 "Hotine_Oblique_Mercator"
    00125 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN         \
    00126                             "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
    00127 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR                                 \
    00128                                 "Laborde_Oblique_Mercator"
    00129 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP                              \
    00130                                 "Lambert_Conformal_Conic_1SP"
    00131 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP                              \
    00132                                 "Lambert_Conformal_Conic_2SP"
    00133 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM                      \
    00134                                 "Lambert_Conformal_Conic_2SP_Belgium"
    00135 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA                     \
    00136                                 "Lambert_Azimuthal_Equal_Area"
    00137 #define SRS_PT_MERCATOR_1SP     "Mercator_1SP"
    00138 #define SRS_PT_MERCATOR_2SP     "Mercator_2SP"
    00139 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
    00140 #define SRS_PT_MOLLWEIDE        "Mollweide"
    00141 #define SRS_PT_NEW_ZEALAND_MAP_GRID                                     \
    00142                                 "New_Zealand_Map_Grid"
    00143 #define SRS_PT_OBLIQUE_STEREOGRAPHIC                                    \
    00144                                 "Oblique_Stereographic"
    00145 #define SRS_PT_ORTHOGRAPHIC     "Orthographic"
    00146 #define SRS_PT_POLAR_STEREOGRAPHIC                                      \
    00147                                 "Polar_Stereographic"
    00148 #define SRS_PT_POLYCONIC        "Polyconic"
    00149 #define SRS_PT_ROBINSON         "Robinson"
    00150 #define SRS_PT_SINUSOIDAL       "Sinusoidal"
    00151 #define SRS_PT_STEREOGRAPHIC    "Stereographic"
    00152 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL                                \
    00153                                 "Swiss_Oblique_Cylindrical"
    00154 #define SRS_PT_TRANSVERSE_MERCATOR                                      \
    00155                                 "Transverse_Mercator"
    00156 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED                       \
    00157                                 "Transverse_Mercator_South_Orientated"
    00158
    00159 /* special mapinfo variants on Transverse Mercator */
    00160 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
    00161                                 "Transverse_Mercator_MapInfo_21"
    00162 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
    00163                                 "Transverse_Mercator_MapInfo_22"
    00164 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
    00165                                 "Transverse_Mercator_MapInfo_23"
    00166 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
    00167                                 "Transverse_Mercator_MapInfo_24"
    00168 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
    00169                                 "Transverse_Mercator_MapInfo_25"
    00170
    00171 #define SRS_PT_TUNISIA_MINING_GRID                                      \
    00172                                 "Tunisia_Mining_Grid"
    00173 #define SRS_PT_TWO_POINT_EQUIDISTANT                                    \
    00174                                 "Two_Point_Equidistant"
    00175 #define SRS_PT_VANDERGRINTEN    "VanDerGrinten"
    00176 #define SRS_PT_KROVAK           "Krovak"
    00177 #define SRS_PT_IMW_POLYCONIC    "International_Map_of_the_World_Polyconic"
    00178 #define SRS_PT_WAGNER_I         "Wagner_I"
    00179 #define SRS_PT_WAGNER_II        "Wagner_II"
    00180 #define SRS_PT_WAGNER_III       "Wagner_III"
    00181 #define SRS_PT_WAGNER_IV        "Wagner_IV"
    00182 #define SRS_PT_WAGNER_V         "Wagner_V"
    00183 #define SRS_PT_WAGNER_VI        "Wagner_VI"
    00184 #define SRS_PT_WAGNER_VII       "Wagner_VII"
    00185
    00186
    00187 #define SRS_PP_CENTRAL_MERIDIAN         "central_meridian"
    00188 #define SRS_PP_SCALE_FACTOR             "scale_factor"
    00189 #define SRS_PP_STANDARD_PARALLEL_1      "standard_parallel_1"
    00190 #define SRS_PP_STANDARD_PARALLEL_2      "standard_parallel_2"
    00191 #define SRS_PP_PSEUDO_STD_PARALLEL_1    "pseudo_standard_parallel_1"
    00192 #define SRS_PP_LONGITUDE_OF_CENTER      "longitude_of_center"
    00193 #define SRS_PP_LATITUDE_OF_CENTER       "latitude_of_center"
    00194 #define SRS_PP_LONGITUDE_OF_ORIGIN      "longitude_of_origin"
    00195 #define SRS_PP_LATITUDE_OF_ORIGIN       "latitude_of_origin"
    00196 #define SRS_PP_FALSE_EASTING            "false_easting"
    00197 #define SRS_PP_FALSE_NORTHING           "false_northing"
    00198 #define SRS_PP_AZIMUTH                  "azimuth"
    00199 #define SRS_PP_LONGITUDE_OF_POINT_1     "longitude_of_point_1"
    00200 #define SRS_PP_LATITUDE_OF_POINT_1      "latitude_of_point_1"
    00201 #define SRS_PP_LONGITUDE_OF_POINT_2     "longitude_of_point_2"
    00202 #define SRS_PP_LATITUDE_OF_POINT_2      "latitude_of_point_2"
    00203 #define SRS_PP_LONGITUDE_OF_POINT_3     "longitude_of_point_3"
    00204 #define SRS_PP_LATITUDE_OF_POINT_3      "latitude_of_point_3"
    00205 #define SRS_PP_RECTIFIED_GRID_ANGLE     "rectified_grid_angle"
    00206 #define SRS_PP_LANDSAT_NUMBER           "landsat_number"
    00207 #define SRS_PP_PATH_NUMBER              "path_number"
    00208 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
    00209 #define SRS_PP_SATELLITE_HEIGHT         "satellite_height"
    00210 #define SRS_PP_FIPSZONE                 "fipszone"
    00211 #define SRS_PP_ZONE                     "zone"
    00212 #define SRS_PP_LATITUDE_OF_1ST_POINT    "Latitude_Of_1st_Point"
    00213 #define SRS_PP_LONGITUDE_OF_1ST_POINT   "Longitude_Of_1st_Point"
    00214 #define SRS_PP_LATITUDE_OF_2ND_POINT    "Latitude_Of_2nd_Point"
    00215 #define SRS_PP_LONGITUDE_OF_2ND_POINT   "Longitude_Of_2nd_Point"
    00216
    00217 #define SRS_UL_METER            "Meter"
    00218 #define SRS_UL_FOOT             "Foot (International)" /* or just "FOOT"? */
    00219 #define SRS_UL_FOOT_CONV                    "0.3048"
    00220 #define SRS_UL_US_FOOT          "Foot_US" /* or "US survey foot" from EPSG */
    00221 #define SRS_UL_US_FOOT_CONV                 "0.3048006096012192"
    00222 #define SRS_UL_NAUTICAL_MILE    "Nautical Mile"
    00223 #define SRS_UL_NAUTICAL_MILE_CONV           "1852.0"
    00224 #define SRS_UL_LINK             "Link"          /* Based on US Foot */
    00225 #define SRS_UL_LINK_CONV                    "0.20116684023368047"
    00226 #define SRS_UL_CHAIN            "Chain"         /* based on US Foot */
    00227 #define SRS_UL_CHAIN_CONV                   "20.116684023368047"
    00228 #define SRS_UL_ROD              "Rod"           /* based on US Foot */
    00229 #define SRS_UL_ROD_CONV                     "5.02921005842012"
    00230 #define SRS_UL_LINK_Clarke      "Link_Clarke"
    00231 #define SRS_UL_LINK_Clarke_CONV              "0.2011661949"
    00232
    00233 #define SRS_UL_KILOMETER        "Kilometer"
    00234 #define SRS_UL_KILOMETER_CONV                "1000."
    00235 #define SRS_UL_DECIMETER        "Decimeter"
    00236 #define SRS_UL_DECIMETER_CONV                "0.1"
    00237 #define SRS_UL_CENTIMETER       "Centimeter"
    00238 #define SRS_UL_CENTIMETER_CONV               "0.01"
    00239 #define SRS_UL_MILLIMETER       "Millimeter"
    00240 #define SRS_UL_MILLIMETER_CONV               "0.001"
    00241 #define SRS_UL_INTL_NAUT_MILE   "Nautical_Mile_International"
    00242 #define SRS_UL_INTL_NAUT_MILE_CONV           "1852.0"
    00243 #define SRS_UL_INTL_INCH        "Inch_International"
    00244 #define SRS_UL_INTL_INCH_CONV                "0.0254"
    00245 #define SRS_UL_INTL_FOOT        "Foot_International"
    00246 #define SRS_UL_INTL_FOOT_CONV                    "0.3048"
    00247 #define SRS_UL_INTL_YARD        "Yard_International"
    00248 #define SRS_UL_INTL_YARD_CONV                "0.9144"
    00249 #define SRS_UL_INTL_STAT_MILE   "Statute_Mile_International"
    00250 #define SRS_UL_INTL_STAT_MILE_CONV           "1609.344"
    00251 #define SRS_UL_INTL_FATHOM      "Fathom_International"
    00252 #define SRS_UL_INTL_FATHOM_CONV              "1.8288"
    00253 #define SRS_UL_INTL_CHAIN       "Chain_International"
    00254 #define SRS_UL_INTL_CHAIN_CONV               "20.1168"
    00255 #define SRS_UL_INTL_LINK        "Link_International"
    00256 #define SRS_UL_INTL_LINK_CONV                "0.201168"
    00257 #define SRS_UL_US_INCH          "Inch_US_Surveyor"
    00258 #define SRS_UL_US_INCH_CONV                  "0.025400050800101603"
    00259 #define SRS_UL_US_YARD          "Yard_US_Surveyor"
    00260 #define SRS_UL_US_YARD_CONV                  "0.914401828803658"
    00261 #define SRS_UL_US_CHAIN         "Chain_US_Surveyor"
    00262 #define SRS_UL_US_CHAIN_CONV                 "20.11684023368047"
    00263 #define SRS_UL_US_STAT_MILE     "Statute_Mile_US_Surveyor"
    00264 #define SRS_UL_US_STAT_MILE_CONV             "1609.347218694437"
    00265 #define SRS_UL_INDIAN_YARD      "Yard_Indian"
    00266 #define SRS_UL_INDIAN_YARD_CONV              "0.91439523"
    00267 #define SRS_UL_INDIAN_FOOT      "Foot_Indian"
    00268 #define SRS_UL_INDIAN_FOOT_CONV              "0.30479841"
    00269 #define SRS_UL_INDIAN_CHAIN     "Chain_Indian"
    00270 #define SRS_UL_INDIAN_CHAIN_CONV             "20.11669506"
    00271
    00272 #define SRS_UA_DEGREE           "degree"
    00273 #define SRS_UA_DEGREE_CONV                  "0.0174532925199433"
    00274 #define SRS_UA_RADIAN           "radian"
    00275
    00276 #define SRS_PM_GREENWICH        "Greenwich"
    00277
    00278 #define SRS_DN_NAD27            "North_American_Datum_1927"
    00279 #define SRS_DN_NAD83            "North_American_Datum_1983"
    00280 #define SRS_DN_WGS72            "WGS_1972"
    00281 #define SRS_DN_WGS84            "WGS_1984"
    00282
    00283 #define SRS_WGS84_SEMIMAJOR     6378137.0
    00284 #define SRS_WGS84_INVFLATTENING 298.257223563
    00285
    00286 #ifndef SWIG
    00287 /* -------------------------------------------------------------------- */
    00288 /*      C Wrappers for C++ objects and methods.                         */
    00289 /* -------------------------------------------------------------------- */
    00290 #ifndef _DEFINED_OGRSpatialReferenceH
    00291 #define _DEFINED_OGRSpatialReferenceH
    00292
    00293 #ifdef DEBUG
    00294 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
    00295 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
    00296 #else
    00297 typedef void *OGRSpatialReferenceH;
    00298 typedef void *OGRCoordinateTransformationH;
    00299 #endif
    00300
    00301 #endif
    00302
    00303
    00304 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
    00305       OSRNewSpatialReference( const char * /* = NULL */);
    00306 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
    00307 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
    00308 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
    00309
    00310 int CPL_DLL OSRReference( OGRSpatialReferenceH );
    00311 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
    00312 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
    00313
    00314 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
    00315 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
    00316 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
    00317 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
    00318
    00319 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
    00320 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
    00321 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
    00322 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
    00323 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
    00324 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
    00325                                  const char *, double * );
    00326 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
    00327                                   long, long, double *, long);
    00328 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
    00329 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
    00330                                   const char * );
    00331 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
    00332                                       double * );
    00333 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char *, const char *,
    00334                                  const char * );
    00335 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
    00336 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
    00337                                  const char *, const char *, const char * );
    00338 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
    00339
    00340 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
    00341 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
    00342 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
    00343 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
    00344                                double ** );
    00345 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
    00346                                 double **, long * );
    00347 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
    00348 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
    00349                                     long *, long *, double * );
    00350 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
    00351 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
    00352
    00353 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
    00354 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
    00355
    00356 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
    00357                                 const char * pszNodePath,
    00358                                 const char * pszNewNodeValue );
    00359 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
    00360                            const char * pszName, int iChild /* = 0 */ );
    00361
    00362 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
    00363 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
    00364 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
    00365 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
    00366 OGRErr CPL_DLL OSRSetLinearUnitsAndUpdateParameters(
    00367     OGRSpatialReferenceH, const char *, double );
    00368 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
    00369 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
    00370
    00371 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
    00372
    00373 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
    00374 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
    00375 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
    00376 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
    00377 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
    00378 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
    00379 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
    00380 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
    00381 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
    00382
    00383 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
    00384 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
    00385 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
    00386 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
    00387                                       const char * pszName );
    00388 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
    00389                                     const char * );
    00390 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
    00391                                   OGRSpatialReferenceH hSrcSRS );
    00392 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
    00393                               double, double, double,
    00394                               double, double, double, double );
    00395 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
    00396
    00397
    00398 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
    00399                                  const char *pszName,
    00400                                  OGRSpatialReferenceH hHorizSRS,
    00401                                  OGRSpatialReferenceH hVertSRS );
    00402 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
    00403                       const char * pszGeogName,
    00404                       const char * pszDatumName,
    00405                       const char * pszEllipsoidName,
    00406                       double dfSemiMajor, double dfInvFlattening,
    00407                       const char * pszPMName /* = NULL */,
    00408                       double dfPMOffset /* = 0.0 */,
    00409                       const char * pszUnits /* = NULL */,
    00410                       double dfConvertToRadians /* = 0.0 */ );
    00411
    00412 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
    00413                       const char * pszVertCSName,
    00414                       const char * pszVertDatumName,
    00415                       int nVertDatumType );
    00416
    00417 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
    00418 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
    00419 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
    00420
    00421 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
    00422                          const char * pszTargetKey,
    00423                          const char * pszAuthority,
    00424                          int nCode );
    00425 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
    00426                                          const char * pszTargetKey );
    00427 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
    00428                                          const char * pszTargetKey );
    00429 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
    00430 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
    00431 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
    00432                         const char * pszParmName,
    00433                         double dfDefault /* = 0.0 */,
    00434                         OGRErr * /* = NULL */ );
    00435 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
    00436 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
    00437                                    const char * pszParmName,
    00438                                    double dfDefault /* = 0.0 */,
    00439                                    OGRErr * /* = NULL */ );
    00440
    00441 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
    00442 int    CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
    00443 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
    00444                                  int nZone, int bNAD83 );
    00445 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
    00446                                           int nZone, int bNAD83,
    00447                                           const char *pszOverrideUnitName,
    00448                                           double dfOverrideUnit );
    00449 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
    00450
    00451 int    CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
    00452 int    CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
    00453 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
    00454                                 const char *pszTargetKey, int iAxis,
    00455                                 OGRAxisOrientation *peOrientation );
    00456 OGRErr CPL_DLL OSRSetAxes( const char *pszTargetKey,
    00457                            const char *pszXAxisName,
    00458                            OGRAxisOrientation eXAxisOrientation,
    00459                            const char *pszYAxisName,
    00460                            OGRAxisOrientation eYAxisOrientation );
    00462 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00463                          double dfCenterLat, double dfCenterLong,
    00464                          double dfFalseEasting, double dfFalseNorthing );
    00465
    00467 OGRErr CPL_DLL  OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00468                        double dfFalseEasting, double dfFalseNorthing );
    00469
    00471 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
    00472                            double dfStandardParallel, double dfCentralMeridian,
    00473                            double dfFalseEasting, double dfFalseNorthing );
    00474
    00476 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
    00477                         double dfFalseEasting, double dfFalseNorthing );
    00478
    00480 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00481                        double dfFalseEasting, double dfFalseNorthing );
    00482
    00484 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00485                        double dfCenterLat, double dfCenterLong,
    00486                        double dfFalseEasting, double dfFalseNorthing );
    00487
    00489 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS,  int nVariation,
    00490                              double dfCentralMeridian,
    00491                              double dfFalseEasting, double dfFalseNorthing );
    00492
    00494 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00495                              double dfFalseEasting, double dfFalseNorthing );
    00496
    00498 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00499                              double dfFalseEasting, double dfFalseNorthing );
    00500
    00502 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
    00503                               double dfCenterLat, double dfCenterLong,
    00504                               double dfFalseEasting, double dfFalseNorthing );
    00505
    00507 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
    00508                               double dfCenterLat, double dfCenterLong,
    00509                               double dfPseudoStdParallel1,
    00510                               double dfFalseEasting,
    00511                               double dfFalseNorthing );
    00512
    00514 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00515                        double dfFalseEasting, double dfFalseNorthing );
    00516
    00518 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00519                          double dfFalseEasting, double dfFalseNorthing );
    00520
    00522 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
    00523
    00525 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
    00526                            double dfCentralMeridian, double dfSatelliteHeight,
    00527                            double dfFalseEasting, double dfFalseNorthing );
    00528
    00530 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
    00531                                   double dfCenterLat, double dfCenterLong,
    00532                                   double dfScale,
    00533                                   double dfFalseEasting,
    00534                                   double dfFalseNorthing );
    00536 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
    00537                               double dfCenterLat, double dfCenterLong,
    00538                             double dfFalseEasting, double dfFalseNorthing );
    00539
    00541 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
    00542                          double dfCenterLat, double dfCenterLong,
    00543                          double dfAzimuth, double dfRectToSkew,
    00544                          double dfScale,
    00545                          double dfFalseEasting, double dfFalseNorthing );
    00546
    00548 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
    00549                           double dfCenterLat, double dfCenterLong,
    00550                           double dfAzimuth, double dfRectToSkew,
    00551                           double dfScale,
    00552                           double dfFalseEasting, double dfFalseNorthing );
    00553
    00555 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
    00556                               double dfLat1, double dfLong1,
    00557                               double dfLat2, double dfLong2,
    00558                               double dfScale,
    00559                               double dfFalseEasting, double dfFalseNorthing );
    00560
    00562 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
    00563                                    double dfLat1, double dfLat2,
    00564                                    double dfCenterLong,
    00565                                    double dfFalseEasting,
    00566                                    double dfFalseNorthing );
    00567
    00569 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
    00570                              double dfCenterLat, double dfCenterLong,
    00571                              double dfAzimuth, double dfPseudoStdParallelLat,
    00572                              double dfScale,
    00573                              double dfFalseEasting, double dfFalseNorthing );
    00574
    00576 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
    00577                            double dfCenterLat, double dfCenterLong,
    00578                            double dfFalseEasting, double dfFalseNorthing );
    00579
    00581 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
    00582                           double dfStdP1, double dfStdP2,
    00583                           double dfCenterLat, double dfCenterLong,
    00584                           double dfFalseEasting, double dfFalseNorthing );
    00585
    00587 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
    00588                              double dfCenterLat, double dfCenterLong,
    00589                              double dfScale,
    00590                              double dfFalseEasting, double dfFalseNorthing );
    00591
    00593 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
    00594                            double dfStdP1, double dfStdP2,
    00595                            double dfCenterLat, double dfCenterLong,
    00596                            double dfFalseEasting, double dfFalseNorthing );
    00597
    00599 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
    00600                          double dfCenterLat, double dfCenterLong,
    00601                          double dfFalseEasting, double dfFalseNorthing );
    00602
    00604 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
    00605                                double dfCenterLat, double dfCenterLong,
    00606                                double dfScale,
    00607                                double dfFalseEasting, double dfFalseNorthing );
    00608
    00610 OGRErr CPL_DLL  OSRSetMollweide( OGRSpatialReferenceH hSRS,
    00611                                  double dfCentralMeridian,
    00612                                  double dfFalseEasting,
    00613                                  double dfFalseNorthing );
    00614
    00616 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
    00617                            double dfCenterLat, double dfCenterLong,
    00618                            double dfFalseEasting, double dfFalseNorthing );
    00619
    00621 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
    00622                          double dfOriginLat, double dfCMeridian,
    00623                          double dfScale,
    00624                          double dfFalseEasting,double dfFalseNorthing);
    00625
    00627 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
    00628                                    double dfCenterLat, double dfCenterLong,
    00629                                    double dfFalseEasting,
    00630                                    double dfFalseNorthing);
    00631
    00633 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
    00634                                 double dfCenterLat, double dfCenterLong,
    00635                                 double dfFalseEasting, double dfFalseNorthing );
    00636
    00638 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
    00639                          double dfCenterLat, double dfCenterLong,
    00640                          double dfScale,
    00641                          double dfFalseEasting, double dfFalseNorthing);
    00642
    00644 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
    00645                                double dfCenterLong,
    00646                                double dfFalseEasting, double dfFalseNorthing );
    00647
    00649 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
    00650                                  double dfCenterLong,
    00651                                  double dfFalseEasting,
    00652                                  double dfFalseNorthing );
    00653
    00655 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
    00656                                     double dfCenterLat, double dfCenterLong,
    00657                                     double dfScale,
    00658                                     double dfFalseEasting,
    00659                                     double dfFalseNorthing);
    00660
    00662 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
    00663                           double dfLatitudeOfOrigin, double dfCentralMeridian,
    00664                           double dfFalseEasting, double dfFalseNorthing );
    00665
    00672 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
    00673                          double dfCenterLat, double dfCenterLong,
    00674                          double dfScale,
    00675                          double dfFalseEasting, double dfFalseNorthing );
    00676
    00678 OGRErr CPL_DLL OSRSetTMVariant(
    00679     OGRSpatialReferenceH hSRS, const char *pszVariantName,
    00680     double dfCenterLat, double dfCenterLong,
    00681     double dfScale,
    00682     double dfFalseEasting, double dfFalseNorthing );
    00683
    00685 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
    00686                           double dfCenterLat, double dfCenterLong,
    00687                          double dfFalseEasting, double dfFalseNorthing );
    00688
    00690 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
    00691                            double dfCenterLat, double dfCenterLong,
    00692                            double dfScale,
    00693                            double dfFalseEasting, double dfFalseNorthing );
    00694
    00696 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
    00697                           double dfCenterLong,
    00698                           double dfFalseEasting, double dfFalseNorthing );
    00699
    00701 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
    00702                              double dfFalseEasting,
    00703                              double dfFalseNorthing );
    00704
    00705 void CPL_DLL OSRCleanup( void );
    00706
    00707 /* -------------------------------------------------------------------- */
    00708 /*      OGRCoordinateTransform C API.                                   */
    00709 /* -------------------------------------------------------------------- */
    00710 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
    00711 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
    00712                                 OGRSpatialReferenceH hTargetSRS );
    00713 void CPL_DLL CPL_STDCALL
    00714       OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
    00715
    00716 int CPL_DLL CPL_STDCALL
    00717 OCTTransform( OGRCoordinateTransformationH hCT,
    00718               int nCount, double *x, double *y, double *z );
    00719
    00720 int CPL_DLL CPL_STDCALL
    00721 OCTTransformEx( OGRCoordinateTransformationH hCT,
    00722                 int nCount, double *x, double *y, double *z,
    00723                 int *pabSuccess );
    00724
    00725 /* this is really private to OGR. */
    00726 char *OCTProj4Normalize( const char *pszProj4Src );
    00727
    00728 void OCTCleanupProjMutex( void );
    00729
    00730 /* -------------------------------------------------------------------- */
    00731 /*      Projection transform dictionary query.                          */
    00732 /* -------------------------------------------------------------------- */
    00733
    00734 char CPL_DLL ** OPTGetProjectionMethods( void );
    00735 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
    00736                              char ** ppszUserName );
    00737 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
    00738                                  const char * pszParameterName,
    00739                                  char ** ppszUserName,
    00740                                  char ** ppszType,
    00741                                  double *pdfDefaultValue );
    00742
    00743 CPL_C_END
    00744
    00745 #endif /* ndef SWIG */
    00746
    00747 #endif /* ndef _OGR_SRS_API_H_INCLUDED */

Generated for GDAL by 1.7.1.