Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

ogr_srs_api.h

Go to the documentation of this file.
00001 /****************************************************************************** 00002 * $Id: ogr_srs_api.h,v 1.42 2004/03/04 18:04:45 warmerda Exp $ 00003 * 00004 * Project: OpenGIS Simple Features Reference Implementation 00005 * Purpose: C API and constant declarations for OGR Spatial References. 00006 * Author: Frank Warmerdam, warmerda@home.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.42 2004/03/04 18:04:45 warmerda 00032 * added importFromDict() support 00033 * 00034 * Revision 1.41 2004/02/07 17:31:21 dron 00035 * Added OSRExportToUSGS() method. 00036 * 00037 * Revision 1.40 2004/02/05 17:07:59 dron 00038 * Support for HOM projection, specified by two points on centerline. 00039 * 00040 * Revision 1.39 2004/02/01 14:23:29 dron 00041 * Added OSRImportFromUSGS(). 00042 * 00043 * Revision 1.38 2004/01/24 09:35:00 warmerda 00044 * added TransformEx support to capture per point reprojection failure 00045 * 00046 * Revision 1.37 2003/09/09 07:49:52 dron 00047 * Added OSRExportToPCI(). 00048 * 00049 * Revision 1.36 2003/08/31 14:51:01 dron 00050 * Added OSRImportFromPCI(). 00051 * 00052 * Revision 1.35 2003/08/18 13:26:01 warmerda 00053 * added SetTMVariant() and related definitions 00054 * 00055 * Revision 1.34 2003/06/21 23:24:36 warmerda 00056 * added Set/Get TOWGS84 calls 00057 * 00058 * Revision 1.33 2003/06/19 17:10:26 warmerda 00059 * a couple fixes in last commit 00060 * 00061 * Revision 1.32 2003/06/18 18:24:17 warmerda 00062 * added projection specific set methods to C API 00063 * 00064 * Revision 1.31 2003/06/10 09:31:12 dron 00065 * Added OSRSetAngularUnits() and OSRGetAngularUnits(). 00066 * 00067 * Revision 1.30 2003/05/30 15:39:53 warmerda 00068 * Added override units capability for SetStatePlane() 00069 * 00070 * Revision 1.29 2003/03/21 22:15:11 warmerda 00071 * added C XML import/export entry points 00072 * 00073 * Revision 1.28 2003/03/12 14:29:34 warmerda 00074 * Rename OGRAxisOrientation and OGRDatumType values to avoid conflicts with 00075 * the real OGC definitions in applications such as Cadcorps. 00076 * 00077 * Revision 1.27 2003/02/25 04:53:38 warmerda 00078 * added OSRCopyGeogCSFrom 00079 * 00080 * Revision 1.26 2003/02/06 04:53:12 warmerda 00081 * added Fixup() method 00082 * 00083 * Revision 1.25 2003/01/08 18:14:28 warmerda 00084 * added FixupOrdering() 00085 * 00086 * Revision 1.24 2002/12/16 17:07:13 warmerda 00087 * added NormProjParm functions, and OSRGetPrimeMeridian 00088 * 00089 * Revision 1.23 2002/12/14 22:59:14 warmerda 00090 * added Krovak in ESRI compatible way 00091 * 00092 * Revision 1.22 2002/12/09 18:55:07 warmerda 00093 * moved DMS stuff to gdal/port 00094 * 00095 * Revision 1.21 2002/12/09 16:11:53 warmerda 00096 * added DMS translation 00097 * 00098 * Revision 1.20 2002/11/25 16:12:54 warmerda 00099 * added GetAuthorityCode/Name 00100 * 00101 * Revision 1.19 2002/09/26 18:13:25 warmerda 00102 * avoid double def 00103 * 00104 * Revision 1.18 2002/06/11 18:02:03 warmerda 00105 * add PROJ.4 normalization and EPSG support 00106 * 00107 * Revision 1.17 2001/10/11 19:27:12 warmerda 00108 * upgraded validation infrastructure 00109 * 00110 * Revision 1.16 2001/10/10 20:42:43 warmerda 00111 * added ESRI WKT morphing support 00112 * 00113 * Revision 1.15 2001/09/21 16:21:02 warmerda 00114 * added Clear(), and SetFromUserInput() methods 00115 * 00116 * Revision 1.14 2000/11/09 06:21:32 warmerda 00117 * added limited ESRI prj support 00118 * 00119 * Revision 1.13 2000/10/20 04:19:38 warmerda 00120 * added setstateplane 00121 * 00122 * Revision 1.12 2000/10/16 21:26:07 warmerda 00123 * added some level of LOCAL_CS support 00124 * 00125 * Revision 1.11 2000/09/01 20:58:01 warmerda 00126 * added CPL_DLL for entry points 00127 * 00128 * Revision 1.10 2000/08/30 20:06:14 warmerda 00129 * added projection method list functions 00130 * 00131 * Revision 1.9 2000/08/28 20:13:23 warmerda 00132 * added importFromProj4 00133 * 00134 * Revision 1.8 2000/07/11 01:02:06 warmerda 00135 * added ExportToProj4() 00136 * 00137 * Revision 1.7 2000/07/09 20:48:02 warmerda 00138 * added exportToPrettyWkt 00139 * 00140 * Revision 1.6 2000/05/30 22:45:44 warmerda 00141 * added OSRCloneGeogCS() 00142 * 00143 * Revision 1.5 2000/04/26 18:25:56 warmerda 00144 * added missing CPL_DLL attributes 00145 * 00146 * Revision 1.4 2000/03/22 01:09:43 warmerda 00147 * added SetProjCS and SetWellKnownTextCS 00148 * 00149 * Revision 1.3 2000/03/20 23:33:51 warmerda 00150 * updated docs a bit 00151 * 00152 * Revision 1.2 2000/03/20 22:39:31 warmerda 00153 * Added C API. 00154 * 00155 * Revision 1.1 2000/03/16 19:04:14 warmerda 00156 * New 00157 * 00158 */ 00159 00160 #ifndef _OGR_SRS_API_H_INCLUDED 00161 #define _OGR_SRS_API_H_INCLUDED 00162 00163 #include "ogr_core.h" 00164 00165 CPL_C_START 00166 00175 /* -------------------------------------------------------------------- */ 00176 /* Axis orientations (corresponds to CS_AxisOrientationEnum). */ 00177 /* -------------------------------------------------------------------- */ 00178 typedef enum { 00179 OAO_Other=0, 00180 OAO_North=1, 00181 OAO_South=2, 00182 OAO_East=3, 00183 OAO_West=4, 00184 OAO_Up=5, 00185 OAO_Down=6 00186 } OGRAxisOrientation; 00187 00188 /* -------------------------------------------------------------------- */ 00189 /* Datum types (corresponds to CS_DatumType). */ 00190 /* -------------------------------------------------------------------- */ 00191 00192 typedef enum { 00193 ODT_HD_Min=1000, 00194 ODT_HD_Other=1000, 00195 ODT_HD_Classic=1001, 00196 ODT_HD_Geocentric=1002, 00197 ODT_HD_Max=1999, 00198 ODT_VD_Min=2000, 00199 ODT_VD_Other=2000, 00200 ODT_VD_Orthometric=2001, 00201 ODT_VD_Ellipsoidal=2002, 00202 ODT_VD_AltitudeBarometric=2003, 00203 ODT_VD_Normal=2004, 00204 ODT_VD_GeoidModelDerived=2005, 00205 ODT_VD_Depth=2006, 00206 ODT_VD_Max=2999, 00207 ODT_LD_Min=10000, 00208 ODT_LD_Max=32767 00209 } OGRDatumType; 00210 00211 /* ==================================================================== */ 00212 /* Some "standard" strings. */ 00213 /* ==================================================================== */ 00214 00215 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA \ 00216 "Albers_Conic_Equal_Area" 00217 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant" 00218 #define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner" 00219 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area" 00220 #define SRS_PT_ECKERT_IV "Eckert_IV" 00221 #define SRS_PT_ECKERT_VI "Eckert_VI" 00222 #define SRS_PT_EQUIDISTANT_CONIC "Equidistant_Conic" 00223 #define SRS_PT_EQUIRECTANGULAR "Equirectangular" 00224 #define SRS_PT_GALL_STEREOGRAPHIC "Gall_Stereographic" 00225 #define SRS_PT_GNOMONIC "Gnomonic" 00226 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \ 00227 "Hotine_Oblique_Mercator" 00228 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \ 00229 "Hotine_Oblique_Mercator_Two_Point_Natural_Origin" 00230 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \ 00231 "Laborde_Oblique_Mercator" 00232 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \ 00233 "Lambert_Conformal_Conic_1SP" 00234 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \ 00235 "Lambert_Conformal_Conic_2SP" 00236 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \ 00237 "Lambert_Conformal_Conic_2SP_Belgium)" 00238 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \ 00239 "Lambert_Azimuthal_Equal_Area" 00240 #define SRS_PT_MERCATOR_1SP "Mercator_1SP" 00241 #define SRS_PT_MERCATOR_2SP "Mercator_2SP" 00242 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical" 00243 #define SRS_PT_MOLLWEIDE "Mollweide" 00244 #define SRS_PT_NEW_ZEALAND_MAP_GRID \ 00245 "New_Zealand_Map_Grid" 00246 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \ 00247 "Oblique_Stereographic" 00248 #define SRS_PT_ORTHOGRAPHIC "Orthographic" 00249 #define SRS_PT_POLAR_STEREOGRAPHIC \ 00250 "Polar_Stereographic" 00251 #define SRS_PT_POLYCONIC "Polyconic" 00252 #define SRS_PT_ROBINSON "Robinson" 00253 #define SRS_PT_SINUSOIDAL "Sinusoidal" 00254 #define SRS_PT_STEREOGRAPHIC "Stereographic" 00255 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \ 00256 "Swiss_Oblique_Cylindrical" 00257 #define SRS_PT_TRANSVERSE_MERCATOR \ 00258 "Transverse_Mercator" 00259 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \ 00260 "Transverse_Mercator_South_Orientated" 00261 00262 /* special mapinfo variants on Transverse Mercator */ 00263 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \ 00264 "Transverse_Mercator_MapInfo_22" 00265 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \ 00266 "Transverse_Mercator_MapInfo_23" 00267 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \ 00268 "Transverse_Mercator_MapInfo_24" 00269 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \ 00270 "Transverse_Mercator_MapInfo_25" 00271 00272 #define SRS_PT_TUNISIA_MINING_GRID \ 00273 "Tunisia_Mining_Grid" 00274 #define SRS_PT_VANDERGRINTEN "VanDerGrinten" 00275 #define SRS_PT_KROVAK "Krovak" 00276 00277 00278 00279 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian" 00280 #define SRS_PP_SCALE_FACTOR "scale_factor" 00281 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1" 00282 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2" 00283 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1" 00284 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center" 00285 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center" 00286 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin" 00287 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin" 00288 #define SRS_PP_FALSE_EASTING "false_easting" 00289 #define SRS_PP_FALSE_NORTHING "false_northing" 00290 #define SRS_PP_AZIMUTH "azimuth" 00291 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1" 00292 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1" 00293 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2" 00294 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2" 00295 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3" 00296 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3" 00297 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle" 00298 #define SRS_PP_LANDSAT_NUMBER "landsat_number" 00299 #define SRS_PP_PATH_NUMBER "path_number" 00300 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height" 00301 #define SRS_PP_FIPSZONE "fipszone" 00302 #define SRS_PP_ZONE "zone" 00303 00304 #define SRS_UL_METER "Meter" 00305 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */ 00306 #define SRS_UL_FOOT_CONV "0.3048" 00307 #define SRS_UL_US_FOOT "U.S. Foot" /* or "US survey foot" */ 00308 #define SRS_UL_US_FOOT_CONV "0.3048006" 00309 #define SRS_UL_NAUTICAL_MILE "Nautical Mile" 00310 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0" 00311 #define SRS_UL_LINK "Link" /* Based on US Foot */ 00312 #define SRS_UL_LINK_CONV "0.20116684023368047" 00313 #define SRS_UL_CHAIN "Chain" /* based on US Foot */ 00314 #define SRS_UL_CHAIN_CONV "2.0116684023368047" 00315 #define SRS_UL_ROD "Rod" /* based on US Foot */ 00316 #define SRS_UL_ROD_CONV "5.02921005842012" 00317 00318 #define SRS_UA_DEGREE "degree" 00319 #define SRS_UA_DEGREE_CONV "0.0174532925199433" 00320 #define SRS_UA_RADIAN "radian" 00321 00322 #define SRS_PM_GREENWICH "Greenwich" 00323 00324 #define SRS_DN_NAD27 "North_American_Datum_1927" 00325 #define SRS_DN_NAD83 "North_American_Datum_1983" 00326 #define SRS_DN_WGS84 "WGS_1984" 00327 00328 #define SRS_WGS84_SEMIMAJOR 6378137.0 00329 #define SRS_WGS84_INVFLATTENING 298.257223563 00330 00331 /* -------------------------------------------------------------------- */ 00332 /* C Wrappers for C++ objects and methods. */ 00333 /* -------------------------------------------------------------------- */ 00334 #ifndef _DEFINED_OGRSpatialReferenceH 00335 #define _DEFINED_OGRSpatialReferenceH 00336 00337 typedef void *OGRSpatialReferenceH; 00338 typedef void *OGRCoordinateTransformationH; 00339 00340 #endif 00341 00342 00343 OGRSpatialReferenceH CPL_DLL 00344 OSRNewSpatialReference( const char * /* = NULL */); 00345 OGRSpatialReferenceH CPL_DLL OSRCloneGeogCS( OGRSpatialReferenceH ); 00346 OGRSpatialReferenceH CPL_DLL OSRCloneCS( OGRSpatialReferenceH ); 00347 void CPL_DLL OSRDestroySpatialReference( OGRSpatialReferenceH ); 00348 00349 int CPL_DLL OSRReference( OGRSpatialReferenceH ); 00350 int CPL_DLL OSRDereference( OGRSpatialReferenceH ); 00351 00352 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH ); 00353 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH ); 00354 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH ); 00355 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH ); 00356 00357 OGRErr CPL_DLL OSRImportFromEPSG( OGRSpatialReferenceH, int ); 00358 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** ); 00359 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *); 00360 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **); 00361 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *, 00362 const char *, double * ); 00363 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH, 00364 long, long, double *, long); 00365 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * ); 00366 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *, 00367 const char * ); 00368 OGRErr CPL_DLL OSRExportToWkt( OGRSpatialReferenceH, char ** ); 00369 OGRErr CPL_DLL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int); 00370 OGRErr CPL_DLL OSRExportToProj4( OGRSpatialReferenceH, char **); 00371 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **, 00372 double ** ); 00373 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *, 00374 double **, long * ); 00375 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * ); 00376 00377 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH ); 00378 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH ); 00379 00380 OGRErr CPL_DLL OSRSetAttrValue( OGRSpatialReferenceH hSRS, 00381 const char * pszNodePath, 00382 const char * pszNewNodeValue ); 00383 const char CPL_DLL * OSRGetAttrValue( OGRSpatialReferenceH hSRS, 00384 const char * pszName, int iChild /* = 0 */ ); 00385 00386 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double ); 00387 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** ); 00388 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double ); 00389 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** ); 00390 00391 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** ); 00392 00393 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH ); 00394 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH ); 00395 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH ); 00396 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH ); 00397 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH ); 00398 00399 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName ); 00400 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName ); 00401 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS, 00402 const char * pszName ); 00403 OGRErr CPL_DLL OSRSetFromUserInput( OGRSpatialReferenceH hSRS, 00404 const char * ); 00405 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS, 00406 OGRSpatialReferenceH hSrcSRS ); 00407 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS, 00408 double, double, double, 00409 double, double, double, double ); 00410 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int ); 00411 00412 00413 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS, 00414 const char * pszGeogName, 00415 const char * pszDatumName, 00416 const char * pszEllipsoidName, 00417 double dfSemiMajor, double dfInvFlattening, 00418 const char * pszPMName /* = NULL */, 00419 double dfPMOffset /* = 0.0 */, 00420 const char * pszUnits /* = NULL */, 00421 double dfConvertToRadians /* = 0.0 */ ); 00422 00423 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ ); 00424 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ ); 00425 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/); 00426 00427 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS, 00428 const char * pszTargetKey, 00429 const char * pszAuthority, 00430 int nCode ); 00431 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS, 00432 const char * pszTargetKey ); 00433 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS, 00434 const char * pszTargetKey ); 00435 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double ); 00436 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS, 00437 const char * pszParmName, 00438 double dfDefault /* = 0.0 */, 00439 OGRErr * /* = NULL */ ); 00440 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double); 00441 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS, 00442 const char * pszParmName, 00443 double dfDefault /* = 0.0 */, 00444 OGRErr * /* = NULL */ ); 00445 00446 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth ); 00447 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth ); 00448 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS, 00449 int nZone, int bNAD83 ); 00450 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS, 00451 int nZone, int bNAD83, 00452 const char *pszOverrideUnitName, 00453 double dfOverrideUnit ); 00454 00456 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, 00457 double dfCenterLat, double dfCenterLong, 00458 double dfFalseEasting, double dfFalseNorthing ); 00459 00461 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00462 double dfFalseEasting, double dfFalseNorthing ); 00463 00465 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, 00466 double dfFalseEasting, double dfFalseNorthing ); 00467 00469 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00470 double dfFalseEasting, double dfFalseNorthing ); 00471 00473 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, 00474 double dfCenterLat, double dfCenterLong, 00475 double dfFalseEasting, double dfFalseNorthing ); 00476 00478 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian, 00479 double dfFalseEasting, double dfFalseNorthing ); 00480 00482 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian, 00483 double dfFalseEasting, double dfFalseNorthing ); 00484 00486 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS, 00487 double dfCenterLat, double dfCenterLong, 00488 double dfFalseEasting, double dfFalseNorthing ); 00489 00491 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian, 00492 double dfFalseEasting, double dfFalseNorthing ); 00493 00495 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS, 00496 double dfCenterLat, double dfCenterLong, 00497 double dfFalseEasting, double dfFalseNorthing ); 00498 00500 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS, 00501 double dfCenterLat, double dfCenterLong, 00502 double dfAzimuth, double dfRectToSkew, 00503 double dfScale, 00504 double dfFalseEasting, double dfFalseNorthing ); 00505 00507 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat, 00508 double dfLat1, double dfLong1, 00509 double dfLat2, double dfLong2, 00510 double dfScale, 00511 double dfFalseEasting, double dfFalseNorthing ); 00512 00514 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00515 double dfAzimuth, double dfPseudoStdParallelLat, 00516 double dfScale, 00517 double dfFalseEasting, double dfFalseNorthing ); 00518 00520 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00521 double dfFalseEasting, double dfFalseNorthing ); 00522 00524 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, 00525 double dfCenterLat, double dfCenterLong, 00526 double dfFalseEasting, double dfFalseNorthing ); 00527 00529 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00530 double dfScale, 00531 double dfFalseEasting, double dfFalseNorthing ); 00532 00534 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, 00535 double dfCenterLat, double dfCenterLong, 00536 double dfFalseEasting, double dfFalseNorthing ); 00537 00539 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00540 double dfFalseEasting, double dfFalseNorthing ); 00541 00543 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00544 double dfScale, 00545 double dfFalseEasting, double dfFalseNorthing ); 00546 00548 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS, double dfCentralMeridian, 00549 double dfFalseEasting, double dfFalseNorthing ); 00550 00552 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00553 double dfFalseEasting, double dfFalseNorthing ); 00554 00556 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, 00557 double dfScale, 00558 double dfFalseEasting,double dfFalseNorthing); 00559 00561 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00562 double dfFalseEasting,double dfFalseNorthing); 00563 00565 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00566 double dfFalseEasting, double dfFalseNorthing ); 00567 00569 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00570 double dfScale, 00571 double dfFalseEasting, double dfFalseNorthing); 00572 00574 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS, double dfCenterLong, 00575 double dfFalseEasting, double dfFalseNorthing ); 00576 00578 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS, double dfCenterLong, 00579 double dfFalseEasting, double dfFalseNorthing ); 00580 00582 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00583 double dfScale, 00584 double dfFalseEasting,double dfFalseNorthing); 00585 00587 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, 00588 double dfFalseEasting, double dfFalseNorthing ); 00589 00591 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00592 double dfScale, 00593 double dfFalseEasting, double dfFalseNorthing ); 00594 00596 OGRErr CPL_DLL OSRSetTMVariant( 00597 OGRSpatialReferenceH hSRS, const char *pszVariantName, 00598 double dfCenterLat, double dfCenterLong, 00599 double dfScale, 00600 double dfFalseEasting, double dfFalseNorthing ); 00601 00603 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, 00604 double dfFalseEasting, double dfFalseNorthing ); 00605 00607 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS, 00608 double dfCenterLat, double dfCenterLong, 00609 double dfScale, 00610 double dfFalseEasting, double dfFalseNorthing ); 00611 00613 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS, 00614 double dfCenterLong, 00615 double dfFalseEasting, double dfFalseNorthing ); 00616 00617 /* -------------------------------------------------------------------- */ 00618 /* OGRCoordinateTransform C API. */ 00619 /* -------------------------------------------------------------------- */ 00620 OGRCoordinateTransformationH CPL_DLL 00621 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS, 00622 OGRSpatialReferenceH hTargetSRS ); 00623 void CPL_DLL 00624 OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH ); 00625 00626 int CPL_DLL OCTTransform( OGRCoordinateTransformationH hCT, 00627 int nCount, double *x, double *y, double *z ); 00628 int CPL_DLL OCTTransformEx( OGRCoordinateTransformationH hCT, 00629 int nCount, double *x, double *y, double *z, 00630 int *pabSuccess ); 00631 00632 /* this is really private to OGR. */ 00633 char *OCTProj4Normalize( const char *pszProj4Src ); 00634 00635 /* -------------------------------------------------------------------- */ 00636 /* Projection transform dictionary query. */ 00637 /* -------------------------------------------------------------------- */ 00638 00639 char CPL_DLL ** OPTGetProjectionMethods(); 00640 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod, 00641 char ** ppszUserName ); 00642 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod, 00643 const char * pszParameterName, 00644 char ** ppszUserName, 00645 char ** ppszType, 00646 double *pdfDefaultValue ); 00647 00648 CPL_C_END 00649 00650 #endif /* ndef _OGR_SRS_API_H_INCLUDED */

Generated on Thu Jul 29 19:47:50 2004 for OGR by doxygen 1.3.7