OGR
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_srs_api.h 22514 2011-06-08 12:57:26Z warmerdam $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: C API and constant declarations for OGR Spatial References.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 2000, Frank Warmerdam
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef _OGR_SRS_API_H_INCLUDED
31 #define _OGR_SRS_API_H_INCLUDED
32 
33 #ifndef SWIG
34 #include "ogr_core.h"
35 
36 CPL_C_START
37 
46 /* -------------------------------------------------------------------- */
47 /* Axis orientations (corresponds to CS_AxisOrientationEnum). */
48 /* -------------------------------------------------------------------- */
49 typedef enum {
50  OAO_Other=0,
51  OAO_North=1,
52  OAO_South=2,
53  OAO_East=3,
54  OAO_West=4,
55  OAO_Up=5,
56  OAO_Down=6
57 } OGRAxisOrientation;
58 
59 const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation );
60 
61 /* -------------------------------------------------------------------- */
62 /* Datum types (corresponds to CS_DatumType). */
63 /* -------------------------------------------------------------------- */
64 
65 typedef enum {
66  ODT_HD_Min=1000,
67  ODT_HD_Other=1000,
68  ODT_HD_Classic=1001,
69  ODT_HD_Geocentric=1002,
70  ODT_HD_Max=1999,
71  ODT_VD_Min=2000,
72  ODT_VD_Other=2000,
73  ODT_VD_Orthometric=2001,
74  ODT_VD_Ellipsoidal=2002,
75  ODT_VD_AltitudeBarometric=2003,
76  ODT_VD_Normal=2004,
77  ODT_VD_GeoidModelDerived=2005,
78  ODT_VD_Depth=2006,
79  ODT_VD_Max=2999,
80  ODT_LD_Min=10000,
81  ODT_LD_Max=32767
82 } OGRDatumType;
83 
84 #endif // ndef SWIG
85 
86 /* ==================================================================== */
87 /* Some standard WKT geographic coordinate systems. */
88 /* ==================================================================== */
89 
90 #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\"]]"
91 
92 /* ==================================================================== */
93 /* Some "standard" strings. */
94 /* ==================================================================== */
95 
96 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA \
97  "Albers_Conic_Equal_Area"
98 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
99 #define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
100 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
101 #define SRS_PT_BONNE "Bonne"
102 #define SRS_PT_ECKERT_I "Eckert_I"
103 #define SRS_PT_ECKERT_II "Eckert_II"
104 #define SRS_PT_ECKERT_III "Eckert_III"
105 #define SRS_PT_ECKERT_IV "Eckert_IV"
106 #define SRS_PT_ECKERT_V "Eckert_V"
107 #define SRS_PT_ECKERT_VI "Eckert_VI"
108 #define SRS_PT_EQUIDISTANT_CONIC \
109  "Equidistant_Conic"
110 #define SRS_PT_EQUIRECTANGULAR "Equirectangular"
111 #define SRS_PT_GALL_STEREOGRAPHIC \
112  "Gall_Stereographic"
113 #define SRS_PT_GAUSSSCHREIBERTMERCATOR \
114  "Gauss_Schreiber_Transverse_Mercator"
115 #define SRS_PT_GEOSTATIONARY_SATELLITE \
116  "Geostationary_Satellite"
117 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
118 #define SRS_PT_IGH "Interrupted_Goode_Homolosine"
119 #define SRS_PT_GNOMONIC "Gnomonic"
120 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
121  "Hotine_Oblique_Mercator"
122 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
123  "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
124 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
125  "Laborde_Oblique_Mercator"
126 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
127  "Lambert_Conformal_Conic_1SP"
128 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
129  "Lambert_Conformal_Conic_2SP"
130 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
131  "Lambert_Conformal_Conic_2SP_Belgium"
132 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
133  "Lambert_Azimuthal_Equal_Area"
134 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
135 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
136 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
137 #define SRS_PT_MOLLWEIDE "Mollweide"
138 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
139  "New_Zealand_Map_Grid"
140 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
141  "Oblique_Stereographic"
142 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
143 #define SRS_PT_POLAR_STEREOGRAPHIC \
144  "Polar_Stereographic"
145 #define SRS_PT_POLYCONIC "Polyconic"
146 #define SRS_PT_ROBINSON "Robinson"
147 #define SRS_PT_SINUSOIDAL "Sinusoidal"
148 #define SRS_PT_STEREOGRAPHIC "Stereographic"
149 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
150  "Swiss_Oblique_Cylindrical"
151 #define SRS_PT_TRANSVERSE_MERCATOR \
152  "Transverse_Mercator"
153 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
154  "Transverse_Mercator_South_Orientated"
155 
156 /* special mapinfo variants on Transverse Mercator */
157 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
158  "Transverse_Mercator_MapInfo_21"
159 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
160  "Transverse_Mercator_MapInfo_22"
161 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
162  "Transverse_Mercator_MapInfo_23"
163 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
164  "Transverse_Mercator_MapInfo_24"
165 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
166  "Transverse_Mercator_MapInfo_25"
167 
168 #define SRS_PT_TUNISIA_MINING_GRID \
169  "Tunisia_Mining_Grid"
170 #define SRS_PT_TWO_POINT_EQUIDISTANT \
171  "Two_Point_Equidistant"
172 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
173 #define SRS_PT_KROVAK "Krovak"
174 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
175 #define SRS_PT_WAGNER_I "Wagner_I"
176 #define SRS_PT_WAGNER_II "Wagner_II"
177 #define SRS_PT_WAGNER_III "Wagner_III"
178 #define SRS_PT_WAGNER_IV "Wagner_IV"
179 #define SRS_PT_WAGNER_V "Wagner_V"
180 #define SRS_PT_WAGNER_VI "Wagner_VI"
181 #define SRS_PT_WAGNER_VII "Wagner_VII"
182 
183 
184 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
185 #define SRS_PP_SCALE_FACTOR "scale_factor"
186 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
187 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
188 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
189 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
190 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
191 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
192 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
193 #define SRS_PP_FALSE_EASTING "false_easting"
194 #define SRS_PP_FALSE_NORTHING "false_northing"
195 #define SRS_PP_AZIMUTH "azimuth"
196 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
197 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
198 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
199 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
200 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
201 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
202 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
203 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
204 #define SRS_PP_PATH_NUMBER "path_number"
205 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
206 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
207 #define SRS_PP_FIPSZONE "fipszone"
208 #define SRS_PP_ZONE "zone"
209 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
210 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
211 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
212 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
213 
214 #define SRS_UL_METER "Meter"
215 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
216 #define SRS_UL_FOOT_CONV "0.3048"
217 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
218 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
219 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
220 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
221 #define SRS_UL_LINK "Link" /* Based on US Foot */
222 #define SRS_UL_LINK_CONV "0.20116684023368047"
223 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
224 #define SRS_UL_CHAIN_CONV "20.116684023368047"
225 #define SRS_UL_ROD "Rod" /* based on US Foot */
226 #define SRS_UL_ROD_CONV "5.02921005842012"
227 #define SRS_UL_LINK_Clarke "Link_Clarke"
228 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
229 
230 #define SRS_UA_DEGREE "degree"
231 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
232 #define SRS_UA_RADIAN "radian"
233 
234 #define SRS_PM_GREENWICH "Greenwich"
235 
236 #define SRS_DN_NAD27 "North_American_Datum_1927"
237 #define SRS_DN_NAD83 "North_American_Datum_1983"
238 #define SRS_DN_WGS72 "WGS_1972"
239 #define SRS_DN_WGS84 "WGS_1984"
240 
241 #define SRS_WGS84_SEMIMAJOR 6378137.0
242 #define SRS_WGS84_INVFLATTENING 298.257223563
243 
244 #ifndef SWIG
245 /* -------------------------------------------------------------------- */
246 /* C Wrappers for C++ objects and methods. */
247 /* -------------------------------------------------------------------- */
248 #ifndef _DEFINED_OGRSpatialReferenceH
249 #define _DEFINED_OGRSpatialReferenceH
250 
251 #ifdef DEBUG
252 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
253 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
254 #else
255 typedef void *OGRSpatialReferenceH;
256 typedef void *OGRCoordinateTransformationH;
257 #endif
258 
259 #endif
260 
261 
262 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
263  OSRNewSpatialReference( const char * /* = NULL */);
264 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
265 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
266 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
267 
268 int CPL_DLL OSRReference( OGRSpatialReferenceH );
269 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
270 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
271 
272 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
273 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
274 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
275 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
276 
277 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
278 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
279 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
280 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
281 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
282 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
283  const char *, double * );
284 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
285  long, long, double *, long);
286 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
287 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
288  const char * );
289 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
290  double * );
291 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char *, const char *,
292  const char * );
293 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
294 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
295  const char *, const char *, const char * );
296 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
297 
298 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
299 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
300 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
301 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
302  double ** );
303 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
304  double **, long * );
305 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
306 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
307  long *, long *, double * );
308 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
309 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
310 
311 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
312 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
313 
314 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
315  const char * pszNodePath,
316  const char * pszNewNodeValue );
317 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
318  const char * pszName, int iChild /* = 0 */ );
319 
320 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
321 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
322 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
323 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
325  OGRSpatialReferenceH, const char *, double );
326 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
327 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
328 
329 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
330 
331 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
332 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
333 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
334 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
335 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
336 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
337 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
338 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
339 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
340 
341 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
342 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
343 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
344 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
345  const char * pszName );
346 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
347  const char * );
348 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
349  OGRSpatialReferenceH hSrcSRS );
350 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
351  double, double, double,
352  double, double, double, double );
353 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
354 
355 
356 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
357  const char *pszName,
358  OGRSpatialReferenceH hHorizSRS,
359  OGRSpatialReferenceH hVertSRS );
360 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
361  const char * pszGeogName,
362  const char * pszDatumName,
363  const char * pszEllipsoidName,
364  double dfSemiMajor, double dfInvFlattening,
365  const char * pszPMName /* = NULL */,
366  double dfPMOffset /* = 0.0 */,
367  const char * pszUnits /* = NULL */,
368  double dfConvertToRadians /* = 0.0 */ );
369 
370 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
371  const char * pszVertCSName,
372  const char * pszVertDatumName,
373  int nVertDatumType );
374 
375 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
376 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
377 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
378 
379 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
380  const char * pszTargetKey,
381  const char * pszAuthority,
382  int nCode );
383 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
384  const char * pszTargetKey );
385 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
386  const char * pszTargetKey );
387 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
388 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
389 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
390  const char * pszParmName,
391  double dfDefault /* = 0.0 */,
392  OGRErr * /* = NULL */ );
393 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
394 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
395  const char * pszParmName,
396  double dfDefault /* = 0.0 */,
397  OGRErr * /* = NULL */ );
398 
399 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
400 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
401 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
402  int nZone, int bNAD83 );
403 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
404  int nZone, int bNAD83,
405  const char *pszOverrideUnitName,
406  double dfOverrideUnit );
407 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
408 
409 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
410 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
411  const char *pszTargetKey, int iAxis,
412  OGRAxisOrientation *peOrientation );
413 OGRErr CPL_DLL OSRSetAxes( const char *pszTargetKey,
414  const char *pszXAxisName,
415  OGRAxisOrientation eXAxisOrientation,
416  const char *pszYAxisName,
417  OGRAxisOrientation eYAxisOrientation );
419 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
420  double dfCenterLat, double dfCenterLong,
421  double dfFalseEasting, double dfFalseNorthing );
422 
424 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
425  double dfFalseEasting, double dfFalseNorthing );
426 
428 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
429  double dfStandardParallel, double dfCentralMeridian,
430  double dfFalseEasting, double dfFalseNorthing );
431 
433 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
434  double dfFalseEasting, double dfFalseNorthing );
435 
437 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
438  double dfFalseEasting, double dfFalseNorthing );
439 
441 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
442  double dfCenterLat, double dfCenterLong,
443  double dfFalseEasting, double dfFalseNorthing );
444 
446 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
447  double dfCentralMeridian,
448  double dfFalseEasting, double dfFalseNorthing );
449 
451 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
452  double dfFalseEasting, double dfFalseNorthing );
453 
455 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
456  double dfFalseEasting, double dfFalseNorthing );
457 
459 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
460  double dfCenterLat, double dfCenterLong,
461  double dfFalseEasting, double dfFalseNorthing );
462 
464 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
465  double dfCenterLat, double dfCenterLong,
466  double dfPseudoStdParallel1,
467  double dfFalseEasting,
468  double dfFalseNorthing );
469 
471 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
472  double dfFalseEasting, double dfFalseNorthing );
473 
475 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
476  double dfFalseEasting, double dfFalseNorthing );
477 
479 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
480 
482 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
483  double dfCentralMeridian, double dfSatelliteHeight,
484  double dfFalseEasting, double dfFalseNorthing );
485 
487 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
488  double dfCenterLat, double dfCenterLong,
489  double dfScale,
490  double dfFalseEasting,
491  double dfFalseNorthing );
493 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
494  double dfCenterLat, double dfCenterLong,
495  double dfFalseEasting, double dfFalseNorthing );
496 
498 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
499  double dfCenterLat, double dfCenterLong,
500  double dfAzimuth, double dfRectToSkew,
501  double dfScale,
502  double dfFalseEasting, double dfFalseNorthing );
503 
505 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
506  double dfLat1, double dfLong1,
507  double dfLat2, double dfLong2,
508  double dfScale,
509  double dfFalseEasting, double dfFalseNorthing );
510 
512 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
513  double dfLat1, double dfLat2,
514  double dfCenterLong,
515  double dfFalseEasting,
516  double dfFalseNorthing );
517 
519 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
520  double dfCenterLat, double dfCenterLong,
521  double dfAzimuth, double dfPseudoStdParallelLat,
522  double dfScale,
523  double dfFalseEasting, double dfFalseNorthing );
524 
526 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
527  double dfCenterLat, double dfCenterLong,
528  double dfFalseEasting, double dfFalseNorthing );
529 
531 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
532  double dfStdP1, double dfStdP2,
533  double dfCenterLat, double dfCenterLong,
534  double dfFalseEasting, double dfFalseNorthing );
535 
537 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
538  double dfCenterLat, double dfCenterLong,
539  double dfScale,
540  double dfFalseEasting, double dfFalseNorthing );
541 
543 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
544  double dfStdP1, double dfStdP2,
545  double dfCenterLat, double dfCenterLong,
546  double dfFalseEasting, double dfFalseNorthing );
547 
549 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
550  double dfCenterLat, double dfCenterLong,
551  double dfFalseEasting, double dfFalseNorthing );
552 
554 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
555  double dfCenterLat, double dfCenterLong,
556  double dfScale,
557  double dfFalseEasting, double dfFalseNorthing );
558 
560 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
561  double dfCentralMeridian,
562  double dfFalseEasting,
563  double dfFalseNorthing );
564 
566 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
567  double dfCenterLat, double dfCenterLong,
568  double dfFalseEasting, double dfFalseNorthing );
569 
571 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
572  double dfOriginLat, double dfCMeridian,
573  double dfScale,
574  double dfFalseEasting,double dfFalseNorthing);
575 
577 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
578  double dfCenterLat, double dfCenterLong,
579  double dfFalseEasting,
580  double dfFalseNorthing);
581 
583 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
584  double dfCenterLat, double dfCenterLong,
585  double dfFalseEasting, double dfFalseNorthing );
586 
588 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
589  double dfCenterLat, double dfCenterLong,
590  double dfScale,
591  double dfFalseEasting, double dfFalseNorthing);
592 
594 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
595  double dfCenterLong,
596  double dfFalseEasting, double dfFalseNorthing );
597 
599 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
600  double dfCenterLong,
601  double dfFalseEasting,
602  double dfFalseNorthing );
603 
605 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
606  double dfCenterLat, double dfCenterLong,
607  double dfScale,
608  double dfFalseEasting,
609  double dfFalseNorthing);
610 
612 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
613  double dfLatitudeOfOrigin, double dfCentralMeridian,
614  double dfFalseEasting, double dfFalseNorthing );
615 
617 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
618  double dfCenterLat, double dfCenterLong,
619  double dfScale,
620  double dfFalseEasting, double dfFalseNorthing );
621 
623 OGRErr CPL_DLL OSRSetTMVariant(
624  OGRSpatialReferenceH hSRS, const char *pszVariantName,
625  double dfCenterLat, double dfCenterLong,
626  double dfScale,
627  double dfFalseEasting, double dfFalseNorthing );
628 
630 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
631  double dfCenterLat, double dfCenterLong,
632  double dfFalseEasting, double dfFalseNorthing );
633 
635 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
636  double dfCenterLat, double dfCenterLong,
637  double dfScale,
638  double dfFalseEasting, double dfFalseNorthing );
639 
641 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
642  double dfCenterLong,
643  double dfFalseEasting, double dfFalseNorthing );
644 
646 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
647  double dfFalseEasting,
648  double dfFalseNorthing );
649 
650 void CPL_DLL OSRCleanup( void );
651 
652 /* -------------------------------------------------------------------- */
653 /* OGRCoordinateTransform C API. */
654 /* -------------------------------------------------------------------- */
655 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
656 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
657  OGRSpatialReferenceH hTargetSRS );
658 void CPL_DLL CPL_STDCALL
659  OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
660 
661 int CPL_DLL CPL_STDCALL
662 OCTTransform( OGRCoordinateTransformationH hCT,
663  int nCount, double *x, double *y, double *z );
664 
665 int CPL_DLL CPL_STDCALL
666 OCTTransformEx( OGRCoordinateTransformationH hCT,
667  int nCount, double *x, double *y, double *z,
668  int *pabSuccess );
669 
670 /* this is really private to OGR. */
671 char *OCTProj4Normalize( const char *pszProj4Src );
672 
673 /* -------------------------------------------------------------------- */
674 /* Projection transform dictionary query. */
675 /* -------------------------------------------------------------------- */
676 
677 char CPL_DLL ** OPTGetProjectionMethods();
678 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
679  char ** ppszUserName );
680 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
681  const char * pszParameterName,
682  char ** ppszUserName,
683  char ** ppszType,
684  double *pdfDefaultValue );
685 
686 CPL_C_END
687 
688 #endif /* ndef SWIG */
689 
690 #endif /* ndef _OGR_SRS_API_H_INCLUDED */

Generated for GDAL by doxygen 1.8.3.1.