ogr_srs_api.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  * $Id: ogr_srs_api.h 10646 2007-01-18 02:38:10Z warmerdam $
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 #ifndef _OGR_SRS_API_H_INCLUDED
00031 #define _OGR_SRS_API_H_INCLUDED
00032 
00033 #include "ogr_core.h"
00034 
00035 CPL_C_START
00036 
00045 /* -------------------------------------------------------------------- */
00046 /*      Axis orientations (corresponds to CS_AxisOrientationEnum).      */
00047 /* -------------------------------------------------------------------- */
00048 typedef enum {
00049     OAO_Other=0,
00050     OAO_North=1,
00051     OAO_South=2,
00052     OAO_East=3,
00053     OAO_West=4,
00054     OAO_Up=5,
00055     OAO_Down=6
00056 } OGRAxisOrientation;
00057     
00058 /* -------------------------------------------------------------------- */
00059 /*      Datum types (corresponds to CS_DatumType).                      */
00060 /* -------------------------------------------------------------------- */
00061 
00062 typedef enum {
00063     ODT_HD_Min=1000,
00064     ODT_HD_Other=1000,
00065     ODT_HD_Classic=1001,
00066     ODT_HD_Geocentric=1002,
00067     ODT_HD_Max=1999,
00068     ODT_VD_Min=2000,
00069     ODT_VD_Other=2000,
00070     ODT_VD_Orthometric=2001,
00071     ODT_VD_Ellipsoidal=2002,
00072     ODT_VD_AltitudeBarometric=2003,
00073     ODT_VD_Normal=2004,
00074     ODT_VD_GeoidModelDerived=2005,
00075     ODT_VD_Depth=2006,
00076     ODT_VD_Max=2999,
00077     ODT_LD_Min=10000,
00078     ODT_LD_Max=32767
00079 } OGRDatumType; 
00080 
00081 /* ==================================================================== */
00082 /*      Some "standard" strings.                                        */
00083 /* ==================================================================== */
00084 
00085 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA                                  \
00086                                 "Albers_Conic_Equal_Area"
00087 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
00088 #define SRS_PT_CASSINI_SOLDNER  "Cassini_Soldner"
00089 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
00090 #define SRS_PT_BONNE            "Bonne"
00091 #define SRS_PT_ECKERT_IV        "Eckert_IV"
00092 #define SRS_PT_ECKERT_VI        "Eckert_VI"
00093 #define SRS_PT_EQUIDISTANT_CONIC "Equidistant_Conic"
00094 #define SRS_PT_EQUIRECTANGULAR  "Equirectangular"
00095 #define SRS_PT_GALL_STEREOGRAPHIC "Gall_Stereographic"
00096 #define SRS_PT_GEOSTATIONARY_SATELLITE "Geostationary_Satellite"
00097 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
00098 #define SRS_PT_GNOMONIC         "Gnomonic"
00099 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR                                  \
00100                                 "Hotine_Oblique_Mercator"
00101 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN         \
00102                             "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
00103 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR                                 \
00104                                 "Laborde_Oblique_Mercator"
00105 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP                              \
00106                                 "Lambert_Conformal_Conic_1SP"
00107 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP                              \
00108                                 "Lambert_Conformal_Conic_2SP"
00109 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM                      \
00110                                 "Lambert_Conformal_Conic_2SP_Belgium)"
00111 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA                     \
00112                                 "Lambert_Azimuthal_Equal_Area"
00113 #define SRS_PT_MERCATOR_1SP     "Mercator_1SP"
00114 #define SRS_PT_MERCATOR_2SP     "Mercator_2SP"
00115 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
00116 #define SRS_PT_MOLLWEIDE        "Mollweide"
00117 #define SRS_PT_NEW_ZEALAND_MAP_GRID                                     \
00118                                 "New_Zealand_Map_Grid"
00119 #define SRS_PT_OBLIQUE_STEREOGRAPHIC                                    \
00120                                 "Oblique_Stereographic"
00121 #define SRS_PT_ORTHOGRAPHIC     "Orthographic"
00122 #define SRS_PT_POLAR_STEREOGRAPHIC                                      \
00123                                 "Polar_Stereographic"
00124 #define SRS_PT_POLYCONIC        "Polyconic"
00125 #define SRS_PT_ROBINSON         "Robinson"
00126 #define SRS_PT_SINUSOIDAL       "Sinusoidal"
00127 #define SRS_PT_STEREOGRAPHIC    "Stereographic"
00128 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL                                \
00129                                 "Swiss_Oblique_Cylindrical"
00130 #define SRS_PT_TRANSVERSE_MERCATOR                                      \
00131                                 "Transverse_Mercator"
00132 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED                       \
00133                                 "Transverse_Mercator_South_Orientated"
00134 
00135 /* special mapinfo variants on Transverse Mercator */
00136 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
00137                                 "Transverse_Mercator_MapInfo_21"
00138 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
00139                                 "Transverse_Mercator_MapInfo_22"
00140 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
00141                                 "Transverse_Mercator_MapInfo_23"
00142 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
00143                                 "Transverse_Mercator_MapInfo_24"
00144 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
00145                                 "Transverse_Mercator_MapInfo_25"
00146 
00147 #define SRS_PT_TUNISIA_MINING_GRID                                      \
00148                                 "Tunisia_Mining_Grid"
00149 #define SRS_PT_TWO_POINT_EQUIDISTANT                                    \
00150                                 "Two_Point_Equidistant"
00151 #define SRS_PT_VANDERGRINTEN    "VanDerGrinten"
00152 #define SRS_PT_KROVAK           "Krovak"
00153 
00154                                 
00155 
00156 #define SRS_PP_CENTRAL_MERIDIAN         "central_meridian"
00157 #define SRS_PP_SCALE_FACTOR             "scale_factor"
00158 #define SRS_PP_STANDARD_PARALLEL_1      "standard_parallel_1"
00159 #define SRS_PP_STANDARD_PARALLEL_2      "standard_parallel_2"
00160 #define SRS_PP_PSEUDO_STD_PARALLEL_1    "pseudo_standard_parallel_1"
00161 #define SRS_PP_LONGITUDE_OF_CENTER      "longitude_of_center"
00162 #define SRS_PP_LATITUDE_OF_CENTER       "latitude_of_center"
00163 #define SRS_PP_LONGITUDE_OF_ORIGIN      "longitude_of_origin"
00164 #define SRS_PP_LATITUDE_OF_ORIGIN       "latitude_of_origin"
00165 #define SRS_PP_FALSE_EASTING            "false_easting"
00166 #define SRS_PP_FALSE_NORTHING           "false_northing"
00167 #define SRS_PP_AZIMUTH                  "azimuth"
00168 #define SRS_PP_LONGITUDE_OF_POINT_1     "longitude_of_point_1"
00169 #define SRS_PP_LATITUDE_OF_POINT_1      "latitude_of_point_1"
00170 #define SRS_PP_LONGITUDE_OF_POINT_2     "longitude_of_point_2"
00171 #define SRS_PP_LATITUDE_OF_POINT_2      "latitude_of_point_2"
00172 #define SRS_PP_LONGITUDE_OF_POINT_3     "longitude_of_point_3"
00173 #define SRS_PP_LATITUDE_OF_POINT_3      "latitude_of_point_3"
00174 #define SRS_PP_RECTIFIED_GRID_ANGLE     "rectified_grid_angle"
00175 #define SRS_PP_LANDSAT_NUMBER           "landsat_number"
00176 #define SRS_PP_PATH_NUMBER              "path_number"
00177 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
00178 #define SRS_PP_SATELLITE_HEIGHT         "satellite_height"
00179 #define SRS_PP_FIPSZONE                 "fipszone"
00180 #define SRS_PP_ZONE                     "zone"
00181 #define SRS_PP_LATITUDE_OF_1ST_POINT    "Latitude_Of_1st_Point"
00182 #define SRS_PP_LONGITUDE_OF_1ST_POINT   "Longitude_Of_1st_Point"
00183 #define SRS_PP_LATITUDE_OF_2ND_POINT    "Latitude_Of_2nd_Point"
00184 #define SRS_PP_LONGITUDE_OF_2ND_POINT   "Longitude_Of_2nd_Point"
00185 
00186 #define SRS_UL_METER            "Meter"
00187 #define SRS_UL_FOOT             "Foot (International)" /* or just "FOOT"? */
00188 #define SRS_UL_FOOT_CONV                    "0.3048"
00189 #define SRS_UL_US_FOOT          "U.S. Foot" /* or "US survey foot" */
00190 #define SRS_UL_US_FOOT_CONV                 "0.3048006"
00191 #define SRS_UL_NAUTICAL_MILE    "Nautical Mile"
00192 #define SRS_UL_NAUTICAL_MILE_CONV           "1852.0"
00193 #define SRS_UL_LINK             "Link"          /* Based on US Foot */
00194 #define SRS_UL_LINK_CONV                    "0.20116684023368047"
00195 #define SRS_UL_CHAIN            "Chain"         /* based on US Foot */
00196 #define SRS_UL_CHAIN_CONV                   "20.116684023368047"
00197 #define SRS_UL_ROD              "Rod"           /* based on US Foot */
00198 #define SRS_UL_ROD_CONV                     "5.02921005842012"
00199 
00200 #define SRS_UA_DEGREE           "degree"
00201 #define SRS_UA_DEGREE_CONV                  "0.0174532925199433"
00202 #define SRS_UA_RADIAN           "radian"
00203 
00204 #define SRS_PM_GREENWICH        "Greenwich"
00205 
00206 #define SRS_DN_NAD27            "North_American_Datum_1927"
00207 #define SRS_DN_NAD83            "North_American_Datum_1983"
00208 #define SRS_DN_WGS72            "WGS_1972"
00209 #define SRS_DN_WGS84            "WGS_1984"
00210 
00211 #define SRS_WGS84_SEMIMAJOR     6378137.0                                
00212 #define SRS_WGS84_INVFLATTENING 298.257223563
00213 
00214 /* -------------------------------------------------------------------- */
00215 /*      C Wrappers for C++ objects and methods.                         */
00216 /* -------------------------------------------------------------------- */
00217 #ifndef _DEFINED_OGRSpatialReferenceH
00218 #define _DEFINED_OGRSpatialReferenceH
00219 
00220 typedef void *OGRSpatialReferenceH;                               
00221 typedef void *OGRCoordinateTransformationH;
00222 
00223 #endif
00224 
00225 
00226 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
00227       OSRNewSpatialReference( const char * /* = NULL */);
00228 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
00229 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
00230 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
00231 
00232 int CPL_DLL OSRReference( OGRSpatialReferenceH );
00233 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
00234 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
00235 
00236 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
00237 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
00238 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
00239 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
00240 
00241 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
00242 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
00243 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
00244 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
00245 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
00246                                  const char *, double * );
00247 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
00248                                   long, long, double *, long);
00249 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
00250 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *, 
00251                                   const char * );
00252 OGRErr OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long, long,
00253                               double, double, double, double );
00254 
00255 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
00256 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
00257 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
00258 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
00259                                double ** );
00260 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
00261                                 double **, long * );
00262 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
00263 OGRErr OSRExportToPanorama( OGRSpatialReferenceH, long *, long *, long *,
00264                             long *, double *, double *, double *, double * );
00265 
00266 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
00267 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
00268 
00269 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
00270                                 const char * pszNodePath,
00271                                 const char * pszNewNodeValue );
00272 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
00273                            const char * pszName, int iChild /* = 0 */ );
00274 
00275 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
00276 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
00277 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
00278 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
00279 
00280 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
00281 
00282 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
00283 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
00284 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
00285 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
00286 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
00287 
00288 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
00289 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
00290 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
00291                                       const char * pszName );
00292 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS, 
00293                                     const char * );
00294 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS, 
00295                                   OGRSpatialReferenceH hSrcSRS );
00296 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS, 
00297                               double, double, double, 
00298                               double, double, double, double );
00299 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
00300                         
00301 
00302 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
00303                       const char * pszGeogName,
00304                       const char * pszDatumName,
00305                       const char * pszEllipsoidName,
00306                       double dfSemiMajor, double dfInvFlattening,
00307                       const char * pszPMName /* = NULL */,
00308                       double dfPMOffset /* = 0.0 */,
00309                       const char * pszUnits /* = NULL */,
00310                       double dfConvertToRadians /* = 0.0 */ );
00311 
00312 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
00313 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
00314 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
00315 
00316 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
00317                          const char * pszTargetKey,
00318                          const char * pszAuthority,
00319                          int nCode );
00320 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
00321                                          const char * pszTargetKey );
00322 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
00323                                          const char * pszTargetKey );
00324 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
00325 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
00326 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
00327                         const char * pszParmName, 
00328                         double dfDefault /* = 0.0 */,
00329                         OGRErr * /* = NULL */ );
00330 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
00331 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
00332                                    const char * pszParmName, 
00333                                    double dfDefault /* = 0.0 */,
00334                                    OGRErr * /* = NULL */ );
00335 
00336 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
00337 int    CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
00338 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS, 
00339                                  int nZone, int bNAD83 );
00340 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS, 
00341                                           int nZone, int bNAD83,
00342                                           const char *pszOverrideUnitName,
00343                                           double dfOverrideUnit );
00344 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
00345 
00347 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00348                          double dfCenterLat, double dfCenterLong,
00349                          double dfFalseEasting, double dfFalseNorthing );
00350     
00352 OGRErr CPL_DLL  OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00353                        double dfFalseEasting, double dfFalseNorthing );
00354 
00356 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS, 
00357                            double dfStandardParallel, double dfCentralMeridian,
00358                            double dfFalseEasting, double dfFalseNorthing );
00359 
00361 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
00362                         double dfFalseEasting, double dfFalseNorthing );
00363 
00365 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00366                        double dfFalseEasting, double dfFalseNorthing );
00367 
00369 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00370                        double dfCenterLat, double dfCenterLong,
00371                        double dfFalseEasting, double dfFalseNorthing );
00372 
00374 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00375                              double dfFalseEasting, double dfFalseNorthing );
00376 
00378 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00379                              double dfFalseEasting, double dfFalseNorthing );
00380 
00382 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
00383                               double dfCenterLat, double dfCenterLong,
00384                               double dfFalseEasting, double dfFalseNorthing );
00385 
00387 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00388                        double dfFalseEasting, double dfFalseNorthing );
00389     
00391 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00392                          double dfFalseEasting, double dfFalseNorthing );
00393     
00395 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS, 
00396                            double dfCentralMeridian, double dfSatelliteHeight,
00397                            double dfFalseEasting, double dfFalseNorthing );
00398     
00400 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
00401                               double dfCenterLat, double dfCenterLong,
00402                             double dfFalseEasting, double dfFalseNorthing );
00403 
00405 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
00406                           double dfCenterLat, double dfCenterLong,
00407                           double dfAzimuth, double dfRectToSkew,
00408                           double dfScale,
00409                           double dfFalseEasting, double dfFalseNorthing );
00410 
00412 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
00413                               double dfLat1, double dfLong1,
00414                               double dfLat2, double dfLong2,
00415                               double dfScale,
00416                               double dfFalseEasting, double dfFalseNorthing );
00417 
00419 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00420                            double dfAzimuth, double dfPseudoStdParallelLat,
00421                            double dfScale, 
00422                            double dfFalseEasting, double dfFalseNorthing );
00423 
00425 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00426                          double dfFalseEasting, double dfFalseNorthing );
00427 
00429 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00430                         double dfCenterLat, double dfCenterLong,
00431                         double dfFalseEasting, double dfFalseNorthing );
00432 
00434 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00435                            double dfScale,
00436                            double dfFalseEasting, double dfFalseNorthing );
00437 
00439 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00440                          double dfCenterLat, double dfCenterLong,
00441                          double dfFalseEasting, double dfFalseNorthing );
00442     
00444 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00445                        double dfFalseEasting, double dfFalseNorthing );
00446 
00448 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00449                              double dfScale, 
00450                              double dfFalseEasting, double dfFalseNorthing );
00451 
00453 OGRErr CPL_DLL  OSRSetMollweide( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00454                               double dfFalseEasting, double dfFalseNorthing );
00455 
00457 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00458                          double dfFalseEasting, double dfFalseNorthing );
00459 
00461 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian,
00462                        double dfScale,
00463                        double dfFalseEasting,double dfFalseNorthing);
00464     
00466 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00467                                  double dfFalseEasting,double dfFalseNorthing);
00468 
00470 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00471                               double dfFalseEasting, double dfFalseNorthing );
00472 
00474 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00475                        double dfScale,
00476                        double dfFalseEasting, double dfFalseNorthing);
00477     
00479 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS, double dfCenterLong, 
00480                              double dfFalseEasting, double dfFalseNorthing );
00481     
00483 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS, double dfCenterLong, 
00484                                double dfFalseEasting, double dfFalseNorthing );
00485     
00487 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00488                                   double dfScale,
00489                                  double dfFalseEasting,double dfFalseNorthing);
00490     
00492 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian,
00493                         double dfFalseEasting, double dfFalseNorthing );
00494     
00496 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00497                        double dfScale,
00498                        double dfFalseEasting, double dfFalseNorthing );
00499 
00501 OGRErr CPL_DLL OSRSetTMVariant( 
00502     OGRSpatialReferenceH hSRS, const char *pszVariantName,
00503     double dfCenterLat, double dfCenterLong,
00504     double dfScale,
00505     double dfFalseEasting, double dfFalseNorthing );
00506 
00508 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 
00509                         double dfFalseEasting, double dfFalseNorthing );
00510 
00512 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
00513                            double dfCenterLat, double dfCenterLong,
00514                            double dfScale,
00515                            double dfFalseEasting, double dfFalseNorthing );
00516 
00518 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
00519                           double dfCenterLong,
00520                           double dfFalseEasting, double dfFalseNorthing );
00521 
00522 void CPL_DLL OSRCleanup( void );
00523 
00524 /* -------------------------------------------------------------------- */
00525 /*      OGRCoordinateTransform C API.                                   */
00526 /* -------------------------------------------------------------------- */
00527 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
00528 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
00529                                 OGRSpatialReferenceH hTargetSRS );
00530 void CPL_DLL CPL_STDCALL 
00531       OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
00532 
00533 int CPL_DLL CPL_STDCALL
00534 OCTTransform( OGRCoordinateTransformationH hCT,
00535               int nCount, double *x, double *y, double *z );
00536 
00537 int CPL_DLL CPL_STDCALL
00538 OCTTransformEx( OGRCoordinateTransformationH hCT,
00539                 int nCount, double *x, double *y, double *z,
00540                 int *pabSuccess );
00541 
00542 /* this is really private to OGR. */
00543 char *OCTProj4Normalize( const char *pszProj4Src );
00544 
00545 /* -------------------------------------------------------------------- */
00546 /*      Projection transform dictionary query.                          */
00547 /* -------------------------------------------------------------------- */
00548 
00549 char CPL_DLL ** OPTGetProjectionMethods();
00550 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
00551                              char ** ppszUserName );
00552 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
00553                                  const char * pszParameterName,
00554                                  char ** ppszUserName,
00555                                  char ** ppszType,
00556                                  double *pdfDefaultValue );
00557 
00558 CPL_C_END
00559 
00560 #endif /* ndef _OGR_SRS_API_H_INCLUDED */

Generated for GDAL by doxygen 1.4.7.