GDAL
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_srs_api.h 33631 2016-03-04 06:28:09Z goatbar $
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\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],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 #define SRS_PT_SCH "Spherical_Cross_Track_Height"
197 
198 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
199 #define SRS_PP_SCALE_FACTOR "scale_factor"
200 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
201 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
202 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
203 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
204 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
205 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
206 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
207 #define SRS_PP_FALSE_EASTING "false_easting"
208 #define SRS_PP_FALSE_NORTHING "false_northing"
209 #define SRS_PP_AZIMUTH "azimuth"
210 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
211 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
212 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
213 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
214 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
215 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
216 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
217 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
218 #define SRS_PP_PATH_NUMBER "path_number"
219 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
220 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
221 #define SRS_PP_FIPSZONE "fipszone"
222 #define SRS_PP_ZONE "zone"
223 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
224 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
225 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
226 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
227 #define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude"
228 #define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude"
229 #define SRS_PP_PEG_POINT_HEADING "peg_point_heading"
230 #define SRS_PP_PEG_POINT_HEIGHT "peg_point_height"
231 
232 #define SRS_UL_METER "Meter"
233 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
234 #define SRS_UL_FOOT_CONV "0.3048"
235 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
236 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
237 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
238 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
239 #define SRS_UL_LINK "Link" /* Based on US Foot */
240 #define SRS_UL_LINK_CONV "0.20116684023368047"
241 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
242 #define SRS_UL_CHAIN_CONV "20.116684023368047"
243 #define SRS_UL_ROD "Rod" /* based on US Foot */
244 #define SRS_UL_ROD_CONV "5.02921005842012"
245 #define SRS_UL_LINK_Clarke "Link_Clarke"
246 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
247 
248 #define SRS_UL_KILOMETER "Kilometer"
249 #define SRS_UL_KILOMETER_CONV "1000."
250 #define SRS_UL_DECIMETER "Decimeter"
251 #define SRS_UL_DECIMETER_CONV "0.1"
252 #define SRS_UL_CENTIMETER "Centimeter"
253 #define SRS_UL_CENTIMETER_CONV "0.01"
254 #define SRS_UL_MILLIMETER "Millimeter"
255 #define SRS_UL_MILLIMETER_CONV "0.001"
256 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
257 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
258 #define SRS_UL_INTL_INCH "Inch_International"
259 #define SRS_UL_INTL_INCH_CONV "0.0254"
260 #define SRS_UL_INTL_FOOT "Foot_International"
261 #define SRS_UL_INTL_FOOT_CONV "0.3048"
262 #define SRS_UL_INTL_YARD "Yard_International"
263 #define SRS_UL_INTL_YARD_CONV "0.9144"
264 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
265 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
266 #define SRS_UL_INTL_FATHOM "Fathom_International"
267 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
268 #define SRS_UL_INTL_CHAIN "Chain_International"
269 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
270 #define SRS_UL_INTL_LINK "Link_International"
271 #define SRS_UL_INTL_LINK_CONV "0.201168"
272 #define SRS_UL_US_INCH "Inch_US_Surveyor"
273 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
274 #define SRS_UL_US_YARD "Yard_US_Surveyor"
275 #define SRS_UL_US_YARD_CONV "0.914401828803658"
276 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
277 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
278 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
279 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
280 #define SRS_UL_INDIAN_YARD "Yard_Indian"
281 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
282 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
283 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
284 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
285 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
286 
287 #define SRS_UA_DEGREE "degree"
288 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
289 #define SRS_UA_RADIAN "radian"
290 
291 #define SRS_PM_GREENWICH "Greenwich"
292 
293 #define SRS_DN_NAD27 "North_American_Datum_1927"
294 #define SRS_DN_NAD83 "North_American_Datum_1983"
295 #define SRS_DN_WGS72 "WGS_1972"
296 #define SRS_DN_WGS84 "WGS_1984"
297 
298 #define SRS_WGS84_SEMIMAJOR 6378137.0
299 #define SRS_WGS84_INVFLATTENING 298.257223563
300 
301 #ifndef SWIG
302 /* -------------------------------------------------------------------- */
303 /* C Wrappers for C++ objects and methods. */
304 /* -------------------------------------------------------------------- */
305 #ifndef DEFINED_OGRSpatialReferenceH
306 #define DEFINED_OGRSpatialReferenceH
307 
308 #ifdef DEBUG
309 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
310 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
311 #else
312 typedef void *OGRSpatialReferenceH;
313 typedef void *OGRCoordinateTransformationH;
314 #endif
315 
316 #endif
317 
318 
319 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
320  OSRNewSpatialReference( const char * /* = NULL */);
321 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
322 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
323 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
324 
325 int CPL_DLL OSRReference( OGRSpatialReferenceH );
326 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
327 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
328 
329 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
330 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
331 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
332 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
333 
334 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
335 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
336 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
337 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
338 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
339 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
340  const char *, double * );
341 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
342  long, long, double *, long);
343 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
344 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
345  const char * );
346 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
347  double * );
348 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
349 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
350 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
351  const char *, const char *, const char * );
352 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
353 
354 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
355 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
356 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
357 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
358  double ** );
359 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
360  double **, long * );
361 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
362 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
363  long *, long *, double * );
364 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
365 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
366 
367 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
368 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
369 
370 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
371  const char * pszNodePath,
372  const char * pszNewNodeValue );
373 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
374  const char * pszName, int iChild /* = 0 */ );
375 
376 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
377 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
378 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
379 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
381  OGRSpatialReferenceH, const char *, double );
382 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
383 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
384 
385 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
386 
387 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
388 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
389 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
390 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
391 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
392 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
393 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
394 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
395 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
396 
397 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
398 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
399 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
400 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
401  const char * pszName );
402 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
403  const char * );
404 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
405  const OGRSpatialReferenceH hSrcSRS );
406 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
407  double, double, double,
408  double, double, double, double );
409 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
410 
411 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
412  const char *pszName,
413  OGRSpatialReferenceH hHorizSRS,
414  OGRSpatialReferenceH hVertSRS );
415 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
416  const char * pszGeogName,
417  const char * pszDatumName,
418  const char * pszEllipsoidName,
419  double dfSemiMajor, double dfInvFlattening,
420  const char * pszPMName /* = NULL */,
421  double dfPMOffset /* = 0.0 */,
422  const char * pszUnits /* = NULL */,
423  double dfConvertToRadians /* = 0.0 */ );
424 
425 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
426  const char * pszVertCSName,
427  const char * pszVertDatumName,
428  int nVertDatumType );
429 
430 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
431 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
432 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
433 
434 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
435  const char * pszTargetKey,
436  const char * pszAuthority,
437  int nCode );
438 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
439  const char * pszTargetKey );
440 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
441  const char * pszTargetKey );
442 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
443 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
444 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
445  const char * pszParmName,
446  double dfDefault /* = 0.0 */,
447  OGRErr * /* = NULL */ );
448 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
449 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
450  const char * pszParmName,
451  double dfDefault /* = 0.0 */,
452  OGRErr * /* = NULL */ );
453 
454 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
455 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
456 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
457  int nZone, int bNAD83 );
458 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
459  int nZone, int bNAD83,
460  const char *pszOverrideUnitName,
461  double dfOverrideUnit );
462 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
463 
464 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
465 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
466 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
467  const char *pszTargetKey, int iAxis,
468  OGRAxisOrientation *peOrientation );
469 OGRErr CPL_DLL OSRSetAxes( OGRSpatialReferenceH hSRS,
470  const char *pszTargetKey,
471  const char *pszXAxisName,
472  OGRAxisOrientation eXAxisOrientation,
473  const char *pszYAxisName,
474  OGRAxisOrientation eYAxisOrientation );
476 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
477  double dfCenterLat, double dfCenterLong,
478  double dfFalseEasting, double dfFalseNorthing );
479 
481 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
482  double dfFalseEasting, double dfFalseNorthing );
483 
485 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
486  double dfStandardParallel, double dfCentralMeridian,
487  double dfFalseEasting, double dfFalseNorthing );
488 
490 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
491  double dfFalseEasting, double dfFalseNorthing );
492 
494 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
495  double dfFalseEasting, double dfFalseNorthing );
496 
498 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
499  double dfCenterLat, double dfCenterLong,
500  double dfFalseEasting, double dfFalseNorthing );
501 
503 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
504  double dfCentralMeridian,
505  double dfFalseEasting, double dfFalseNorthing );
506 
508 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
509  double dfFalseEasting, double dfFalseNorthing );
510 
512 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
513  double dfFalseEasting, double dfFalseNorthing );
514 
516 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
517  double dfCenterLat, double dfCenterLong,
518  double dfFalseEasting, double dfFalseNorthing );
519 
521 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
522  double dfCenterLat, double dfCenterLong,
523  double dfPseudoStdParallel1,
524  double dfFalseEasting,
525  double dfFalseNorthing );
526 
528 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
529  double dfFalseEasting, double dfFalseNorthing );
530 
532 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
533  double dfFalseEasting, double dfFalseNorthing );
534 
536 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
537 
539 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
540  double dfCentralMeridian, double dfSatelliteHeight,
541  double dfFalseEasting, double dfFalseNorthing );
542 
544 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
545  double dfCenterLat, double dfCenterLong,
546  double dfScale,
547  double dfFalseEasting,
548  double dfFalseNorthing );
550 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
551  double dfCenterLat, double dfCenterLong,
552  double dfFalseEasting, double dfFalseNorthing );
553 
555 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
556  double dfCenterLat, double dfCenterLong,
557  double dfAzimuth, double dfRectToSkew,
558  double dfScale,
559  double dfFalseEasting, double dfFalseNorthing );
560 
562 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
563  double dfCenterLat, double dfCenterLong,
564  double dfAzimuth, double dfRectToSkew,
565  double dfScale,
566  double dfFalseEasting, double dfFalseNorthing );
567 
568 OGRErr CPL_DLL OSRSetHOMAC( OGRSpatialReferenceH hSRS,
569  double dfCenterLat, double dfCenterLong,
570  double dfAzimuth, double dfRectToSkew,
571  double dfScale,
572  double dfFalseEasting,
573  double dfFalseNorthing );
574 
576 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
577  double dfLat1, double dfLong1,
578  double dfLat2, double dfLong2,
579  double dfScale,
580  double dfFalseEasting, double dfFalseNorthing );
581 
583 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
584  double dfLat1, double dfLat2,
585  double dfCenterLong,
586  double dfFalseEasting,
587  double dfFalseNorthing );
588 
590 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
591  double dfCenterLat, double dfCenterLong,
592  double dfAzimuth, double dfPseudoStdParallelLat,
593  double dfScale,
594  double dfFalseEasting, double dfFalseNorthing );
595 
597 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
598  double dfCenterLat, double dfCenterLong,
599  double dfFalseEasting, double dfFalseNorthing );
600 
602 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
603  double dfStdP1, double dfStdP2,
604  double dfCenterLat, double dfCenterLong,
605  double dfFalseEasting, double dfFalseNorthing );
606 
608 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
609  double dfCenterLat, double dfCenterLong,
610  double dfScale,
611  double dfFalseEasting, double dfFalseNorthing );
612 
614 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
615  double dfStdP1, double dfStdP2,
616  double dfCenterLat, double dfCenterLong,
617  double dfFalseEasting, double dfFalseNorthing );
618 
620 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
621  double dfCenterLat, double dfCenterLong,
622  double dfFalseEasting, double dfFalseNorthing );
623 
625 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
626  double dfCenterLat, double dfCenterLong,
627  double dfScale,
628  double dfFalseEasting, double dfFalseNorthing );
629 OGRErr CPL_DLL OSRSetMercator2SP( OGRSpatialReferenceH hSRS,
630  double dfStdP1,
631  double dfCenterLat, double dfCenterLong,
632  double dfFalseEasting, double dfFalseNorthing );
633 
635 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
636  double dfCentralMeridian,
637  double dfFalseEasting,
638  double dfFalseNorthing );
639 
641 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
642  double dfCenterLat, double dfCenterLong,
643  double dfFalseEasting, double dfFalseNorthing );
644 
646 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
647  double dfOriginLat, double dfCMeridian,
648  double dfScale,
649  double dfFalseEasting,double dfFalseNorthing);
650 
652 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
653  double dfCenterLat, double dfCenterLong,
654  double dfFalseEasting,
655  double dfFalseNorthing);
656 
658 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
659  double dfCenterLat, double dfCenterLong,
660  double dfFalseEasting, double dfFalseNorthing );
661 
663 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
664  double dfCenterLat, double dfCenterLong,
665  double dfScale,
666  double dfFalseEasting, double dfFalseNorthing);
667 
669 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
670  double dfCenterLong,
671  double dfFalseEasting, double dfFalseNorthing );
672 
674 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
675  double dfCenterLong,
676  double dfFalseEasting,
677  double dfFalseNorthing );
678 
680 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
681  double dfCenterLat, double dfCenterLong,
682  double dfScale,
683  double dfFalseEasting,
684  double dfFalseNorthing);
685 
687 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
688  double dfLatitudeOfOrigin, double dfCentralMeridian,
689  double dfFalseEasting, double dfFalseNorthing );
690 
697 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
698  double dfCenterLat, double dfCenterLong,
699  double dfScale,
700  double dfFalseEasting, double dfFalseNorthing );
701 
703 OGRErr CPL_DLL OSRSetTMVariant(
704  OGRSpatialReferenceH hSRS, const char *pszVariantName,
705  double dfCenterLat, double dfCenterLong,
706  double dfScale,
707  double dfFalseEasting, double dfFalseNorthing );
708 
710 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
711  double dfCenterLat, double dfCenterLong,
712  double dfFalseEasting, double dfFalseNorthing );
713 
715 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
716  double dfCenterLat, double dfCenterLong,
717  double dfScale,
718  double dfFalseEasting, double dfFalseNorthing );
719 
720 OGRErr CPL_DLL OSRSetTPED( OGRSpatialReferenceH hSRS,
721  double dfLat1, double dfLong1,
722  double dfLat2, double dfLong2,
723  double dfFalseEasting, double dfFalseNorthing );
724 
726 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
727  double dfCenterLong,
728  double dfFalseEasting, double dfFalseNorthing );
729 
731 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
732  double dfCenterLat,
733  double dfFalseEasting,
734  double dfFalseNorthing );
735 
737 OGRErr CPL_DLL OSRSetQSC( OGRSpatialReferenceH hSRS,
738  double dfCenterLat, double dfCenterLong );
739 
741 OGRErr CPL_DLL OSRSetSCH( OGRSpatialReferenceH hSRS,
742  double dfPegLat, double dfPegLong,
743  double dfPegHeading, double dfPegHgt);
744 
745 
746 double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
747 double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
748 
749 void CPL_DLL OSRCleanup( void );
750 
751 /* -------------------------------------------------------------------- */
752 /* OGRCoordinateTransform C API. */
753 /* -------------------------------------------------------------------- */
754 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
755 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
756  OGRSpatialReferenceH hTargetSRS );
757 void CPL_DLL CPL_STDCALL
758  OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
759 
760 int CPL_DLL CPL_STDCALL
761 OCTTransform( OGRCoordinateTransformationH hCT,
762  int nCount, double *x, double *y, double *z );
763 
764 int CPL_DLL CPL_STDCALL
765 OCTTransformEx( OGRCoordinateTransformationH hCT,
766  int nCount, double *x, double *y, double *z,
767  int *pabSuccess );
768 
769 /* this is really private to OGR. */
770 char *OCTProj4Normalize( const char *pszProj4Src );
771 
772 void OCTCleanupProjMutex( void );
773 
774 /* -------------------------------------------------------------------- */
775 /* Projection transform dictionary query. */
776 /* -------------------------------------------------------------------- */
777 
778 char CPL_DLL ** OPTGetProjectionMethods( void );
779 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
780  char ** ppszUserName );
781 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
782  const char * pszParameterName,
783  char ** ppszUserName,
784  char ** ppszType,
785  double *pdfDefaultValue );
786 
787 CPL_C_END
788 
789 #endif /* ndef SWIG */
790 
791 #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:3621
void OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:209
OGRSpatialReferenceH OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:545
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Equirectangular generalized form.
Definition: ogrspatialreference.cpp:4295
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
International Map of the World Polyconic.
Definition: ogrspatialreference.cpp:4746
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:2938
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogr_srs_esri.cpp:2021
OGRErr OSRFixup(OGRSpatialReferenceH)
Fixup as needed.
Definition: ogrspatialreference.cpp:6999
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:6088
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:5531
int OPTGetParameterInfo(const char *pszProjectionMethod, const char *pszParameterName, char **ppszUserName, char **ppszType, double *pdfDefaultValue)
Fetch information about a single parameter of a projection method.
Definition: ogr_opt.cpp:604
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
New Zealand Map Grid.
Definition: ogrspatialreference.cpp:5126
OGRErr OSRFixupOrdering(OGRSpatialReferenceH)
Correct parameter ordering to match CT Specification.
Definition: ogrspatialreference.cpp:6926
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Mercator.
Definition: ogrspatialreference.cpp:5015
OGRErr OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2104
OGRErr OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2261
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Orthographic.
Definition: ogrspatialreference.cpp:5198
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Tunesia Mining Grid.
Definition: ogrspatialreference.cpp:3875
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:6259
OGRErr OSRSetHOM2PNO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Hotine Oblique Mercator using two points on centerline.
Definition: ogrspatialreference.cpp:4704
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:286
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Gauss Schreiber Transverse Mercator.
Definition: ogrspatialreference.cpp:4464
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3278
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:2616
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:4567
OGRErr OSRSetOM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Mercator (aka HOM (variant B)
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)
Lambert Azimuthal Equal-Area.
Definition: ogrspatialreference.cpp:4826
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:7258
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
VanDerGrinten.
Definition: ogrspatialreference.cpp:5452
char ** OPTGetProjectionMethods(void)
Fetch list of possible projection methods.
Definition: ogr_opt.cpp:506
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:3336
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:5953
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)
Gnomonic.
Definition: ogrspatialreference.cpp:4501
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
GEOS - Geostationary Satellite View.
Definition: ogrspatialreference.cpp:4425
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ.4 coordinate string.
Definition: ogr_srs_proj4.cpp:344
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equirectangular.
Definition: ogrspatialreference.cpp:4256
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:5798
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator (South Oriented)
Definition: ogrspatialreference.cpp:3838
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert IV.
Definition: ogrspatialreference.cpp:4184
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Miller Cylindrical.
Definition: ogrspatialreference.cpp:4976
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:745
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:944
OGRSpatialReferenceH OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:118
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:6799
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:2886
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:7139
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1295
OGRErr OSRSetKrovak(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfPseudoStdParallelLat, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Krovak Oblique Conic Conformal.
Definition: ogrspatialreference.cpp:4787
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:3206
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert I-VI.
Definition: ogrspatialreference.cpp:4147
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:7551
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator.
Definition: ogrspatialreference.cpp:3718
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Swiss Oblique Cylindrical.
Definition: ogrspatialreference.cpp:5419
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:326
void OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:369
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:6176
OGRErr OSRStripCTParms(OGRSpatialReferenceH)
Strip OGC CT Parameters.
Definition: ogrspatialreference.cpp:6050
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6651
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:6745
OGRSpatialReferenceH OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:6376
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Polyconic.
Definition: ogrspatialreference.cpp:5235
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Polar Stereographic.
Definition: ogrspatialreference.cpp:5271
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Mollweide.
Definition: ogrspatialreference.cpp:5092
OGRErr OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:2123
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3016
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:7280
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)
Hotine Oblique Mercator using azimuth angle.
Definition: ogrspatialreference.cpp:4635
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Interrupted Goode Homolosine.
Definition: ogrspatialreference.cpp:4394
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:1014
Core portability services for cross-platform OGR code.
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:1640
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Wagner I – VII.
Definition: ogrspatialreference.cpp:5660
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:7523
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Albers Conic Equal Area.
Definition: ogrspatialreference.cpp:3913
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogr_srs_validate.cpp:1165
OGRErr OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 format.
Definition: ogr_srs_proj4.cpp:1405
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic (Belgium)
Definition: ogrspatialreference.cpp:4940
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:739
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:6549
OGRErr OSRImportFromOzi(OGRSpatialReferenceH, const char *const *)
Import coordinate system from OziExplorer projection definition.
Definition: ogr_srs_ozi.cpp:60
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:6221
OGRErr OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:680
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:3550
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)
Bonne.
Definition: ogrspatialreference.cpp:3985
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:7407
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Quadrilateralized Spherical Cube.
Definition: ogrspatialreference.cpp:5690
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:494
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:5877
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:7378
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:5608
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, const OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:1865
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2679
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:3684
OGRCoordinateTransformationH OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Create transformation object.
Definition: ogrct.cpp:474
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:1444
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:1766
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Goode Homolosine.
Definition: ogrspatialreference.cpp:4365
OGRErr OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat, double dfPegLong, double dfPegHeading, double dfPegHgt)
Spherical, Cross-track, Height.
Definition: ogrspatialreference.cpp:5721
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:3127
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:6486
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2745
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:6307
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2422
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equidistant Conic.
Definition: ogrspatialreference.cpp:4091
char ** OPTGetParameterList(const char *pszProjectionMethod, char **ppszUserName)
Fetch the parameters for a given projection method.
Definition: ogr_opt.cpp:541
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Sinusoidal.
Definition: ogrspatialreference.cpp:5339
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert VI.
Definition: ogrspatialreference.cpp:4220
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:374
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Robinson.
Definition: ogrspatialreference.cpp:5306
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Azimuthal Equidistant.
Definition: ogrspatialreference.cpp:3950
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:2230
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Gall Stereograpic.
Definition: ogrspatialreference.cpp:4331
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2403
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1318
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator variant.
Definition: ogrspatialreference.cpp:3759
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:2845
OGRErr OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a nicely formatted WKT string for display to a person.
Definition: ogrspatialreference.cpp:628
const char * OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:503
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Stereographic.
Definition: ogrspatialreference.cpp:5376
OGRErr OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:850
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Cassini-Soldner.
Definition: ogrspatialreference.cpp:4053
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic.
Definition: ogrspatialreference.cpp:4863
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:6131
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Stereographic.
Definition: ogrspatialreference.cpp:5162
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogr_srs_esri.cpp:1529
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:7462
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:756
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)
Cylindrical Equal Area.
Definition: ogrspatialreference.cpp:4019
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic 1SP.
Definition: ogrspatialreference.cpp:4901
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:3419
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:2794

Generated for GDAL by doxygen 1.8.9.1.