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

- File List
- File Members

# ogr_srs_api.h

Go to the documentation of this file.

    00001 /******************************************************************************
    00002  * $Id: ogr_srs_api.h,v 1.58 2006/04/11 18:45:41 fwarmerdam Exp $
    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  *
    00011  * Permission is hereby granted, free of charge, to any person obtaining a
    00012  * copy of this software and associated documentation files (the "Software"),
    00013  * to deal in the Software without restriction, including without limitation
    00014  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    00015  * and/or sell copies of the Software, and to permit persons to whom the
    00016  * Software is furnished to do so, subject to the following conditions:
    00017  *
    00018  * The above copyright notice and this permission notice shall be included
    00019  * in all copies or substantial portions of the Software.
    00020  *
    00021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    00022  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    00024  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00026  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00027  * DEALINGS IN THE SOFTWARE.
    00028  ******************************************************************************
    00029  *
    00030  * $Log: ogr_srs_api.h,v $
    00031  * Revision 1.58  2006/04/11 18:45:41  fwarmerdam
    00032  * Fixed definition of a chain.
    00033  *
    00034  * Revision 1.57  2006/03/31 17:44:20  fwarmerdam
    00035  * header updates
    00036  *
    00037  * Revision 1.56  2005/12/01 04:59:46  fwarmerdam
    00038  * added two point equidistant support
    00039  *
    00040  * Revision 1.55  2005/10/10 14:45:47  dron
    00041  * Added OSRImportFromPanorama()/OSRExportToPanorama() wrappers.
    00042  *
    00043  * Revision 1.54  2005/10/03 18:13:28  fwarmerdam
    00044  * Fixed prototype for OSRSetGEOS().
    00045  *
    00046  * Revision 1.53  2005/09/21 00:50:08  fwarmerdam
    00047  * Added Release
    00048  *
    00049  * Revision 1.52  2005/05/09 15:39:44  fwarmerdam
    00050  * Added TM_MI_21 as per email from Safe.
    00051  *
    00052  * Revision 1.51  2005/04/06 00:02:05  fwarmerdam
    00053  * various osr and oct functions now stdcall
    00054  *
    00055  * Revision 1.50  2005/02/17 16:34:17  fwarmerdam
    00056  * OSRCloneCS() should be OSRClone().
    00057  *
    00058  * Revision 1.49  2005/02/11 14:21:28  fwarmerdam
    00059  * added GEOS projection support
    00060  *
    00061  * Revision 1.48  2005/01/05 21:02:33  fwarmerdam
    00062  * added Goode Homolosine
    00063  *
    00064  * Revision 1.47  2004/11/11 18:28:45  fwarmerdam
    00065  * added Bonne projection support
    00066  *
    00067  * Revision 1.46  2004/09/23 16:20:13  fwarmerdam
    00068  * added OSRCleanup
    00069  *
    00070  * Revision 1.45  2004/05/12 19:25:54  dron
    00071  * SRS_DN_WGS72 constant added.
    00072  *
    00073  * Revision 1.44  2004/05/10 17:05:14  warmerda
    00074  * added AutoIdentifyEPSG()
    00075  *
    00076  * Revision 1.43  2004/05/06 19:26:04  dron
    00077  * Added OSRSetProjection() function.
    00078  *
    00079  * Revision 1.42  2004/03/04 18:04:45  warmerda
    00080  * added importFromDict() support
    00081  *
    00082  * Revision 1.41  2004/02/07 17:31:21  dron
    00083  * Added OSRExportToUSGS() method.
    00084  *
    00085  * Revision 1.40  2004/02/05 17:07:59  dron
    00086  * Support for HOM projection, specified by two points on centerline.
    00087  *
    00088  * Revision 1.39  2004/02/01 14:23:29  dron
    00089  * Added OSRImportFromUSGS().
    00090  *
    00091  * Revision 1.38  2004/01/24 09:35:00  warmerda
    00092  * added TransformEx support to capture per point reprojection failure
    00093  *
    00094  * Revision 1.37  2003/09/09 07:49:52  dron
    00095  * Added OSRExportToPCI().
    00096  *
    00097  * Revision 1.36  2003/08/31 14:51:01  dron
    00098  * Added OSRImportFromPCI().
    00099  *
    00100  * Revision 1.35  2003/08/18 13:26:01  warmerda
    00101  * added SetTMVariant() and related definitions
    00102  *
    00103  * Revision 1.34  2003/06/21 23:24:36  warmerda
    00104  * added Set/Get TOWGS84 calls
    00105  *
    00106  * Revision 1.33  2003/06/19 17:10:26  warmerda
    00107  * a couple fixes in last commit
    00108  *
    00109  * Revision 1.32  2003/06/18 18:24:17  warmerda
    00110  * added projection specific set methods to C API
    00111  *
    00112  * Revision 1.31  2003/06/10 09:31:12  dron
    00113  * Added OSRSetAngularUnits() and OSRGetAngularUnits().
    00114  *
    00115  * Revision 1.30  2003/05/30 15:39:53  warmerda
    00116  * Added override units capability for SetStatePlane()
    00117  *
    00118  * Revision 1.29  2003/03/21 22:15:11  warmerda
    00119  * added C XML import/export entry points
    00120  *
    00121  * Revision 1.28  2003/03/12 14:29:34  warmerda
    00122  * Rename OGRAxisOrientation and OGRDatumType values to avoid conflicts with
    00123  * the real OGC definitions in applications such as Cadcorps.
    00124  *
    00125  * Revision 1.27  2003/02/25 04:53:38  warmerda
    00126  * added OSRCopyGeogCSFrom
    00127  *
    00128  * Revision 1.26  2003/02/06 04:53:12  warmerda
    00129  * added Fixup() method
    00130  *
    00131  * Revision 1.25  2003/01/08 18:14:28  warmerda
    00132  * added FixupOrdering()
    00133  *
    00134  * Revision 1.24  2002/12/16 17:07:13  warmerda
    00135  * added NormProjParm functions, and OSRGetPrimeMeridian
    00136  *
    00137  * Revision 1.23  2002/12/14 22:59:14  warmerda
    00138  * added Krovak in ESRI compatible way
    00139  *
    00140  * Revision 1.22  2002/12/09 18:55:07  warmerda
    00141  * moved DMS stuff to gdal/port
    00142  *
    00143  * Revision 1.21  2002/12/09 16:11:53  warmerda
    00144  * added DMS translation
    00145  *
    00146  * Revision 1.20  2002/11/25 16:12:54  warmerda
    00147  * added GetAuthorityCode/Name
    00148  *
    00149  * Revision 1.19  2002/09/26 18:13:25  warmerda
    00150  * avoid double def
    00151  *
    00152  * Revision 1.18  2002/06/11 18:02:03  warmerda
    00153  * add PROJ.4 normalization and EPSG support
    00154  *
    00155  * Revision 1.17  2001/10/11 19:27:12  warmerda
    00156  * upgraded validation infrastructure
    00157  *
    00158  * Revision 1.16  2001/10/10 20:42:43  warmerda
    00159  * added ESRI WKT morphing support
    00160  *
    00161  * Revision 1.15  2001/09/21 16:21:02  warmerda
    00162  * added Clear(), and SetFromUserInput() methods
    00163  *
    00164  * Revision 1.14  2000/11/09 06:21:32  warmerda
    00165  * added limited ESRI prj support
    00166  *
    00167  * Revision 1.13  2000/10/20 04:19:38  warmerda
    00168  * added setstateplane
    00169  *
    00170  * Revision 1.12  2000/10/16 21:26:07  warmerda
    00171  * added some level of LOCAL_CS support
    00172  *
    00173  * Revision 1.11  2000/09/01 20:58:01  warmerda
    00174  * added CPL_DLL for entry points
    00175  *
    00176  * Revision 1.10  2000/08/30 20:06:14  warmerda
    00177  * added projection method list functions
    00178  *
    00179  * Revision 1.9  2000/08/28 20:13:23  warmerda
    00180  * added importFromProj4
    00181  *
    00182  * Revision 1.8  2000/07/11 01:02:06  warmerda
    00183  * added ExportToProj4()
    00184  *
    00185  * Revision 1.7  2000/07/09 20:48:02  warmerda
    00186  * added exportToPrettyWkt
    00187  *
    00188  * Revision 1.6  2000/05/30 22:45:44  warmerda
    00189  * added OSRCloneGeogCS()
    00190  *
    00191  * Revision 1.5  2000/04/26 18:25:56  warmerda
    00192  * added missing CPL_DLL attributes
    00193  *
    00194  * Revision 1.4  2000/03/22 01:09:43  warmerda
    00195  * added SetProjCS and SetWellKnownTextCS
    00196  *
    00197  * Revision 1.3  2000/03/20 23:33:51  warmerda
    00198  * updated docs a bit
    00199  *
    00200  * Revision 1.2  2000/03/20 22:39:31  warmerda
    00201  * Added C API.
    00202  *
    00203  * Revision 1.1  2000/03/16 19:04:14  warmerda
    00204  * New
    00205  *
    00206  */
    00207
    00208 #ifndef _OGR_SRS_API_H_INCLUDED
    00209 #define _OGR_SRS_API_H_INCLUDED
    00210
    00211 #include "ogr_core.h"
    00212
    00213 CPL_C_START
    00214
    00223 /* -------------------------------------------------------------------- */
    00224 /*      Axis orientations (corresponds to CS_AxisOrientationEnum).      */
    00225 /* -------------------------------------------------------------------- */
    00226 typedef enum {
    00227     OAO_Other=0,
    00228     OAO_North=1,
    00229     OAO_South=2,
    00230     OAO_East=3,
    00231     OAO_West=4,
    00232     OAO_Up=5,
    00233     OAO_Down=6
    00234 } OGRAxisOrientation;
    00235
    00236 /* -------------------------------------------------------------------- */
    00237 /*      Datum types (corresponds to CS_DatumType).                      */
    00238 /* -------------------------------------------------------------------- */
    00239
    00240 typedef enum {
    00241     ODT_HD_Min=1000,
    00242     ODT_HD_Other=1000,
    00243     ODT_HD_Classic=1001,
    00244     ODT_HD_Geocentric=1002,
    00245     ODT_HD_Max=1999,
    00246     ODT_VD_Min=2000,
    00247     ODT_VD_Other=2000,
    00248     ODT_VD_Orthometric=2001,
    00249     ODT_VD_Ellipsoidal=2002,
    00250     ODT_VD_AltitudeBarometric=2003,
    00251     ODT_VD_Normal=2004,
    00252     ODT_VD_GeoidModelDerived=2005,
    00253     ODT_VD_Depth=2006,
    00254     ODT_VD_Max=2999,
    00255     ODT_LD_Min=10000,
    00256     ODT_LD_Max=32767
    00257 } OGRDatumType;
    00258
    00259 /* ==================================================================== */
    00260 /*      Some "standard" strings.                                        */
    00261 /* ==================================================================== */
    00262
    00263 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA                                  \
    00264                                 "Albers_Conic_Equal_Area"
    00265 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
    00266 #define SRS_PT_CASSINI_SOLDNER  "Cassini_Soldner"
    00267 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
    00268 #define SRS_PT_BONNE            "Bonne"
    00269 #define SRS_PT_ECKERT_IV        "Eckert_IV"
    00270 #define SRS_PT_ECKERT_VI        "Eckert_VI"
    00271 #define SRS_PT_EQUIDISTANT_CONIC "Equidistant_Conic"
    00272 #define SRS_PT_EQUIRECTANGULAR  "Equirectangular"
    00273 #define SRS_PT_GALL_STEREOGRAPHIC "Gall_Stereographic"
    00274 #define SRS_PT_GEOSTATIONARY_SATELLITE "Geostationary_Satellite"
    00275 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
    00276 #define SRS_PT_GNOMONIC         "Gnomonic"
    00277 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR                                  \
    00278                                 "Hotine_Oblique_Mercator"
    00279 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN         \
    00280                             "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
    00281 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR                                 \
    00282                                 "Laborde_Oblique_Mercator"
    00283 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP                              \
    00284                                 "Lambert_Conformal_Conic_1SP"
    00285 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP                              \
    00286                                 "Lambert_Conformal_Conic_2SP"
    00287 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM                      \
    00288                                 "Lambert_Conformal_Conic_2SP_Belgium)"
    00289 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA                     \
    00290                                 "Lambert_Azimuthal_Equal_Area"
    00291 #define SRS_PT_MERCATOR_1SP     "Mercator_1SP"
    00292 #define SRS_PT_MERCATOR_2SP     "Mercator_2SP"
    00293 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
    00294 #define SRS_PT_MOLLWEIDE        "Mollweide"
    00295 #define SRS_PT_NEW_ZEALAND_MAP_GRID                                     \
    00296                                 "New_Zealand_Map_Grid"
    00297 #define SRS_PT_OBLIQUE_STEREOGRAPHIC                                    \
    00298                                 "Oblique_Stereographic"
    00299 #define SRS_PT_ORTHOGRAPHIC     "Orthographic"
    00300 #define SRS_PT_POLAR_STEREOGRAPHIC                                      \
    00301                                 "Polar_Stereographic"
    00302 #define SRS_PT_POLYCONIC        "Polyconic"
    00303 #define SRS_PT_ROBINSON         "Robinson"
    00304 #define SRS_PT_SINUSOIDAL       "Sinusoidal"
    00305 #define SRS_PT_STEREOGRAPHIC    "Stereographic"
    00306 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL                                \
    00307                                 "Swiss_Oblique_Cylindrical"
    00308 #define SRS_PT_TRANSVERSE_MERCATOR                                      \
    00309                                 "Transverse_Mercator"
    00310 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED                       \
    00311                                 "Transverse_Mercator_South_Orientated"
    00312
    00313 /* special mapinfo variants on Transverse Mercator */
    00314 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
    00315                                 "Transverse_Mercator_MapInfo_21"
    00316 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
    00317                                 "Transverse_Mercator_MapInfo_22"
    00318 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
    00319                                 "Transverse_Mercator_MapInfo_23"
    00320 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
    00321                                 "Transverse_Mercator_MapInfo_24"
    00322 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
    00323                                 "Transverse_Mercator_MapInfo_25"
    00324
    00325 #define SRS_PT_TUNISIA_MINING_GRID                                      \
    00326                                 "Tunisia_Mining_Grid"
    00327 #define SRS_PT_TWO_POINT_EQUIDISTANT                                    \
    00328                                 "Two_Point_Equidistant"
    00329 #define SRS_PT_VANDERGRINTEN    "VanDerGrinten"
    00330 #define SRS_PT_KROVAK           "Krovak"
    00331
    00332
    00333
    00334 #define SRS_PP_CENTRAL_MERIDIAN         "central_meridian"
    00335 #define SRS_PP_SCALE_FACTOR             "scale_factor"
    00336 #define SRS_PP_STANDARD_PARALLEL_1      "standard_parallel_1"
    00337 #define SRS_PP_STANDARD_PARALLEL_2      "standard_parallel_2"
    00338 #define SRS_PP_PSEUDO_STD_PARALLEL_1    "pseudo_standard_parallel_1"
    00339 #define SRS_PP_LONGITUDE_OF_CENTER      "longitude_of_center"
    00340 #define SRS_PP_LATITUDE_OF_CENTER       "latitude_of_center"
    00341 #define SRS_PP_LONGITUDE_OF_ORIGIN      "longitude_of_origin"
    00342 #define SRS_PP_LATITUDE_OF_ORIGIN       "latitude_of_origin"
    00343 #define SRS_PP_FALSE_EASTING            "false_easting"
    00344 #define SRS_PP_FALSE_NORTHING           "false_northing"
    00345 #define SRS_PP_AZIMUTH                  "azimuth"
    00346 #define SRS_PP_LONGITUDE_OF_POINT_1     "longitude_of_point_1"
    00347 #define SRS_PP_LATITUDE_OF_POINT_1      "latitude_of_point_1"
    00348 #define SRS_PP_LONGITUDE_OF_POINT_2     "longitude_of_point_2"
    00349 #define SRS_PP_LATITUDE_OF_POINT_2      "latitude_of_point_2"
    00350 #define SRS_PP_LONGITUDE_OF_POINT_3     "longitude_of_point_3"
    00351 #define SRS_PP_LATITUDE_OF_POINT_3      "latitude_of_point_3"
    00352 #define SRS_PP_RECTIFIED_GRID_ANGLE     "rectified_grid_angle"
    00353 #define SRS_PP_LANDSAT_NUMBER           "landsat_number"
    00354 #define SRS_PP_PATH_NUMBER              "path_number"
    00355 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
    00356 #define SRS_PP_SATELLITE_HEIGHT         "satellite_height"
    00357 #define SRS_PP_FIPSZONE                 "fipszone"
    00358 #define SRS_PP_ZONE                     "zone"
    00359 #define SRS_PP_LATITUDE_OF_1ST_POINT    "Latitude_Of_1st_Point"
    00360 #define SRS_PP_LONGITUDE_OF_1ST_POINT   "Longitude_Of_1st_Point"
    00361 #define SRS_PP_LATITUDE_OF_2ND_POINT    "Latitude_Of_2nd_Point"
    00362 #define SRS_PP_LONGITUDE_OF_2ND_POINT   "Longitude_Of_2nd_Point"
    00363
    00364 #define SRS_UL_METER            "Meter"
    00365 #define SRS_UL_FOOT             "Foot (International)" /* or just "FOOT"? */
    00366 #define SRS_UL_FOOT_CONV                    "0.3048"
    00367 #define SRS_UL_US_FOOT          "U.S. Foot" /* or "US survey foot" */
    00368 #define SRS_UL_US_FOOT_CONV                 "0.3048006"
    00369 #define SRS_UL_NAUTICAL_MILE    "Nautical Mile"
    00370 #define SRS_UL_NAUTICAL_MILE_CONV           "1852.0"
    00371 #define SRS_UL_LINK             "Link"          /* Based on US Foot */
    00372 #define SRS_UL_LINK_CONV                    "0.20116684023368047"
    00373 #define SRS_UL_CHAIN            "Chain"         /* based on US Foot */
    00374 #define SRS_UL_CHAIN_CONV                   "20.116684023368047"
    00375 #define SRS_UL_ROD              "Rod"           /* based on US Foot */
    00376 #define SRS_UL_ROD_CONV                     "5.02921005842012"
    00377
    00378 #define SRS_UA_DEGREE           "degree"
    00379 #define SRS_UA_DEGREE_CONV                  "0.0174532925199433"
    00380 #define SRS_UA_RADIAN           "radian"
    00381
    00382 #define SRS_PM_GREENWICH        "Greenwich"
    00383
    00384 #define SRS_DN_NAD27            "North_American_Datum_1927"
    00385 #define SRS_DN_NAD83            "North_American_Datum_1983"
    00386 #define SRS_DN_WGS72            "WGS_1972"
    00387 #define SRS_DN_WGS84            "WGS_1984"
    00388
    00389 #define SRS_WGS84_SEMIMAJOR     6378137.0
    00390 #define SRS_WGS84_INVFLATTENING 298.257223563
    00391
    00392 /* -------------------------------------------------------------------- */
    00393 /*      C Wrappers for C++ objects and methods.                         */
    00394 /* -------------------------------------------------------------------- */
    00395 #ifndef _DEFINED_OGRSpatialReferenceH
    00396 #define _DEFINED_OGRSpatialReferenceH
    00397
    00398 typedef void *OGRSpatialReferenceH;
    00399 typedef void *OGRCoordinateTransformationH;
    00400
    00401 #endif
    00402
    00403
    00404 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
    00405       OSRNewSpatialReference( const char * /* = NULL */);
    00406 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
    00407 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
    00408 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
    00409
    00410 int CPL_DLL OSRReference( OGRSpatialReferenceH );
    00411 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
    00412 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
    00413
    00414 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
    00415 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
    00416 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
    00417 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
    00418
    00419 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
    00420 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
    00421 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
    00422 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
    00423 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
    00424                                  const char *, double * );
    00425 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
    00426                                   long, long, double *, long);
    00427 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
    00428 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
    00429                                   const char * );
    00430 OGRErr OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long, long,
    00431                               double, double, double, double );
    00432
    00433 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
    00434 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
    00435 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
    00436 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
    00437                                double ** );
    00438 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
    00439                                 double **, long * );
    00440 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
    00441 OGRErr OSRExportToPanorama( OGRSpatialReferenceH, long *, long *, long *,
    00442                             long *, double *, double *, double *, double * );
    00443
    00444 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
    00445 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
    00446
    00447 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
    00448                                 const char * pszNodePath,
    00449                                 const char * pszNewNodeValue );
    00450 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
    00451                            const char * pszName, int iChild /* = 0 */ );
    00452
    00453 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
    00454 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
    00455 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
    00456 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
    00457
    00458 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
    00459
    00460 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
    00461 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
    00462 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
    00463 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
    00464 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
    00465
    00466 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
    00467 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
    00468 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
    00469                                       const char * pszName );
    00470 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
    00471                                     const char * );
    00472 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
    00473                                   OGRSpatialReferenceH hSrcSRS );
    00474 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
    00475                               double, double, double,
    00476                               double, double, double, double );
    00477 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
    00478
    00479
    00480 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
    00481                       const char * pszGeogName,
    00482                       const char * pszDatumName,
    00483                       const char * pszEllipsoidName,
    00484                       double dfSemiMajor, double dfInvFlattening,
    00485                       const char * pszPMName /* = NULL */,
    00486                       double dfPMOffset /* = 0.0 */,
    00487                       const char * pszUnits /* = NULL */,
    00488                       double dfConvertToRadians /* = 0.0 */ );
    00489
    00490 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
    00491 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
    00492 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
    00493
    00494 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
    00495                          const char * pszTargetKey,
    00496                          const char * pszAuthority,
    00497                          int nCode );
    00498 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
    00499                                          const char * pszTargetKey );
    00500 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
    00501                                          const char * pszTargetKey );
    00502 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
    00503 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
    00504 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
    00505                         const char * pszParmName,
    00506                         double dfDefault /* = 0.0 */,
    00507                         OGRErr * /* = NULL */ );
    00508 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
    00509 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
    00510                                    const char * pszParmName,
    00511                                    double dfDefault /* = 0.0 */,
    00512                                    OGRErr * /* = NULL */ );
    00513
    00514 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
    00515 int    CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
    00516 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
    00517                                  int nZone, int bNAD83 );
    00518 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
    00519                                           int nZone, int bNAD83,
    00520                                           const char *pszOverrideUnitName,
    00521                                           double dfOverrideUnit );
    00522 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
    00523
    00525 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00526                          double dfCenterLat, double dfCenterLong,
    00527                          double dfFalseEasting, double dfFalseNorthing );
    00528
    00530 OGRErr CPL_DLL  OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00531                        double dfFalseEasting, double dfFalseNorthing );
    00532
    00534 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
    00535                            double dfStandardParallel, double dfCentralMeridian,
    00536                            double dfFalseEasting, double dfFalseNorthing );
    00537
    00539 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
    00540                         double dfFalseEasting, double dfFalseNorthing );
    00541
    00543 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00544                        double dfFalseEasting, double dfFalseNorthing );
    00545
    00547 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00548                        double dfCenterLat, double dfCenterLong,
    00549                        double dfFalseEasting, double dfFalseNorthing );
    00550
    00552 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00553                              double dfFalseEasting, double dfFalseNorthing );
    00554
    00556 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00557                              double dfFalseEasting, double dfFalseNorthing );
    00558
    00560 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
    00561                               double dfCenterLat, double dfCenterLong,
    00562                               double dfFalseEasting, double dfFalseNorthing );
    00563
    00565 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00566                        double dfFalseEasting, double dfFalseNorthing );
    00567
    00569 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00570                          double dfFalseEasting, double dfFalseNorthing );
    00571
    00573 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
    00574                            double dfCentralMeridian, double dfSatelliteHeight,
    00575                            double dfFalseEasting, double dfFalseNorthing );
    00576
    00578 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
    00579                               double dfCenterLat, double dfCenterLong,
    00580                             double dfFalseEasting, double dfFalseNorthing );
    00581
    00583 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
    00584                           double dfCenterLat, double dfCenterLong,
    00585                           double dfAzimuth, double dfRectToSkew,
    00586                           double dfScale,
    00587                           double dfFalseEasting, double dfFalseNorthing );
    00588
    00590 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
    00591                               double dfLat1, double dfLong1,
    00592                               double dfLat2, double dfLong2,
    00593                               double dfScale,
    00594                               double dfFalseEasting, double dfFalseNorthing );
    00595
    00597 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00598                            double dfAzimuth, double dfPseudoStdParallelLat,
    00599                            double dfScale,
    00600                            double dfFalseEasting, double dfFalseNorthing );
    00601
    00603 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00604                          double dfFalseEasting, double dfFalseNorthing );
    00605
    00607 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00608                         double dfCenterLat, double dfCenterLong,
    00609                         double dfFalseEasting, double dfFalseNorthing );
    00610
    00612 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00613                            double dfScale,
    00614                            double dfFalseEasting, double dfFalseNorthing );
    00615
    00617 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
    00618                          double dfCenterLat, double dfCenterLong,
    00619                          double dfFalseEasting, double dfFalseNorthing );
    00620
    00622 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00623                        double dfFalseEasting, double dfFalseNorthing );
    00624
    00626 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00627                              double dfScale,
    00628                              double dfFalseEasting, double dfFalseNorthing );
    00629
    00631 OGRErr CPL_DLL  OSRSetMollweide( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
    00632                               double dfFalseEasting, double dfFalseNorthing );
    00633
    00635 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00636                          double dfFalseEasting, double dfFalseNorthing );
    00637
    00639 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian,
    00640                        double dfScale,
    00641                        double dfFalseEasting,double dfFalseNorthing);
    00642
    00644 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00645                                  double dfFalseEasting,double dfFalseNorthing);
    00646
    00648 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00649                               double dfFalseEasting, double dfFalseNorthing );
    00650
    00652 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00653                        double dfScale,
    00654                        double dfFalseEasting, double dfFalseNorthing);
    00655
    00657 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS, double dfCenterLong,
    00658                              double dfFalseEasting, double dfFalseNorthing );
    00659
    00661 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS, double dfCenterLong,
    00662                                double dfFalseEasting, double dfFalseNorthing );
    00663
    00665 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00666                                   double dfScale,
    00667                                  double dfFalseEasting,double dfFalseNorthing);
    00668
    00670 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian,
    00671                         double dfFalseEasting, double dfFalseNorthing );
    00672
    00674 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
    00675                        double dfScale,
    00676                        double dfFalseEasting, double dfFalseNorthing );
    00677
    00679 OGRErr CPL_DLL OSRSetTMVariant(
    00680     OGRSpatialReferenceH hSRS, const char *pszVariantName,
    00681     double dfCenterLat, double dfCenterLong,
    00682     double dfScale,
    00683     double dfFalseEasting, double dfFalseNorthing );
    00684
    00686 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS, 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
    00700 void CPL_DLL OSRCleanup( void );
    00701
    00702 /* -------------------------------------------------------------------- */
    00703 /*      OGRCoordinateTransform C API.                                   */
    00704 /* -------------------------------------------------------------------- */
    00705 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
    00706 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
    00707                                 OGRSpatialReferenceH hTargetSRS );
    00708 void CPL_DLL CPL_STDCALL
    00709       OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
    00710
    00711 int CPL_DLL CPL_STDCALL
    00712 OCTTransform( OGRCoordinateTransformationH hCT,
    00713               int nCount, double *x, double *y, double *z );
    00714
    00715 int CPL_DLL CPL_STDCALL
    00716 OCTTransformEx( OGRCoordinateTransformationH hCT,
    00717                 int nCount, double *x, double *y, double *z,
    00718                 int *pabSuccess );
    00719
    00720 /* this is really private to OGR. */
    00721 char *OCTProj4Normalize( const char *pszProj4Src );
    00722
    00723 /* -------------------------------------------------------------------- */
    00724 /*      Projection transform dictionary query.                          */
    00725 /* -------------------------------------------------------------------- */
    00726
    00727 char CPL_DLL ** OPTGetProjectionMethods();
    00728 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
    00729                              char ** ppszUserName );
    00730 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
    00731                                  const char * pszParameterName,
    00732                                  char ** ppszUserName,
    00733                                  char ** ppszType,
    00734                                  double *pdfDefaultValue );
    00735
    00736 CPL_C_END
    00737
    00738 #endif /* ndef _OGR_SRS_API_H_INCLUDED */

Generated for GDAL by 1.4.5.