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
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
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
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
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
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
00140 #define SRS_PT_MERCATOR_AUXILIARY_SPHERE \
00141 "Mercator_Auxiliary_Sphere"
00142 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
00143 #define SRS_PT_MOLLWEIDE "Mollweide"
00144 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
00145 "New_Zealand_Map_Grid"
00146 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
00147 "Oblique_Stereographic"
00148 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
00149 #define SRS_PT_POLAR_STEREOGRAPHIC \
00150 "Polar_Stereographic"
00151 #define SRS_PT_POLYCONIC "Polyconic"
00152 #define SRS_PT_ROBINSON "Robinson"
00153 #define SRS_PT_SINUSOIDAL "Sinusoidal"
00154 #define SRS_PT_STEREOGRAPHIC "Stereographic"
00155 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
00156 "Swiss_Oblique_Cylindrical"
00157 #define SRS_PT_TRANSVERSE_MERCATOR \
00158 "Transverse_Mercator"
00159 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
00160 "Transverse_Mercator_South_Orientated"
00161
00162
00163 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
00164 "Transverse_Mercator_MapInfo_21"
00165 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
00166 "Transverse_Mercator_MapInfo_22"
00167 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
00168 "Transverse_Mercator_MapInfo_23"
00169 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
00170 "Transverse_Mercator_MapInfo_24"
00171 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
00172 "Transverse_Mercator_MapInfo_25"
00173
00174 #define SRS_PT_TUNISIA_MINING_GRID \
00175 "Tunisia_Mining_Grid"
00176 #define SRS_PT_TWO_POINT_EQUIDISTANT \
00177 "Two_Point_Equidistant"
00178 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
00179 #define SRS_PT_KROVAK "Krovak"
00180 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
00181 #define SRS_PT_WAGNER_I "Wagner_I"
00182 #define SRS_PT_WAGNER_II "Wagner_II"
00183 #define SRS_PT_WAGNER_III "Wagner_III"
00184 #define SRS_PT_WAGNER_IV "Wagner_IV"
00185 #define SRS_PT_WAGNER_V "Wagner_V"
00186 #define SRS_PT_WAGNER_VI "Wagner_VI"
00187 #define SRS_PT_WAGNER_VII "Wagner_VII"
00188 #define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
00189 #define SRS_PT_AITOFF "Aitoff"
00190 #define SRS_PT_WINKEL_I "Winkel_I"
00191 #define SRS_PT_WINKEL_II "Winkel_II"
00192 #define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
00193 #define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
00194 #define SRS_PT_LOXIMUTHAL "Loximuthal"
00195 #define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
00196
00197 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
00198 #define SRS_PP_SCALE_FACTOR "scale_factor"
00199 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
00200 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
00201 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
00202 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
00203 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
00204 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
00205 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
00206 #define SRS_PP_FALSE_EASTING "false_easting"
00207 #define SRS_PP_FALSE_NORTHING "false_northing"
00208 #define SRS_PP_AZIMUTH "azimuth"
00209 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
00210 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
00211 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
00212 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
00213 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
00214 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
00215 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
00216 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
00217 #define SRS_PP_PATH_NUMBER "path_number"
00218 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
00219 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
00220 #define SRS_PP_FIPSZONE "fipszone"
00221 #define SRS_PP_ZONE "zone"
00222 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
00223 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
00224 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
00225 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
00226
00227 #define SRS_UL_METER "Meter"
00228 #define SRS_UL_FOOT "Foot (International)"
00229 #define SRS_UL_FOOT_CONV "0.3048"
00230 #define SRS_UL_US_FOOT "Foot_US"
00231 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
00232 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
00233 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
00234 #define SRS_UL_LINK "Link"
00235 #define SRS_UL_LINK_CONV "0.20116684023368047"
00236 #define SRS_UL_CHAIN "Chain"
00237 #define SRS_UL_CHAIN_CONV "20.116684023368047"
00238 #define SRS_UL_ROD "Rod"
00239 #define SRS_UL_ROD_CONV "5.02921005842012"
00240 #define SRS_UL_LINK_Clarke "Link_Clarke"
00241 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
00242
00243 #define SRS_UL_KILOMETER "Kilometer"
00244 #define SRS_UL_KILOMETER_CONV "1000."
00245 #define SRS_UL_DECIMETER "Decimeter"
00246 #define SRS_UL_DECIMETER_CONV "0.1"
00247 #define SRS_UL_CENTIMETER "Centimeter"
00248 #define SRS_UL_CENTIMETER_CONV "0.01"
00249 #define SRS_UL_MILLIMETER "Millimeter"
00250 #define SRS_UL_MILLIMETER_CONV "0.001"
00251 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
00252 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
00253 #define SRS_UL_INTL_INCH "Inch_International"
00254 #define SRS_UL_INTL_INCH_CONV "0.0254"
00255 #define SRS_UL_INTL_FOOT "Foot_International"
00256 #define SRS_UL_INTL_FOOT_CONV "0.3048"
00257 #define SRS_UL_INTL_YARD "Yard_International"
00258 #define SRS_UL_INTL_YARD_CONV "0.9144"
00259 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
00260 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
00261 #define SRS_UL_INTL_FATHOM "Fathom_International"
00262 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
00263 #define SRS_UL_INTL_CHAIN "Chain_International"
00264 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
00265 #define SRS_UL_INTL_LINK "Link_International"
00266 #define SRS_UL_INTL_LINK_CONV "0.201168"
00267 #define SRS_UL_US_INCH "Inch_US_Surveyor"
00268 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
00269 #define SRS_UL_US_YARD "Yard_US_Surveyor"
00270 #define SRS_UL_US_YARD_CONV "0.914401828803658"
00271 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
00272 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
00273 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
00274 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
00275 #define SRS_UL_INDIAN_YARD "Yard_Indian"
00276 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
00277 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
00278 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
00279 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
00280 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
00281
00282 #define SRS_UA_DEGREE "degree"
00283 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
00284 #define SRS_UA_RADIAN "radian"
00285
00286 #define SRS_PM_GREENWICH "Greenwich"
00287
00288 #define SRS_DN_NAD27 "North_American_Datum_1927"
00289 #define SRS_DN_NAD83 "North_American_Datum_1983"
00290 #define SRS_DN_WGS72 "WGS_1972"
00291 #define SRS_DN_WGS84 "WGS_1984"
00292
00293 #define SRS_WGS84_SEMIMAJOR 6378137.0
00294 #define SRS_WGS84_INVFLATTENING 298.257223563
00295
00296 #ifndef SWIG
00297
00298
00299
00300 #ifndef _DEFINED_OGRSpatialReferenceH
00301 #define _DEFINED_OGRSpatialReferenceH
00302
00303 #ifdef DEBUG
00304 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
00305 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
00306 #else
00307 typedef void *OGRSpatialReferenceH;
00308 typedef void *OGRCoordinateTransformationH;
00309 #endif
00310
00311 #endif
00312
00313
00314 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
00315 OSRNewSpatialReference( const char * );
00316 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
00317 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
00318 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
00319
00320 int CPL_DLL OSRReference( OGRSpatialReferenceH );
00321 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
00322 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
00323
00324 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
00325 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
00326 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
00327 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
00328
00329 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
00330 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
00331 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
00332 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
00333 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
00334 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
00335 const char *, double * );
00336 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
00337 long, long, double *, long);
00338 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
00339 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
00340 const char * );
00341 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
00342 double * );
00343 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
00344 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
00345 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
00346 const char *, const char *, const char * );
00347 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
00348
00349 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
00350 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
00351 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
00352 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
00353 double ** );
00354 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
00355 double **, long * );
00356 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
00357 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
00358 long *, long *, double * );
00359 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
00360 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
00361
00362 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
00363 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
00364
00365 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
00366 const char * pszNodePath,
00367 const char * pszNewNodeValue );
00368 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
00369 const char * pszName, int iChild );
00370
00371 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
00372 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
00373 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
00374 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
00375 OGRErr CPL_DLL OSRSetLinearUnitsAndUpdateParameters(
00376 OGRSpatialReferenceH, const char *, double );
00377 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
00378 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
00379
00380 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
00381
00382 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
00383 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
00384 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
00385 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
00386 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
00387 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
00388 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
00389 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
00390 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
00391
00392 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
00393 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
00394 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
00395 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
00396 const char * pszName );
00397 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
00398 const char * );
00399 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
00400 OGRSpatialReferenceH hSrcSRS );
00401 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
00402 double, double, double,
00403 double, double, double, double );
00404 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
00405
00406
00407 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
00408 const char *pszName,
00409 OGRSpatialReferenceH hHorizSRS,
00410 OGRSpatialReferenceH hVertSRS );
00411 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
00412 const char * pszGeogName,
00413 const char * pszDatumName,
00414 const char * pszEllipsoidName,
00415 double dfSemiMajor, double dfInvFlattening,
00416 const char * pszPMName ,
00417 double dfPMOffset ,
00418 const char * pszUnits ,
00419 double dfConvertToRadians );
00420
00421 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
00422 const char * pszVertCSName,
00423 const char * pszVertDatumName,
00424 int nVertDatumType );
00425
00426 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * );
00427 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * );
00428 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * );
00429
00430 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
00431 const char * pszTargetKey,
00432 const char * pszAuthority,
00433 int nCode );
00434 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
00435 const char * pszTargetKey );
00436 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
00437 const char * pszTargetKey );
00438 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
00439 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
00440 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
00441 const char * pszParmName,
00442 double dfDefault ,
00443 OGRErr * );
00444 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
00445 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
00446 const char * pszParmName,
00447 double dfDefault ,
00448 OGRErr * );
00449
00450 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
00451 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
00452 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
00453 int nZone, int bNAD83 );
00454 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
00455 int nZone, int bNAD83,
00456 const char *pszOverrideUnitName,
00457 double dfOverrideUnit );
00458 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
00459
00460 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
00461 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
00462 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
00463 const char *pszTargetKey, int iAxis,
00464 OGRAxisOrientation *peOrientation );
00465 OGRErr CPL_DLL OSRSetAxes( const char *pszTargetKey,
00466 const char *pszXAxisName,
00467 OGRAxisOrientation eXAxisOrientation,
00468 const char *pszYAxisName,
00469 OGRAxisOrientation eYAxisOrientation );
00471 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00472 double dfCenterLat, double dfCenterLong,
00473 double dfFalseEasting, double dfFalseNorthing );
00474
00476 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00477 double dfFalseEasting, double dfFalseNorthing );
00478
00480 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
00481 double dfStandardParallel, double dfCentralMeridian,
00482 double dfFalseEasting, double dfFalseNorthing );
00483
00485 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
00486 double dfFalseEasting, double dfFalseNorthing );
00487
00489 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
00490 double dfFalseEasting, double dfFalseNorthing );
00491
00493 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
00494 double dfCenterLat, double dfCenterLong,
00495 double dfFalseEasting, double dfFalseNorthing );
00496
00498 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
00499 double dfCentralMeridian,
00500 double dfFalseEasting, double dfFalseNorthing );
00501
00503 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00504 double dfFalseEasting, double dfFalseNorthing );
00505
00507 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00508 double dfFalseEasting, double dfFalseNorthing );
00509
00511 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
00512 double dfCenterLat, double dfCenterLong,
00513 double dfFalseEasting, double dfFalseNorthing );
00514
00516 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
00517 double dfCenterLat, double dfCenterLong,
00518 double dfPseudoStdParallel1,
00519 double dfFalseEasting,
00520 double dfFalseNorthing );
00521
00523 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00524 double dfFalseEasting, double dfFalseNorthing );
00525
00527 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
00528 double dfFalseEasting, double dfFalseNorthing );
00529
00531 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
00532
00534 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
00535 double dfCentralMeridian, double dfSatelliteHeight,
00536 double dfFalseEasting, double dfFalseNorthing );
00537
00539 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
00540 double dfCenterLat, double dfCenterLong,
00541 double dfScale,
00542 double dfFalseEasting,
00543 double dfFalseNorthing );
00545 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
00546 double dfCenterLat, double dfCenterLong,
00547 double dfFalseEasting, double dfFalseNorthing );
00548
00550 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
00551 double dfCenterLat, double dfCenterLong,
00552 double dfAzimuth, double dfRectToSkew,
00553 double dfScale,
00554 double dfFalseEasting, double dfFalseNorthing );
00555
00557 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
00558 double dfCenterLat, double dfCenterLong,
00559 double dfAzimuth, double dfRectToSkew,
00560 double dfScale,
00561 double dfFalseEasting, double dfFalseNorthing );
00562
00564 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
00565 double dfLat1, double dfLong1,
00566 double dfLat2, double dfLong2,
00567 double dfScale,
00568 double dfFalseEasting, double dfFalseNorthing );
00569
00571 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
00572 double dfLat1, double dfLat2,
00573 double dfCenterLong,
00574 double dfFalseEasting,
00575 double dfFalseNorthing );
00576
00578 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
00579 double dfCenterLat, double dfCenterLong,
00580 double dfAzimuth, double dfPseudoStdParallelLat,
00581 double dfScale,
00582 double dfFalseEasting, double dfFalseNorthing );
00583
00585 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
00586 double dfCenterLat, double dfCenterLong,
00587 double dfFalseEasting, double dfFalseNorthing );
00588
00590 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
00591 double dfStdP1, double dfStdP2,
00592 double dfCenterLat, double dfCenterLong,
00593 double dfFalseEasting, double dfFalseNorthing );
00594
00596 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
00597 double dfCenterLat, double dfCenterLong,
00598 double dfScale,
00599 double dfFalseEasting, double dfFalseNorthing );
00600
00602 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
00603 double dfStdP1, double dfStdP2,
00604 double dfCenterLat, double dfCenterLong,
00605 double dfFalseEasting, double dfFalseNorthing );
00606
00608 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
00609 double dfCenterLat, double dfCenterLong,
00610 double dfFalseEasting, double dfFalseNorthing );
00611
00613 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
00614 double dfCenterLat, double dfCenterLong,
00615 double dfScale,
00616 double dfFalseEasting, double dfFalseNorthing );
00617
00619 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
00620 double dfCentralMeridian,
00621 double dfFalseEasting,
00622 double dfFalseNorthing );
00623
00625 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
00626 double dfCenterLat, double dfCenterLong,
00627 double dfFalseEasting, double dfFalseNorthing );
00628
00630 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
00631 double dfOriginLat, double dfCMeridian,
00632 double dfScale,
00633 double dfFalseEasting,double dfFalseNorthing);
00634
00636 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
00637 double dfCenterLat, double dfCenterLong,
00638 double dfFalseEasting,
00639 double dfFalseNorthing);
00640
00642 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
00643 double dfCenterLat, double dfCenterLong,
00644 double dfFalseEasting, double dfFalseNorthing );
00645
00647 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
00648 double dfCenterLat, double dfCenterLong,
00649 double dfScale,
00650 double dfFalseEasting, double dfFalseNorthing);
00651
00653 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
00654 double dfCenterLong,
00655 double dfFalseEasting, double dfFalseNorthing );
00656
00658 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
00659 double dfCenterLong,
00660 double dfFalseEasting,
00661 double dfFalseNorthing );
00662
00664 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
00665 double dfCenterLat, double dfCenterLong,
00666 double dfScale,
00667 double dfFalseEasting,
00668 double dfFalseNorthing);
00669
00671 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
00672 double dfLatitudeOfOrigin, double dfCentralMeridian,
00673 double dfFalseEasting, double dfFalseNorthing );
00674
00681 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
00682 double dfCenterLat, double dfCenterLong,
00683 double dfScale,
00684 double dfFalseEasting, double dfFalseNorthing );
00685
00687 OGRErr CPL_DLL OSRSetTMVariant(
00688 OGRSpatialReferenceH hSRS, const char *pszVariantName,
00689 double dfCenterLat, double dfCenterLong,
00690 double dfScale,
00691 double dfFalseEasting, double dfFalseNorthing );
00692
00694 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
00695 double dfCenterLat, double dfCenterLong,
00696 double dfFalseEasting, double dfFalseNorthing );
00697
00699 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
00700 double dfCenterLat, double dfCenterLong,
00701 double dfScale,
00702 double dfFalseEasting, double dfFalseNorthing );
00703
00705 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
00706 double dfCenterLong,
00707 double dfFalseEasting, double dfFalseNorthing );
00708
00710 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
00711 double dfFalseEasting,
00712 double dfFalseNorthing );
00713
00715 OGRErr CPL_DLL OSRSetQSC( OGRSpatialReferenceH hSRS,
00716 double dfCenterLat, double dfCenterLong );
00717
00718 double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
00719 double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
00720
00721 void CPL_DLL OSRCleanup( void );
00722
00723
00724
00725
00726 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
00727 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
00728 OGRSpatialReferenceH hTargetSRS );
00729 void CPL_DLL CPL_STDCALL
00730 OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
00731
00732 int CPL_DLL CPL_STDCALL
00733 OCTTransform( OGRCoordinateTransformationH hCT,
00734 int nCount, double *x, double *y, double *z );
00735
00736 int CPL_DLL CPL_STDCALL
00737 OCTTransformEx( OGRCoordinateTransformationH hCT,
00738 int nCount, double *x, double *y, double *z,
00739 int *pabSuccess );
00740
00741
00742 char *OCTProj4Normalize( const char *pszProj4Src );
00743
00744 void OCTCleanupProjMutex( void );
00745
00746
00747
00748
00749
00750 char CPL_DLL ** OPTGetProjectionMethods( void );
00751 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
00752 char ** ppszUserName );
00753 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
00754 const char * pszParameterName,
00755 char ** ppszUserName,
00756 char ** ppszType,
00757 double *pdfDefaultValue );
00758
00759 CPL_C_END
00760
00761 #endif
00762
00763 #endif