OGR
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_srs_api.h 25727 2013-03-10 14:56:33Z rouault $
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_AZIMUTH_CENTER \
121  "Hotine_Oblique_Mercator_Azimuth_Center"
122 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
123  "Hotine_Oblique_Mercator"
124 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
125  "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
126 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
127  "Laborde_Oblique_Mercator"
128 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
129  "Lambert_Conformal_Conic_1SP"
130 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
131  "Lambert_Conformal_Conic_2SP"
132 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
133  "Lambert_Conformal_Conic_2SP_Belgium"
134 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
135  "Lambert_Azimuthal_Equal_Area"
136 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
137 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
138 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
139 #define SRS_PT_MOLLWEIDE "Mollweide"
140 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
141  "New_Zealand_Map_Grid"
142 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
143  "Oblique_Stereographic"
144 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
145 #define SRS_PT_POLAR_STEREOGRAPHIC \
146  "Polar_Stereographic"
147 #define SRS_PT_POLYCONIC "Polyconic"
148 #define SRS_PT_ROBINSON "Robinson"
149 #define SRS_PT_SINUSOIDAL "Sinusoidal"
150 #define SRS_PT_STEREOGRAPHIC "Stereographic"
151 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
152  "Swiss_Oblique_Cylindrical"
153 #define SRS_PT_TRANSVERSE_MERCATOR \
154  "Transverse_Mercator"
155 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
156  "Transverse_Mercator_South_Orientated"
157 
158 /* special mapinfo variants on Transverse Mercator */
159 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
160  "Transverse_Mercator_MapInfo_21"
161 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
162  "Transverse_Mercator_MapInfo_22"
163 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
164  "Transverse_Mercator_MapInfo_23"
165 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
166  "Transverse_Mercator_MapInfo_24"
167 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
168  "Transverse_Mercator_MapInfo_25"
169 
170 #define SRS_PT_TUNISIA_MINING_GRID \
171  "Tunisia_Mining_Grid"
172 #define SRS_PT_TWO_POINT_EQUIDISTANT \
173  "Two_Point_Equidistant"
174 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
175 #define SRS_PT_KROVAK "Krovak"
176 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
177 #define SRS_PT_WAGNER_I "Wagner_I"
178 #define SRS_PT_WAGNER_II "Wagner_II"
179 #define SRS_PT_WAGNER_III "Wagner_III"
180 #define SRS_PT_WAGNER_IV "Wagner_IV"
181 #define SRS_PT_WAGNER_V "Wagner_V"
182 #define SRS_PT_WAGNER_VI "Wagner_VI"
183 #define SRS_PT_WAGNER_VII "Wagner_VII"
184 
185 
186 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
187 #define SRS_PP_SCALE_FACTOR "scale_factor"
188 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
189 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
190 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
191 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
192 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
193 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
194 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
195 #define SRS_PP_FALSE_EASTING "false_easting"
196 #define SRS_PP_FALSE_NORTHING "false_northing"
197 #define SRS_PP_AZIMUTH "azimuth"
198 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
199 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
200 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
201 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
202 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
203 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
204 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
205 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
206 #define SRS_PP_PATH_NUMBER "path_number"
207 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
208 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
209 #define SRS_PP_FIPSZONE "fipszone"
210 #define SRS_PP_ZONE "zone"
211 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
212 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
213 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
214 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
215 
216 #define SRS_UL_METER "Meter"
217 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
218 #define SRS_UL_FOOT_CONV "0.3048"
219 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
220 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
221 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
222 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
223 #define SRS_UL_LINK "Link" /* Based on US Foot */
224 #define SRS_UL_LINK_CONV "0.20116684023368047"
225 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
226 #define SRS_UL_CHAIN_CONV "20.116684023368047"
227 #define SRS_UL_ROD "Rod" /* based on US Foot */
228 #define SRS_UL_ROD_CONV "5.02921005842012"
229 #define SRS_UL_LINK_Clarke "Link_Clarke"
230 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
231 
232 #define SRS_UA_DEGREE "degree"
233 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
234 #define SRS_UA_RADIAN "radian"
235 
236 #define SRS_PM_GREENWICH "Greenwich"
237 
238 #define SRS_DN_NAD27 "North_American_Datum_1927"
239 #define SRS_DN_NAD83 "North_American_Datum_1983"
240 #define SRS_DN_WGS72 "WGS_1972"
241 #define SRS_DN_WGS84 "WGS_1984"
242 
243 #define SRS_WGS84_SEMIMAJOR 6378137.0
244 #define SRS_WGS84_INVFLATTENING 298.257223563
245 
246 #ifndef SWIG
247 /* -------------------------------------------------------------------- */
248 /* C Wrappers for C++ objects and methods. */
249 /* -------------------------------------------------------------------- */
250 #ifndef _DEFINED_OGRSpatialReferenceH
251 #define _DEFINED_OGRSpatialReferenceH
252 
253 #ifdef DEBUG
254 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
255 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
256 #else
257 typedef void *OGRSpatialReferenceH;
258 typedef void *OGRCoordinateTransformationH;
259 #endif
260 
261 #endif
262 
263 
264 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
265  OSRNewSpatialReference( const char * /* = NULL */);
266 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
267 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
268 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
269 
270 int CPL_DLL OSRReference( OGRSpatialReferenceH );
271 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
272 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
273 
274 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
275 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
276 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
277 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
278 
279 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
280 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
281 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
282 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
283 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
284 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
285  const char *, double * );
286 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
287  long, long, double *, long);
288 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
289 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
290  const char * );
291 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
292  double * );
293 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char *, const char *,
294  const char * );
295 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
296 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
297  const char *, const char *, const char * );
298 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
299 
300 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
301 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
302 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
303 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
304  double ** );
305 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
306  double **, long * );
307 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
308 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
309  long *, long *, double * );
310 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
311 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
312 
313 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
314 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
315 
316 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
317  const char * pszNodePath,
318  const char * pszNewNodeValue );
319 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
320  const char * pszName, int iChild /* = 0 */ );
321 
322 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
323 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
324 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
325 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
327  OGRSpatialReferenceH, const char *, double );
328 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
329 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
330 
331 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
332 
333 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
334 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
335 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
336 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
337 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
338 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
339 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
340 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
341 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
342 
343 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
344 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
345 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
346 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
347  const char * pszName );
348 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
349  const char * );
350 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
351  OGRSpatialReferenceH hSrcSRS );
352 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
353  double, double, double,
354  double, double, double, double );
355 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
356 
357 
358 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
359  const char *pszName,
360  OGRSpatialReferenceH hHorizSRS,
361  OGRSpatialReferenceH hVertSRS );
362 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
363  const char * pszGeogName,
364  const char * pszDatumName,
365  const char * pszEllipsoidName,
366  double dfSemiMajor, double dfInvFlattening,
367  const char * pszPMName /* = NULL */,
368  double dfPMOffset /* = 0.0 */,
369  const char * pszUnits /* = NULL */,
370  double dfConvertToRadians /* = 0.0 */ );
371 
372 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
373  const char * pszVertCSName,
374  const char * pszVertDatumName,
375  int nVertDatumType );
376 
377 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
378 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
379 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
380 
381 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
382  const char * pszTargetKey,
383  const char * pszAuthority,
384  int nCode );
385 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
386  const char * pszTargetKey );
387 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
388  const char * pszTargetKey );
389 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
390 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
391 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
392  const char * pszParmName,
393  double dfDefault /* = 0.0 */,
394  OGRErr * /* = NULL */ );
395 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
396 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
397  const char * pszParmName,
398  double dfDefault /* = 0.0 */,
399  OGRErr * /* = NULL */ );
400 
401 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
402 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
403 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
404  int nZone, int bNAD83 );
405 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
406  int nZone, int bNAD83,
407  const char *pszOverrideUnitName,
408  double dfOverrideUnit );
409 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
410 
411 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
412 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
413 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
414  const char *pszTargetKey, int iAxis,
415  OGRAxisOrientation *peOrientation );
416 OGRErr CPL_DLL OSRSetAxes( const char *pszTargetKey,
417  const char *pszXAxisName,
418  OGRAxisOrientation eXAxisOrientation,
419  const char *pszYAxisName,
420  OGRAxisOrientation eYAxisOrientation );
422 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
423  double dfCenterLat, double dfCenterLong,
424  double dfFalseEasting, double dfFalseNorthing );
425 
427 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
428  double dfFalseEasting, double dfFalseNorthing );
429 
431 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
432  double dfStandardParallel, double dfCentralMeridian,
433  double dfFalseEasting, double dfFalseNorthing );
434 
436 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
437  double dfFalseEasting, double dfFalseNorthing );
438 
440 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
441  double dfFalseEasting, double dfFalseNorthing );
442 
444 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
445  double dfCenterLat, double dfCenterLong,
446  double dfFalseEasting, double dfFalseNorthing );
447 
449 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
450  double dfCentralMeridian,
451  double dfFalseEasting, double dfFalseNorthing );
452 
454 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
455  double dfFalseEasting, double dfFalseNorthing );
456 
458 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
459  double dfFalseEasting, double dfFalseNorthing );
460 
462 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
463  double dfCenterLat, double dfCenterLong,
464  double dfFalseEasting, double dfFalseNorthing );
465 
467 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
468  double dfCenterLat, double dfCenterLong,
469  double dfPseudoStdParallel1,
470  double dfFalseEasting,
471  double dfFalseNorthing );
472 
474 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
475  double dfFalseEasting, double dfFalseNorthing );
476 
478 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
479  double dfFalseEasting, double dfFalseNorthing );
480 
482 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
483 
485 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
486  double dfCentralMeridian, double dfSatelliteHeight,
487  double dfFalseEasting, double dfFalseNorthing );
488 
490 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
491  double dfCenterLat, double dfCenterLong,
492  double dfScale,
493  double dfFalseEasting,
494  double dfFalseNorthing );
496 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
497  double dfCenterLat, double dfCenterLong,
498  double dfFalseEasting, double dfFalseNorthing );
499 
501 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
502  double dfCenterLat, double dfCenterLong,
503  double dfAzimuth, double dfRectToSkew,
504  double dfScale,
505  double dfFalseEasting, double dfFalseNorthing );
506 
508 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
509  double dfCenterLat, double dfCenterLong,
510  double dfAzimuth, double dfRectToSkew,
511  double dfScale,
512  double dfFalseEasting, double dfFalseNorthing );
513 
515 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
516  double dfLat1, double dfLong1,
517  double dfLat2, double dfLong2,
518  double dfScale,
519  double dfFalseEasting, double dfFalseNorthing );
520 
522 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
523  double dfLat1, double dfLat2,
524  double dfCenterLong,
525  double dfFalseEasting,
526  double dfFalseNorthing );
527 
529 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
530  double dfCenterLat, double dfCenterLong,
531  double dfAzimuth, double dfPseudoStdParallelLat,
532  double dfScale,
533  double dfFalseEasting, double dfFalseNorthing );
534 
536 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
537  double dfCenterLat, double dfCenterLong,
538  double dfFalseEasting, double dfFalseNorthing );
539 
541 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
542  double dfStdP1, double dfStdP2,
543  double dfCenterLat, double dfCenterLong,
544  double dfFalseEasting, double dfFalseNorthing );
545 
547 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
548  double dfCenterLat, double dfCenterLong,
549  double dfScale,
550  double dfFalseEasting, double dfFalseNorthing );
551 
553 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
554  double dfStdP1, double dfStdP2,
555  double dfCenterLat, double dfCenterLong,
556  double dfFalseEasting, double dfFalseNorthing );
557 
559 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
560  double dfCenterLat, double dfCenterLong,
561  double dfFalseEasting, double dfFalseNorthing );
562 
564 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
565  double dfCenterLat, double dfCenterLong,
566  double dfScale,
567  double dfFalseEasting, double dfFalseNorthing );
568 
570 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
571  double dfCentralMeridian,
572  double dfFalseEasting,
573  double dfFalseNorthing );
574 
576 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
577  double dfCenterLat, double dfCenterLong,
578  double dfFalseEasting, double dfFalseNorthing );
579 
581 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
582  double dfOriginLat, double dfCMeridian,
583  double dfScale,
584  double dfFalseEasting,double dfFalseNorthing);
585 
587 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
588  double dfCenterLat, double dfCenterLong,
589  double dfFalseEasting,
590  double dfFalseNorthing);
591 
593 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
594  double dfCenterLat, double dfCenterLong,
595  double dfFalseEasting, double dfFalseNorthing );
596 
598 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
599  double dfCenterLat, double dfCenterLong,
600  double dfScale,
601  double dfFalseEasting, double dfFalseNorthing);
602 
604 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
605  double dfCenterLong,
606  double dfFalseEasting, double dfFalseNorthing );
607 
609 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
610  double dfCenterLong,
611  double dfFalseEasting,
612  double dfFalseNorthing );
613 
615 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
616  double dfCenterLat, double dfCenterLong,
617  double dfScale,
618  double dfFalseEasting,
619  double dfFalseNorthing);
620 
622 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
623  double dfLatitudeOfOrigin, double dfCentralMeridian,
624  double dfFalseEasting, double dfFalseNorthing );
625 
632 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
633  double dfCenterLat, double dfCenterLong,
634  double dfScale,
635  double dfFalseEasting, double dfFalseNorthing );
636 
638 OGRErr CPL_DLL OSRSetTMVariant(
639  OGRSpatialReferenceH hSRS, const char *pszVariantName,
640  double dfCenterLat, double dfCenterLong,
641  double dfScale,
642  double dfFalseEasting, double dfFalseNorthing );
643 
645 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
646  double dfCenterLat, double dfCenterLong,
647  double dfFalseEasting, double dfFalseNorthing );
648 
650 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
651  double dfCenterLat, double dfCenterLong,
652  double dfScale,
653  double dfFalseEasting, double dfFalseNorthing );
654 
656 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
657  double dfCenterLong,
658  double dfFalseEasting, double dfFalseNorthing );
659 
661 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
662  double dfFalseEasting,
663  double dfFalseNorthing );
664 
665 void CPL_DLL OSRCleanup( void );
666 
667 /* -------------------------------------------------------------------- */
668 /* OGRCoordinateTransform C API. */
669 /* -------------------------------------------------------------------- */
670 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
671 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
672  OGRSpatialReferenceH hTargetSRS );
673 void CPL_DLL CPL_STDCALL
674  OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
675 
676 int CPL_DLL CPL_STDCALL
677 OCTTransform( OGRCoordinateTransformationH hCT,
678  int nCount, double *x, double *y, double *z );
679 
680 int CPL_DLL CPL_STDCALL
681 OCTTransformEx( OGRCoordinateTransformationH hCT,
682  int nCount, double *x, double *y, double *z,
683  int *pabSuccess );
684 
685 /* this is really private to OGR. */
686 char *OCTProj4Normalize( const char *pszProj4Src );
687 
688 void OCTCleanupProjMutex();
689 
690 /* -------------------------------------------------------------------- */
691 /* Projection transform dictionary query. */
692 /* -------------------------------------------------------------------- */
693 
694 char CPL_DLL ** OPTGetProjectionMethods();
695 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
696  char ** ppszUserName );
697 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
698  const char * pszParameterName,
699  char ** ppszUserName,
700  char ** ppszType,
701  double *pdfDefaultValue );
702 
703 CPL_C_END
704 
705 #endif /* ndef SWIG */
706 
707 #endif /* ndef _OGR_SRS_API_H_INCLUDED */
double OSRGetNormProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
This function is the same as OGRSpatialReference::
Definition: ogrspatialreference.cpp:3651
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4325
const char *CPL_STDCALL OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:503
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4776
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:2960
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogr_srs_esri.cpp:1868
OGRErr OSRFixup(OGRSpatialReferenceH)
Fixup as needed.
Definition: ogrspatialreference.cpp:6972
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:6053
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:5556
int OPTGetParameterInfo(const char *pszProjectionMethod, const char *pszParameterName, char **ppszUserName, char **ppszType, double *pdfDefaultValue)
Definition: ogr_opt.cpp:585
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5156
OGRErr OSRFixupOrdering(OGRSpatialReferenceH)
Correct parameter ordering to match CT Specification.
Definition: ogrspatialreference.cpp:6899
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5045
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5228
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3905
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1142
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:6223
OGRErr OSRSetHOM2PNO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Set a Hotine Oblique Mercator projection using two points on projection centerline.
Definition: ogrspatialreference.cpp:4734
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:281
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4494
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3302
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:2635
OGRErr CPL_STDCALL OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:680
OGRErr OSRSetOM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
double OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1378
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4856
OGRSpatialReferenceH CPL_STDCALL OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:546
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:7231
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5482
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:3361
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:5916
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1091
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4531
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4455
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ.4 coordinate string.
Definition: ogr_srs_proj4.cpp:258
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4286
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:5763
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3868
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4214
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5006
OGRErr CPL_STDCALL OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:850
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:755
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:945
OGRErr OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *, const char *, double *)
Import coordinate system from PCI projection definition.
Definition: ogr_srs_pci.cpp:132
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:6773
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:2906
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:7113
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1293
void CPL_STDCALL OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:339
OGRErr OSRSetKrovak(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfPseudoStdParallelLat, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4817
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:3230
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4177
char ** OPTGetProjectionMethods()
Definition: ogr_opt.cpp:487
OGRSpatialReferenceH CPL_STDCALL OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:6340
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3748
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5449
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:321
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:6141
OGRErr OSRStripCTParms(OGRSpatialReferenceH)
Strip OGC CT Parameters.
Definition: ogrspatialreference.cpp:6015
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6621
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:6718
OGRErr CPL_STDCALL OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2282
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5265
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5301
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5122
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3038
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:7253
OGRSpatialReferenceH CPL_STDCALL OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:112
void CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:204
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:787
OGRErr OSRSetHOM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Set a Hotine Oblique Mercator projection using azimuth angle.
Definition: ogrspatialreference.cpp:4665
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Definition: ogrspatialreference.cpp:4424
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:1014
OGRErr OSRSetGeogCS(OGRSpatialReferenceH hSRS, const char *pszGeogName, const char *pszDatumName, const char *pszEllipsoidName, double dfSemiMajor, double dfInvFlattening, const char *pszPMName, double dfPMOffset, const char *pszUnits, double dfConvertToRadians)
Set geographic coordinate system.
Definition: ogrspatialreference.cpp:1639
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3943
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogr_srs_validate.cpp:1101
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:1864
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4970
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:747
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:6515
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:6185
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:3577
OGRErr OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *)
Convert coordinate system to ERMapper format.
Definition: ogr_srs_erm.cpp:144
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4015
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:7379
OGRCoordinateTransformationH CPL_STDCALL OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Definition: ogrct.cpp:444
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:490
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:5842
OGRErr OSRImportFromERM(OGRSpatialReferenceH, const char *, const char *, const char *)
Create OGR WKT from ERMapper projection definitions.
Definition: ogr_srs_erm.cpp:45
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:5633
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2698
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:3714
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:1442
OGRErr CPL_STDCALL OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 format.
Definition: ogr_srs_proj4.cpp:1351
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:1763
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4395
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:3150
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:6450
OGRErr CPL_STDCALL OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2122
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2763
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:1245
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:6270
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2442
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4121
char ** OPTGetParameterList(const char *pszProjectionMethod, char **ppszUserName)
Definition: ogr_opt.cpp:522
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5369
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4250
OGRErr CPL_STDCALL OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:2126
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:369
OGRErr CPL_STDCALL OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a a nicely formatted WKT string for display to a person.
Definition: ogrspatialreference.cpp:626
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5336
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3980
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:2235
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4361
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2424
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1330
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3789
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:2860
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5406
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4083
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4893
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:6096
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5192
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogr_srs_esri.cpp:1450
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:7434
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:756
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfFalseEasting, double dfFalseNorthing)
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:156
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4049
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4931
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:3443
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:2807

Generated for GDAL by doxygen 1.8.8.