00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
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
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
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
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_I "Eckert_I"
00092 #define SRS_PT_ECKERT_II "Eckert_II"
00093 #define SRS_PT_ECKERT_III "Eckert_III"
00094 #define SRS_PT_ECKERT_IV "Eckert_IV"
00095 #define SRS_PT_ECKERT_V "Eckert_V"
00096 #define SRS_PT_ECKERT_VI "Eckert_VI"
00097 #define SRS_PT_EQUIDISTANT_CONIC "Equidistant_Conic"
00098 #define SRS_PT_EQUIRECTANGULAR "Equirectangular"
00099 #define SRS_PT_GALL_STEREOGRAPHIC "Gall_Stereographic"
00100 #define SRS_PT_GEOSTATIONARY_SATELLITE "Geostationary_Satellite"
00101 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
00102 #define SRS_PT_GNOMONIC "Gnomonic"
00103 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
00104 "Hotine_Oblique_Mercator"
00105 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
00106 "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
00107 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
00108 "Laborde_Oblique_Mercator"
00109 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
00110 "Lambert_Conformal_Conic_1SP"
00111 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
00112 "Lambert_Conformal_Conic_2SP"
00113 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
00114 "Lambert_Conformal_Conic_2SP_Belgium)"
00115 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
00116 "Lambert_Azimuthal_Equal_Area"
00117 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
00118 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
00119 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
00120 #define SRS_PT_MOLLWEIDE "Mollweide"
00121 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
00122 "New_Zealand_Map_Grid"
00123 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
00124 "Oblique_Stereographic"
00125 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
00126 #define SRS_PT_POLAR_STEREOGRAPHIC \
00127 "Polar_Stereographic"
00128 #define SRS_PT_POLYCONIC "Polyconic"
00129 #define SRS_PT_ROBINSON "Robinson"
00130 #define SRS_PT_SINUSOIDAL "Sinusoidal"
00131 #define SRS_PT_STEREOGRAPHIC "Stereographic"
00132 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
00133 "Swiss_Oblique_Cylindrical"
00134 #define SRS_PT_TRANSVERSE_MERCATOR \
00135 "Transverse_Mercator"
00136 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
00137 "Transverse_Mercator_South_Orientated"
00138
00139
00140 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
00141 "Transverse_Mercator_MapInfo_21"
00142 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
00143 "Transverse_Mercator_MapInfo_22"
00144 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
00145 "Transverse_Mercator_MapInfo_23"
00146 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
00147 "Transverse_Mercator_MapInfo_24"
00148 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
00149 "Transverse_Mercator_MapInfo_25"
00150
00151 #define SRS_PT_TUNISIA_MINING_GRID \
00152 "Tunisia_Mining_Grid"
00153 #define SRS_PT_TWO_POINT_EQUIDISTANT \
00154 "Two_Point_Equidistant"
00155 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
00156 #define SRS_PT_KROVAK "Krovak"
00157
00158
00159
00160 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
00161 #define SRS_PP_SCALE_FACTOR "scale_factor"
00162 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
00163 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
00164 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
00165 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
00166 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
00167 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
00168 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
00169 #define SRS_PP_FALSE_EASTING "false_easting"
00170 #define SRS_PP_FALSE_NORTHING "false_northing"
00171 #define SRS_PP_AZIMUTH "azimuth"
00172 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
00173 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
00174 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
00175 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
00176 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
00177 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
00178 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
00179 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
00180 #define SRS_PP_PATH_NUMBER "path_number"
00181 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
00182 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
00183 #define SRS_PP_FIPSZONE "fipszone"
00184 #define SRS_PP_ZONE "zone"
00185 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
00186 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
00187 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
00188 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
00189
00190 #define SRS_UL_METER "Meter"
00191 #define SRS_UL_FOOT "Foot (International)"
00192 #define SRS_UL_FOOT_CONV "0.3048"
00193 #define SRS_UL_US_FOOT "U.S. Foot"
00194 #define SRS_UL_US_FOOT_CONV "0.3048006"
00195 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
00196 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
00197 #define SRS_UL_LINK "Link"
00198 #define SRS_UL_LINK_CONV "0.20116684023368047"
00199 #define SRS_UL_CHAIN "Chain"
00200 #define SRS_UL_CHAIN_CONV "20.116684023368047"
00201 #define SRS_UL_ROD "Rod"
00202 #define SRS_UL_ROD_CONV "5.02921005842012"
00203
00204 #define SRS_UA_DEGREE "degree"
00205 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
00206 #define SRS_UA_RADIAN "radian"
00207
00208 #define SRS_PM_GREENWICH "Greenwich"
00209
00210 #define SRS_DN_NAD27 "North_American_Datum_1927"
00211 #define SRS_DN_NAD83 "North_American_Datum_1983"
00212 #define SRS_DN_WGS72 "WGS_1972"
00213 #define SRS_DN_WGS84 "WGS_1984"
00214
00215 #define SRS_WGS84_SEMIMAJOR 6378137.0
00216 #define SRS_WGS84_INVFLATTENING 298.257223563
00217
00218
00219
00220
00221 #ifndef _DEFINED_OGRSpatialReferenceH
00222 #define _DEFINED_OGRSpatialReferenceH
00223
00224 typedef void *OGRSpatialReferenceH;
00225 typedef void *OGRCoordinateTransformationH;
00226
00227 #endif
00228
00229
00230 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
00231 OSRNewSpatialReference( const char * );
00232 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
00233 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
00234 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
00235
00236 int CPL_DLL OSRReference( OGRSpatialReferenceH );
00237 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
00238 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
00239
00240 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
00241 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
00242 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
00243 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
00244
00245 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
00246 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
00247 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
00248 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
00249 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
00250 const char *, double * );
00251 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
00252 long, long, double *, long);
00253 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
00254 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
00255 const char * );
00256 OGRErr OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
00257 double * );
00258 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
00259
00260 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
00261 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
00262 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
00263 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
00264 double ** );
00265 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
00266 double **, long * );
00267 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
00268 OGRErr OSRExportToPanorama( OGRSpatialReferenceH, long *, long *, long *,
00269 long *, double * );
00270
00271 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
00272 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
00273
00274 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
00275 const char * pszNodePath,
00276 const char * pszNewNodeValue );
00277 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
00278 const char * pszName, int iChild );
00279
00280 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
00281 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
00282 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
00283 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
00284
00285 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
00286
00287 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
00288 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
00289 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
00290 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
00291 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
00292
00293 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
00294 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
00295 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
00296 const char * pszName );
00297 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
00298 const char * );
00299 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
00300 OGRSpatialReferenceH hSrcSRS );
00301 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
00302 double, double, double,
00303 double, double, double, double );
00304 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
00305
00306
00307 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
00308 const char * pszGeogName,
00309 const char * pszDatumName,
00310 const char * pszEllipsoidName,
00311 double dfSemiMajor, double dfInvFlattening,
00312 const char * pszPMName ,
00313 double dfPMOffset ,
00314 const char * pszUnits ,
00315 double dfConvertToRadians );
00316
00317 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * );
00318 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * );
00319 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * );
00320
00321 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
00322 const char * pszTargetKey,
00323 const char * pszAuthority,
00324 int nCode );
00325 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
00326 const char * pszTargetKey );
00327 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
00328 const char * pszTargetKey );
00329 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
00330 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
00331 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
00332 const char * pszParmName,
00333 double dfDefault ,
00334 OGRErr * );
00335 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
00336 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
00337 const char * pszParmName,
00338 double dfDefault ,
00339 OGRErr * );
00340
00341 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
00342 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
00343 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
00344 int nZone, int bNAD83 );
00345 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
00346 int nZone, int bNAD83,
00347 const char *pszOverrideUnitName,
00348 double dfOverrideUnit );
00349 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
00350
00352 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00353 double dfCenterLat, double dfCenterLong,
00354 double dfFalseEasting, double dfFalseNorthing );
00355
00357 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00358 double dfFalseEasting, double dfFalseNorthing );
00359
00361 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
00362 double dfStandardParallel, double dfCentralMeridian,
00363 double dfFalseEasting, double dfFalseNorthing );
00364
00366 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
00367 double dfFalseEasting, double dfFalseNorthing );
00368
00370 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00371 double dfFalseEasting, double dfFalseNorthing );
00372
00374 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00375 double dfCenterLat, double dfCenterLong,
00376 double dfFalseEasting, double dfFalseNorthing );
00377
00379 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
00380 double dfCentralMeridian,
00381 double dfFalseEasting, double dfFalseNorthing );
00382
00384 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00385 double dfFalseEasting, double dfFalseNorthing );
00386
00388 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00389 double dfFalseEasting, double dfFalseNorthing );
00390
00392 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
00393 double dfCenterLat, double dfCenterLong,
00394 double dfFalseEasting, double dfFalseNorthing );
00395
00397 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00398 double dfFalseEasting, double dfFalseNorthing );
00399
00401 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00402 double dfFalseEasting, double dfFalseNorthing );
00403
00405 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
00406 double dfCentralMeridian, double dfSatelliteHeight,
00407 double dfFalseEasting, double dfFalseNorthing );
00408
00410 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
00411 double dfCenterLat, double dfCenterLong,
00412 double dfFalseEasting, double dfFalseNorthing );
00413
00415 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
00416 double dfCenterLat, double dfCenterLong,
00417 double dfAzimuth, double dfRectToSkew,
00418 double dfScale,
00419 double dfFalseEasting, double dfFalseNorthing );
00420
00422 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
00423 double dfLat1, double dfLong1,
00424 double dfLat2, double dfLong2,
00425 double dfScale,
00426 double dfFalseEasting, double dfFalseNorthing );
00427
00429 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00430 double dfAzimuth, double dfPseudoStdParallelLat,
00431 double dfScale,
00432 double dfFalseEasting, double dfFalseNorthing );
00433
00435 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00436 double dfFalseEasting, double dfFalseNorthing );
00437
00439 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00440 double dfCenterLat, double dfCenterLong,
00441 double dfFalseEasting, double dfFalseNorthing );
00442
00444 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00445 double dfScale,
00446 double dfFalseEasting, double dfFalseNorthing );
00447
00449 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00450 double dfCenterLat, double dfCenterLong,
00451 double dfFalseEasting, double dfFalseNorthing );
00452
00454 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00455 double dfFalseEasting, double dfFalseNorthing );
00456
00458 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00459 double dfScale,
00460 double dfFalseEasting, double dfFalseNorthing );
00461
00463 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00464 double dfFalseEasting, double dfFalseNorthing );
00465
00467 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00468 double dfFalseEasting, double dfFalseNorthing );
00469
00471 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian,
00472 double dfScale,
00473 double dfFalseEasting,double dfFalseNorthing);
00474
00476 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00477 double dfFalseEasting,double dfFalseNorthing);
00478
00480 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00481 double dfFalseEasting, double dfFalseNorthing );
00482
00484 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00485 double dfScale,
00486 double dfFalseEasting, double dfFalseNorthing);
00487
00489 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS, double dfCenterLong,
00490 double dfFalseEasting, double dfFalseNorthing );
00491
00493 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS, double dfCenterLong,
00494 double dfFalseEasting, double dfFalseNorthing );
00495
00497 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00498 double dfScale,
00499 double dfFalseEasting,double dfFalseNorthing);
00500
00502 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian,
00503 double dfFalseEasting, double dfFalseNorthing );
00504
00506 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00507 double dfScale,
00508 double dfFalseEasting, double dfFalseNorthing );
00509
00511 OGRErr CPL_DLL OSRSetTMVariant(
00512 OGRSpatialReferenceH hSRS, const char *pszVariantName,
00513 double dfCenterLat, double dfCenterLong,
00514 double dfScale,
00515 double dfFalseEasting, double dfFalseNorthing );
00516
00518 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00519 double dfFalseEasting, double dfFalseNorthing );
00520
00522 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
00523 double dfCenterLat, double dfCenterLong,
00524 double dfScale,
00525 double dfFalseEasting, double dfFalseNorthing );
00526
00528 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
00529 double dfCenterLong,
00530 double dfFalseEasting, double dfFalseNorthing );
00531
00532 void CPL_DLL OSRCleanup( void );
00533
00534
00535
00536
00537 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
00538 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
00539 OGRSpatialReferenceH hTargetSRS );
00540 void CPL_DLL CPL_STDCALL
00541 OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
00542
00543 int CPL_DLL CPL_STDCALL
00544 OCTTransform( OGRCoordinateTransformationH hCT,
00545 int nCount, double *x, double *y, double *z );
00546
00547 int CPL_DLL CPL_STDCALL
00548 OCTTransformEx( OGRCoordinateTransformationH hCT,
00549 int nCount, double *x, double *y, double *z,
00550 int *pabSuccess );
00551
00552
00553 char *OCTProj4Normalize( const char *pszProj4Src );
00554
00555
00556
00557
00558
00559 char CPL_DLL ** OPTGetProjectionMethods();
00560 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
00561 char ** ppszUserName );
00562 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
00563 const char * pszParameterName,
00564 char ** ppszUserName,
00565 char ** ppszType,
00566 double *pdfDefaultValue );
00567
00568 CPL_C_END
00569
00570 #endif