OGR
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_srs_api.h 31181 2015-10-28 15:02:25Z 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  * Copyright (c) 2008-2013, Even Rouault <even dot rouault at mines-paris dot org>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef _OGR_SRS_API_H_INCLUDED
32 #define _OGR_SRS_API_H_INCLUDED
33 
34 #ifndef SWIG
35 #include "ogr_core.h"
36 
37 CPL_C_START
38 
47 /* -------------------------------------------------------------------- */
48 /* Axis orientations (corresponds to CS_AxisOrientationEnum). */
49 /* -------------------------------------------------------------------- */
50 typedef enum {
51  OAO_Other=0,
52  OAO_North=1,
53  OAO_South=2,
54  OAO_East=3,
55  OAO_West=4,
56  OAO_Up=5,
57  OAO_Down=6
58 } OGRAxisOrientation;
59 
60 const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation );
61 
62 /* -------------------------------------------------------------------- */
63 /* Datum types (corresponds to CS_DatumType). */
64 /* -------------------------------------------------------------------- */
65 
66 typedef enum {
67  ODT_HD_Min=1000,
68  ODT_HD_Other=1000,
69  ODT_HD_Classic=1001,
70  ODT_HD_Geocentric=1002,
71  ODT_HD_Max=1999,
72  ODT_VD_Min=2000,
73  ODT_VD_Other=2000,
74  ODT_VD_Orthometric=2001,
75  ODT_VD_Ellipsoidal=2002,
76  ODT_VD_AltitudeBarometric=2003,
77  ODT_VD_Normal=2004,
78  ODT_VD_GeoidModelDerived=2005,
79  ODT_VD_Depth=2006,
80  ODT_VD_Max=2999,
81  ODT_LD_Min=10000,
82  ODT_LD_Max=32767
83 } OGRDatumType;
84 
85 #endif // ndef SWIG
86 
87 /* ==================================================================== */
88 /* Some standard WKT geographic coordinate systems. */
89 /* ==================================================================== */
90 
91 #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\"]]"
92 
93 /* ==================================================================== */
94 /* Some "standard" strings. */
95 /* ==================================================================== */
96 
97 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA \
98  "Albers_Conic_Equal_Area"
99 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
100 #define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
101 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
102 #define SRS_PT_BONNE "Bonne"
103 #define SRS_PT_ECKERT_I "Eckert_I"
104 #define SRS_PT_ECKERT_II "Eckert_II"
105 #define SRS_PT_ECKERT_III "Eckert_III"
106 #define SRS_PT_ECKERT_IV "Eckert_IV"
107 #define SRS_PT_ECKERT_V "Eckert_V"
108 #define SRS_PT_ECKERT_VI "Eckert_VI"
109 #define SRS_PT_EQUIDISTANT_CONIC \
110  "Equidistant_Conic"
111 #define SRS_PT_EQUIRECTANGULAR "Equirectangular"
112 #define SRS_PT_GALL_STEREOGRAPHIC \
113  "Gall_Stereographic"
114 #define SRS_PT_GAUSSSCHREIBERTMERCATOR \
115  "Gauss_Schreiber_Transverse_Mercator"
116 #define SRS_PT_GEOSTATIONARY_SATELLITE \
117  "Geostationary_Satellite"
118 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
119 #define SRS_PT_IGH "Interrupted_Goode_Homolosine"
120 #define SRS_PT_GNOMONIC "Gnomonic"
121 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \
122  "Hotine_Oblique_Mercator_Azimuth_Center"
123 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
124  "Hotine_Oblique_Mercator"
125 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
126  "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
127 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
128  "Laborde_Oblique_Mercator"
129 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
130  "Lambert_Conformal_Conic_1SP"
131 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
132  "Lambert_Conformal_Conic_2SP"
133 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
134  "Lambert_Conformal_Conic_2SP_Belgium"
135 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
136  "Lambert_Azimuthal_Equal_Area"
137 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
138 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
139 // Mercator_Auxiliary_Sphere is used used by ESRI to mean EPSG:3875
140 #define SRS_PT_MERCATOR_AUXILIARY_SPHERE \
141  "Mercator_Auxiliary_Sphere"
142 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
143 #define SRS_PT_MOLLWEIDE "Mollweide"
144 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
145  "New_Zealand_Map_Grid"
146 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
147  "Oblique_Stereographic"
148 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
149 #define SRS_PT_POLAR_STEREOGRAPHIC \
150  "Polar_Stereographic"
151 #define SRS_PT_POLYCONIC "Polyconic"
152 #define SRS_PT_ROBINSON "Robinson"
153 #define SRS_PT_SINUSOIDAL "Sinusoidal"
154 #define SRS_PT_STEREOGRAPHIC "Stereographic"
155 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
156  "Swiss_Oblique_Cylindrical"
157 #define SRS_PT_TRANSVERSE_MERCATOR \
158  "Transverse_Mercator"
159 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
160  "Transverse_Mercator_South_Orientated"
161 
162 /* special mapinfo variants on Transverse Mercator */
163 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
164  "Transverse_Mercator_MapInfo_21"
165 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
166  "Transverse_Mercator_MapInfo_22"
167 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
168  "Transverse_Mercator_MapInfo_23"
169 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
170  "Transverse_Mercator_MapInfo_24"
171 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
172  "Transverse_Mercator_MapInfo_25"
173 
174 #define SRS_PT_TUNISIA_MINING_GRID \
175  "Tunisia_Mining_Grid"
176 #define SRS_PT_TWO_POINT_EQUIDISTANT \
177  "Two_Point_Equidistant"
178 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
179 #define SRS_PT_KROVAK "Krovak"
180 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
181 #define SRS_PT_WAGNER_I "Wagner_I"
182 #define SRS_PT_WAGNER_II "Wagner_II"
183 #define SRS_PT_WAGNER_III "Wagner_III"
184 #define SRS_PT_WAGNER_IV "Wagner_IV"
185 #define SRS_PT_WAGNER_V "Wagner_V"
186 #define SRS_PT_WAGNER_VI "Wagner_VI"
187 #define SRS_PT_WAGNER_VII "Wagner_VII"
188 #define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
189 #define SRS_PT_AITOFF "Aitoff"
190 #define SRS_PT_WINKEL_I "Winkel_I"
191 #define SRS_PT_WINKEL_II "Winkel_II"
192 #define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
193 #define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
194 #define SRS_PT_LOXIMUTHAL "Loximuthal"
195 #define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
196 
197 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
198 #define SRS_PP_SCALE_FACTOR "scale_factor"
199 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
200 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
201 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
202 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
203 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
204 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
205 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
206 #define SRS_PP_FALSE_EASTING "false_easting"
207 #define SRS_PP_FALSE_NORTHING "false_northing"
208 #define SRS_PP_AZIMUTH "azimuth"
209 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
210 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
211 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
212 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
213 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
214 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
215 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
216 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
217 #define SRS_PP_PATH_NUMBER "path_number"
218 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
219 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
220 #define SRS_PP_FIPSZONE "fipszone"
221 #define SRS_PP_ZONE "zone"
222 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
223 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
224 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
225 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
226 
227 #define SRS_UL_METER "Meter"
228 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
229 #define SRS_UL_FOOT_CONV "0.3048"
230 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
231 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
232 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
233 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
234 #define SRS_UL_LINK "Link" /* Based on US Foot */
235 #define SRS_UL_LINK_CONV "0.20116684023368047"
236 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
237 #define SRS_UL_CHAIN_CONV "20.116684023368047"
238 #define SRS_UL_ROD "Rod" /* based on US Foot */
239 #define SRS_UL_ROD_CONV "5.02921005842012"
240 #define SRS_UL_LINK_Clarke "Link_Clarke"
241 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
242 
243 #define SRS_UL_KILOMETER "Kilometer"
244 #define SRS_UL_KILOMETER_CONV "1000."
245 #define SRS_UL_DECIMETER "Decimeter"
246 #define SRS_UL_DECIMETER_CONV "0.1"
247 #define SRS_UL_CENTIMETER "Centimeter"
248 #define SRS_UL_CENTIMETER_CONV "0.01"
249 #define SRS_UL_MILLIMETER "Millimeter"
250 #define SRS_UL_MILLIMETER_CONV "0.001"
251 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
252 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
253 #define SRS_UL_INTL_INCH "Inch_International"
254 #define SRS_UL_INTL_INCH_CONV "0.0254"
255 #define SRS_UL_INTL_FOOT "Foot_International"
256 #define SRS_UL_INTL_FOOT_CONV "0.3048"
257 #define SRS_UL_INTL_YARD "Yard_International"
258 #define SRS_UL_INTL_YARD_CONV "0.9144"
259 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
260 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
261 #define SRS_UL_INTL_FATHOM "Fathom_International"
262 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
263 #define SRS_UL_INTL_CHAIN "Chain_International"
264 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
265 #define SRS_UL_INTL_LINK "Link_International"
266 #define SRS_UL_INTL_LINK_CONV "0.201168"
267 #define SRS_UL_US_INCH "Inch_US_Surveyor"
268 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
269 #define SRS_UL_US_YARD "Yard_US_Surveyor"
270 #define SRS_UL_US_YARD_CONV "0.914401828803658"
271 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
272 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
273 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
274 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
275 #define SRS_UL_INDIAN_YARD "Yard_Indian"
276 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
277 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
278 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
279 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
280 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
281 
282 #define SRS_UA_DEGREE "degree"
283 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
284 #define SRS_UA_RADIAN "radian"
285 
286 #define SRS_PM_GREENWICH "Greenwich"
287 
288 #define SRS_DN_NAD27 "North_American_Datum_1927"
289 #define SRS_DN_NAD83 "North_American_Datum_1983"
290 #define SRS_DN_WGS72 "WGS_1972"
291 #define SRS_DN_WGS84 "WGS_1984"
292 
293 #define SRS_WGS84_SEMIMAJOR 6378137.0
294 #define SRS_WGS84_INVFLATTENING 298.257223563
295 
296 #ifndef SWIG
297 /* -------------------------------------------------------------------- */
298 /* C Wrappers for C++ objects and methods. */
299 /* -------------------------------------------------------------------- */
300 #ifndef _DEFINED_OGRSpatialReferenceH
301 #define _DEFINED_OGRSpatialReferenceH
302 
303 #ifdef DEBUG
304 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
305 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
306 #else
307 typedef void *OGRSpatialReferenceH;
308 typedef void *OGRCoordinateTransformationH;
309 #endif
310 
311 #endif
312 
313 
314 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
315  OSRNewSpatialReference( const char * /* = NULL */);
316 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
317 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
318 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
319 
320 int CPL_DLL OSRReference( OGRSpatialReferenceH );
321 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
322 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
323 
324 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
325 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
326 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
327 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
328 
329 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
330 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
331 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
332 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
333 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
334 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
335  const char *, double * );
336 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
337  long, long, double *, long);
338 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
339 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
340  const char * );
341 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
342  double * );
343 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
344 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
345 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
346  const char *, const char *, const char * );
347 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
348 
349 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
350 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
351 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
352 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
353  double ** );
354 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
355  double **, long * );
356 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
357 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
358  long *, long *, double * );
359 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
360 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
361 
362 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
363 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
364 
365 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
366  const char * pszNodePath,
367  const char * pszNewNodeValue );
368 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
369  const char * pszName, int iChild /* = 0 */ );
370 
371 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
372 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
373 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
374 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
376  OGRSpatialReferenceH, const char *, double );
377 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
378 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
379 
380 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
381 
382 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
383 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
384 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
385 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
386 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
387 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
388 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
389 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
390 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
391 
392 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
393 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
394 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
395 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
396  const char * pszName );
397 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
398  const char * );
399 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
400  OGRSpatialReferenceH hSrcSRS );
401 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
402  double, double, double,
403  double, double, double, double );
404 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
405 
406 
407 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
408  const char *pszName,
409  OGRSpatialReferenceH hHorizSRS,
410  OGRSpatialReferenceH hVertSRS );
411 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
412  const char * pszGeogName,
413  const char * pszDatumName,
414  const char * pszEllipsoidName,
415  double dfSemiMajor, double dfInvFlattening,
416  const char * pszPMName /* = NULL */,
417  double dfPMOffset /* = 0.0 */,
418  const char * pszUnits /* = NULL */,
419  double dfConvertToRadians /* = 0.0 */ );
420 
421 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
422  const char * pszVertCSName,
423  const char * pszVertDatumName,
424  int nVertDatumType );
425 
426 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
427 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
428 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
429 
430 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
431  const char * pszTargetKey,
432  const char * pszAuthority,
433  int nCode );
434 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
435  const char * pszTargetKey );
436 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
437  const char * pszTargetKey );
438 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
439 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
440 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
441  const char * pszParmName,
442  double dfDefault /* = 0.0 */,
443  OGRErr * /* = NULL */ );
444 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
445 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
446  const char * pszParmName,
447  double dfDefault /* = 0.0 */,
448  OGRErr * /* = NULL */ );
449 
450 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
451 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
452 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
453  int nZone, int bNAD83 );
454 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
455  int nZone, int bNAD83,
456  const char *pszOverrideUnitName,
457  double dfOverrideUnit );
458 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
459 
460 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
461 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
462 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
463  const char *pszTargetKey, int iAxis,
464  OGRAxisOrientation *peOrientation );
465 OGRErr CPL_DLL OSRSetAxes( OGRSpatialReferenceH hSRS,
466  const char *pszTargetKey,
467  const char *pszXAxisName,
468  OGRAxisOrientation eXAxisOrientation,
469  const char *pszYAxisName,
470  OGRAxisOrientation eYAxisOrientation );
472 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
473  double dfCenterLat, double dfCenterLong,
474  double dfFalseEasting, double dfFalseNorthing );
475 
477 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
478  double dfFalseEasting, double dfFalseNorthing );
479 
481 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
482  double dfStandardParallel, double dfCentralMeridian,
483  double dfFalseEasting, double dfFalseNorthing );
484 
486 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
487  double dfFalseEasting, double dfFalseNorthing );
488 
490 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
491  double dfFalseEasting, double dfFalseNorthing );
492 
494 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
495  double dfCenterLat, double dfCenterLong,
496  double dfFalseEasting, double dfFalseNorthing );
497 
499 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
500  double dfCentralMeridian,
501  double dfFalseEasting, double dfFalseNorthing );
502 
504 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
505  double dfFalseEasting, double dfFalseNorthing );
506 
508 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
509  double dfFalseEasting, double dfFalseNorthing );
510 
512 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
513  double dfCenterLat, double dfCenterLong,
514  double dfFalseEasting, double dfFalseNorthing );
515 
517 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
518  double dfCenterLat, double dfCenterLong,
519  double dfPseudoStdParallel1,
520  double dfFalseEasting,
521  double dfFalseNorthing );
522 
524 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
525  double dfFalseEasting, double dfFalseNorthing );
526 
528 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
529  double dfFalseEasting, double dfFalseNorthing );
530 
532 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
533 
535 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
536  double dfCentralMeridian, double dfSatelliteHeight,
537  double dfFalseEasting, double dfFalseNorthing );
538 
540 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
541  double dfCenterLat, double dfCenterLong,
542  double dfScale,
543  double dfFalseEasting,
544  double dfFalseNorthing );
546 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
547  double dfCenterLat, double dfCenterLong,
548  double dfFalseEasting, double dfFalseNorthing );
549 
551 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
552  double dfCenterLat, double dfCenterLong,
553  double dfAzimuth, double dfRectToSkew,
554  double dfScale,
555  double dfFalseEasting, double dfFalseNorthing );
556 
558 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
559  double dfCenterLat, double dfCenterLong,
560  double dfAzimuth, double dfRectToSkew,
561  double dfScale,
562  double dfFalseEasting, double dfFalseNorthing );
563 
564 OGRErr CPL_DLL OSRSetHOMAC( OGRSpatialReferenceH hSRS,
565  double dfCenterLat, double dfCenterLong,
566  double dfAzimuth, double dfRectToSkew,
567  double dfScale,
568  double dfFalseEasting,
569  double dfFalseNorthing );
570 
572 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
573  double dfLat1, double dfLong1,
574  double dfLat2, double dfLong2,
575  double dfScale,
576  double dfFalseEasting, double dfFalseNorthing );
577 
579 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
580  double dfLat1, double dfLat2,
581  double dfCenterLong,
582  double dfFalseEasting,
583  double dfFalseNorthing );
584 
586 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
587  double dfCenterLat, double dfCenterLong,
588  double dfAzimuth, double dfPseudoStdParallelLat,
589  double dfScale,
590  double dfFalseEasting, double dfFalseNorthing );
591 
593 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
594  double dfCenterLat, double dfCenterLong,
595  double dfFalseEasting, double dfFalseNorthing );
596 
598 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
599  double dfStdP1, double dfStdP2,
600  double dfCenterLat, double dfCenterLong,
601  double dfFalseEasting, double dfFalseNorthing );
602 
604 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
605  double dfCenterLat, double dfCenterLong,
606  double dfScale,
607  double dfFalseEasting, double dfFalseNorthing );
608 
610 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
611  double dfStdP1, double dfStdP2,
612  double dfCenterLat, double dfCenterLong,
613  double dfFalseEasting, double dfFalseNorthing );
614 
616 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
617  double dfCenterLat, double dfCenterLong,
618  double dfFalseEasting, double dfFalseNorthing );
619 
621 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
622  double dfCenterLat, double dfCenterLong,
623  double dfScale,
624  double dfFalseEasting, double dfFalseNorthing );
625 OGRErr CPL_DLL OSRSetMercator2SP( OGRSpatialReferenceH hSRS,
626  double dfStdP1,
627  double dfCenterLat, double dfCenterLong,
628  double dfFalseEasting, double dfFalseNorthing );
629 
631 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
632  double dfCentralMeridian,
633  double dfFalseEasting,
634  double dfFalseNorthing );
635 
637 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
638  double dfCenterLat, double dfCenterLong,
639  double dfFalseEasting, double dfFalseNorthing );
640 
642 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
643  double dfOriginLat, double dfCMeridian,
644  double dfScale,
645  double dfFalseEasting,double dfFalseNorthing);
646 
648 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
649  double dfCenterLat, double dfCenterLong,
650  double dfFalseEasting,
651  double dfFalseNorthing);
652 
654 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
655  double dfCenterLat, double dfCenterLong,
656  double dfFalseEasting, double dfFalseNorthing );
657 
659 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
660  double dfCenterLat, double dfCenterLong,
661  double dfScale,
662  double dfFalseEasting, double dfFalseNorthing);
663 
665 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
666  double dfCenterLong,
667  double dfFalseEasting, double dfFalseNorthing );
668 
670 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
671  double dfCenterLong,
672  double dfFalseEasting,
673  double dfFalseNorthing );
674 
676 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
677  double dfCenterLat, double dfCenterLong,
678  double dfScale,
679  double dfFalseEasting,
680  double dfFalseNorthing);
681 
683 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
684  double dfLatitudeOfOrigin, double dfCentralMeridian,
685  double dfFalseEasting, double dfFalseNorthing );
686 
693 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
694  double dfCenterLat, double dfCenterLong,
695  double dfScale,
696  double dfFalseEasting, double dfFalseNorthing );
697 
699 OGRErr CPL_DLL OSRSetTMVariant(
700  OGRSpatialReferenceH hSRS, const char *pszVariantName,
701  double dfCenterLat, double dfCenterLong,
702  double dfScale,
703  double dfFalseEasting, double dfFalseNorthing );
704 
706 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
707  double dfCenterLat, double dfCenterLong,
708  double dfFalseEasting, double dfFalseNorthing );
709 
711 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
712  double dfCenterLat, double dfCenterLong,
713  double dfScale,
714  double dfFalseEasting, double dfFalseNorthing );
715 
716 OGRErr CPL_DLL OSRSetTPED( OGRSpatialReferenceH hSRS,
717  double dfLat1, double dfLong1,
718  double dfLat2, double dfLong2,
719  double dfFalseEasting, double dfFalseNorthing );
720 
722 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
723  double dfCenterLong,
724  double dfFalseEasting, double dfFalseNorthing );
725 
727 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
728  double dfCenterLat,
729  double dfFalseEasting,
730  double dfFalseNorthing );
731 
733 OGRErr CPL_DLL OSRSetQSC( OGRSpatialReferenceH hSRS,
734  double dfCenterLat, double dfCenterLong );
735 
736 double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
737 double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
738 
739 void CPL_DLL OSRCleanup( void );
740 
741 /* -------------------------------------------------------------------- */
742 /* OGRCoordinateTransform C API. */
743 /* -------------------------------------------------------------------- */
744 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
745 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
746  OGRSpatialReferenceH hTargetSRS );
747 void CPL_DLL CPL_STDCALL
748  OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
749 
750 int CPL_DLL CPL_STDCALL
751 OCTTransform( OGRCoordinateTransformationH hCT,
752  int nCount, double *x, double *y, double *z );
753 
754 int CPL_DLL CPL_STDCALL
755 OCTTransformEx( OGRCoordinateTransformationH hCT,
756  int nCount, double *x, double *y, double *z,
757  int *pabSuccess );
758 
759 /* this is really private to OGR. */
760 char *OCTProj4Normalize( const char *pszProj4Src );
761 
762 void OCTCleanupProjMutex( void );
763 
764 /* -------------------------------------------------------------------- */
765 /* Projection transform dictionary query. */
766 /* -------------------------------------------------------------------- */
767 
768 char CPL_DLL ** OPTGetProjectionMethods( void );
769 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
770  char ** ppszUserName );
771 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
772  const char * pszParameterName,
773  char ** ppszUserName,
774  char ** ppszType,
775  double *pdfDefaultValue );
776 
777 CPL_C_END
778 
779 #endif /* ndef SWIG */
780 
781 #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:3652
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4326
const char *CPL_STDCALL OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:505
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4777
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:2961
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogr_srs_esri.cpp:1966
OGRErr OSRFixup(OGRSpatialReferenceH)
Fixup as needed.
Definition: ogrspatialreference.cpp:7001
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:6082
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:5557
int OPTGetParameterInfo(const char *pszProjectionMethod, const char *pszParameterName, char **ppszUserName, char **ppszType, double *pdfDefaultValue)
Definition: ogr_opt.cpp:592
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5157
OGRErr OSRFixupOrdering(OGRSpatialReferenceH)
Correct parameter ordering to match CT Specification.
Definition: ogrspatialreference.cpp:6928
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5046
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5229
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3906
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1144
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:6252
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:4735
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:283
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4495
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3303
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:2665
OGRErr CPL_STDCALL OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:682
OGRErr OSRSetHOMAC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Set an Oblique Mercator projection using azimuth angle.
Definition: ogrspatialreference.cpp:4598
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:1380
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4857
OGRSpatialReferenceH CPL_STDCALL OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:548
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:7262
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5483
char ** OPTGetProjectionMethods(void)
Definition: ogr_opt.cpp:494
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:3362
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:5945
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1093
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4532
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4456
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ.4 coordinate string.
Definition: ogr_srs_proj4.cpp:261
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4287
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:5792
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3869
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4215
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5007
OGRErr CPL_STDCALL OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:852
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:743
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:947
OGRErr OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *, const char *, double *)
Import coordinate system from PCI projection definition.
Definition: ogr_srs_pci.cpp:133
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:6802
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:2907
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:7143
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1295
void CPL_STDCALL OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:348
OGRErr OSRSetKrovak(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfPseudoStdParallelLat, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4818
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:3231
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4178
OGRSpatialReferenceH CPL_STDCALL OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:6369
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:7554
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3749
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5450
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:323
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:6170
OGRErr OSRStripCTParms(OGRSpatialReferenceH)
Strip OGC CT Parameters.
Definition: ogrspatialreference.cpp:6044
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6650
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:6747
OGRErr CPL_STDCALL OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2312
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5266
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5302
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5123
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3039
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:7284
OGRSpatialReferenceH CPL_STDCALL OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:114
void CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:206
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:782
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:4666
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Definition: ogrspatialreference.cpp:4425
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:1016
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:1641
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5686
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:7526
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3944
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogr_srs_validate.cpp:1153
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:1866
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4971
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:754
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:6544
OGRErr OSRImportFromOzi(OGRSpatialReferenceH, const char *const *)
Definition: ogr_srs_ozi.cpp:60
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:6214
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:3578
OGRErr OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *)
Convert coordinate system to ERMapper format.
Definition: ogr_srs_erm.cpp:145
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4016
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:7410
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Definition: ogrspatialreference.cpp:5716
OGRCoordinateTransformationH CPL_STDCALL OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Definition: ogrct.cpp:453
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:487
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:5871
OGRErr OSRSetAxes(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszXAxisName, OGRAxisOrientation eXAxisOrientation, const char *pszYAxisName, OGRAxisOrientation eYAxisOrientation)
Set the axes for a coordinate system.
Definition: ogrspatialreference.cpp:7381
OGRErr OSRImportFromERM(OGRSpatialReferenceH, const char *, const char *, const char *)
Create OGR WKT from ERMapper projection definitions.
Definition: ogr_srs_erm.cpp:46
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:5634
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2728
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:3715
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:1444
OGRErr CPL_STDCALL OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 format.
Definition: ogr_srs_proj4.cpp:1458
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:1765
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4396
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:3151
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:6479
OGRErr CPL_STDCALL OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2153
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2793
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:1247
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:6299
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2472
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4122
char ** OPTGetParameterList(const char *pszProjectionMethod, char **ppszUserName)
Definition: ogr_opt.cpp:529
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5370
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4251
OGRErr CPL_STDCALL OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:2128
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:371
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:628
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5337
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3981
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:2237
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4362
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2454
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1337
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3790
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:2864
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5407
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4084
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4894
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:6125
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5193
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogr_srs_esri.cpp:1488
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:7465
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:758
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:157
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4050
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:4932
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:3444
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:2811

Generated for GDAL by doxygen 1.8.10.