OGR
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_srs_api.h 27109 2014-03-28 20:26:34Z kyle $
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 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
140 #define SRS_PT_MOLLWEIDE "Mollweide"
141 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
142  "New_Zealand_Map_Grid"
143 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
144  "Oblique_Stereographic"
145 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
146 #define SRS_PT_POLAR_STEREOGRAPHIC \
147  "Polar_Stereographic"
148 #define SRS_PT_POLYCONIC "Polyconic"
149 #define SRS_PT_ROBINSON "Robinson"
150 #define SRS_PT_SINUSOIDAL "Sinusoidal"
151 #define SRS_PT_STEREOGRAPHIC "Stereographic"
152 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
153  "Swiss_Oblique_Cylindrical"
154 #define SRS_PT_TRANSVERSE_MERCATOR \
155  "Transverse_Mercator"
156 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
157  "Transverse_Mercator_South_Orientated"
158 
159 /* special mapinfo variants on Transverse Mercator */
160 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
161  "Transverse_Mercator_MapInfo_21"
162 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
163  "Transverse_Mercator_MapInfo_22"
164 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
165  "Transverse_Mercator_MapInfo_23"
166 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
167  "Transverse_Mercator_MapInfo_24"
168 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
169  "Transverse_Mercator_MapInfo_25"
170 
171 #define SRS_PT_TUNISIA_MINING_GRID \
172  "Tunisia_Mining_Grid"
173 #define SRS_PT_TWO_POINT_EQUIDISTANT \
174  "Two_Point_Equidistant"
175 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
176 #define SRS_PT_KROVAK "Krovak"
177 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
178 #define SRS_PT_WAGNER_I "Wagner_I"
179 #define SRS_PT_WAGNER_II "Wagner_II"
180 #define SRS_PT_WAGNER_III "Wagner_III"
181 #define SRS_PT_WAGNER_IV "Wagner_IV"
182 #define SRS_PT_WAGNER_V "Wagner_V"
183 #define SRS_PT_WAGNER_VI "Wagner_VI"
184 #define SRS_PT_WAGNER_VII "Wagner_VII"
185 
186 
187 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
188 #define SRS_PP_SCALE_FACTOR "scale_factor"
189 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
190 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
191 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
192 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
193 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
194 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
195 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
196 #define SRS_PP_FALSE_EASTING "false_easting"
197 #define SRS_PP_FALSE_NORTHING "false_northing"
198 #define SRS_PP_AZIMUTH "azimuth"
199 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
200 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
201 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
202 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
203 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
204 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
205 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
206 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
207 #define SRS_PP_PATH_NUMBER "path_number"
208 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
209 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
210 #define SRS_PP_FIPSZONE "fipszone"
211 #define SRS_PP_ZONE "zone"
212 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
213 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
214 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
215 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
216 
217 #define SRS_UL_METER "Meter"
218 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
219 #define SRS_UL_FOOT_CONV "0.3048"
220 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
221 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
222 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
223 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
224 #define SRS_UL_LINK "Link" /* Based on US Foot */
225 #define SRS_UL_LINK_CONV "0.20116684023368047"
226 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
227 #define SRS_UL_CHAIN_CONV "20.116684023368047"
228 #define SRS_UL_ROD "Rod" /* based on US Foot */
229 #define SRS_UL_ROD_CONV "5.02921005842012"
230 #define SRS_UL_LINK_Clarke "Link_Clarke"
231 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
232 
233 #define SRS_UL_KILOMETER "Kilometer"
234 #define SRS_UL_KILOMETER_CONV "1000."
235 #define SRS_UL_DECIMETER "Decimeter"
236 #define SRS_UL_DECIMETER_CONV "0.1"
237 #define SRS_UL_CENTIMETER "Centimeter"
238 #define SRS_UL_CENTIMETER_CONV "0.01"
239 #define SRS_UL_MILLIMETER "Millimeter"
240 #define SRS_UL_MILLIMETER_CONV "0.001"
241 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
242 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
243 #define SRS_UL_INTL_INCH "Inch_International"
244 #define SRS_UL_INTL_INCH_CONV "0.0254"
245 #define SRS_UL_INTL_FOOT "Foot_International"
246 #define SRS_UL_INTL_FOOT_CONV "0.3048"
247 #define SRS_UL_INTL_YARD "Yard_International"
248 #define SRS_UL_INTL_YARD_CONV "0.9144"
249 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
250 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
251 #define SRS_UL_INTL_FATHOM "Fathom_International"
252 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
253 #define SRS_UL_INTL_CHAIN "Chain_International"
254 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
255 #define SRS_UL_INTL_LINK "Link_International"
256 #define SRS_UL_INTL_LINK_CONV "0.201168"
257 #define SRS_UL_US_INCH "Inch_US_Surveyor"
258 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
259 #define SRS_UL_US_YARD "Yard_US_Surveyor"
260 #define SRS_UL_US_YARD_CONV "0.914401828803658"
261 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
262 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
263 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
264 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
265 #define SRS_UL_INDIAN_YARD "Yard_Indian"
266 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
267 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
268 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
269 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
270 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
271 
272 #define SRS_UA_DEGREE "degree"
273 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
274 #define SRS_UA_RADIAN "radian"
275 
276 #define SRS_PM_GREENWICH "Greenwich"
277 
278 #define SRS_DN_NAD27 "North_American_Datum_1927"
279 #define SRS_DN_NAD83 "North_American_Datum_1983"
280 #define SRS_DN_WGS72 "WGS_1972"
281 #define SRS_DN_WGS84 "WGS_1984"
282 
283 #define SRS_WGS84_SEMIMAJOR 6378137.0
284 #define SRS_WGS84_INVFLATTENING 298.257223563
285 
286 #ifndef SWIG
287 /* -------------------------------------------------------------------- */
288 /* C Wrappers for C++ objects and methods. */
289 /* -------------------------------------------------------------------- */
290 #ifndef _DEFINED_OGRSpatialReferenceH
291 #define _DEFINED_OGRSpatialReferenceH
292 
293 #ifdef DEBUG
294 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
295 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
296 #else
297 typedef void *OGRSpatialReferenceH;
298 typedef void *OGRCoordinateTransformationH;
299 #endif
300 
301 #endif
302 
303 
304 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
305  OSRNewSpatialReference( const char * /* = NULL */);
306 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
307 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
308 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
309 
310 int CPL_DLL OSRReference( OGRSpatialReferenceH );
311 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
312 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
313 
314 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
315 OGRErr CPL_DLL OSRFixupOrdering( OGRSpatialReferenceH );
316 OGRErr CPL_DLL OSRFixup( OGRSpatialReferenceH );
317 OGRErr CPL_DLL OSRStripCTParms( OGRSpatialReferenceH );
318 
319 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
320 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
321 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
322 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
323 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
324 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
325  const char *, double * );
326 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
327  long, long, double *, long);
328 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
329 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
330  const char * );
331 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
332  double * );
333 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char *, const char *,
334  const char * );
335 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
336 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
337  const char *, const char *, const char * );
338 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
339 
340 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
341 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
342 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
343 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
344  double ** );
345 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
346  double **, long * );
347 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
348 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
349  long *, long *, double * );
350 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
351 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
352 
353 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
354 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
355 
356 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
357  const char * pszNodePath,
358  const char * pszNewNodeValue );
359 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
360  const char * pszName, int iChild /* = 0 */ );
361 
362 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
363 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
364 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
365 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
367  OGRSpatialReferenceH, const char *, double );
368 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
369 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
370 
371 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
372 
373 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
374 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
375 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
376 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
377 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
378 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
379 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
380 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
381 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
382 
383 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
384 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
385 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
386 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
387  const char * pszName );
388 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
389  const char * );
390 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
391  OGRSpatialReferenceH hSrcSRS );
392 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
393  double, double, double,
394  double, double, double, double );
395 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
396 
397 
398 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
399  const char *pszName,
400  OGRSpatialReferenceH hHorizSRS,
401  OGRSpatialReferenceH hVertSRS );
402 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
403  const char * pszGeogName,
404  const char * pszDatumName,
405  const char * pszEllipsoidName,
406  double dfSemiMajor, double dfInvFlattening,
407  const char * pszPMName /* = NULL */,
408  double dfPMOffset /* = 0.0 */,
409  const char * pszUnits /* = NULL */,
410  double dfConvertToRadians /* = 0.0 */ );
411 
412 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
413  const char * pszVertCSName,
414  const char * pszVertDatumName,
415  int nVertDatumType );
416 
417 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
418 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
419 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
420 
421 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
422  const char * pszTargetKey,
423  const char * pszAuthority,
424  int nCode );
425 const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
426  const char * pszTargetKey );
427 const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
428  const char * pszTargetKey );
429 OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
430 OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
431 double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
432  const char * pszParmName,
433  double dfDefault /* = 0.0 */,
434  OGRErr * /* = NULL */ );
435 OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
436 double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
437  const char * pszParmName,
438  double dfDefault /* = 0.0 */,
439  OGRErr * /* = NULL */ );
440 
441 OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
442 int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
443 OGRErr CPL_DLL OSRSetStatePlane( OGRSpatialReferenceH hSRS,
444  int nZone, int bNAD83 );
445 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
446  int nZone, int bNAD83,
447  const char *pszOverrideUnitName,
448  double dfOverrideUnit );
449 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
450 
451 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
452 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
453 const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
454  const char *pszTargetKey, int iAxis,
455  OGRAxisOrientation *peOrientation );
456 OGRErr CPL_DLL OSRSetAxes( const char *pszTargetKey,
457  const char *pszXAxisName,
458  OGRAxisOrientation eXAxisOrientation,
459  const char *pszYAxisName,
460  OGRAxisOrientation eYAxisOrientation );
462 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
463  double dfCenterLat, double dfCenterLong,
464  double dfFalseEasting, double dfFalseNorthing );
465 
467 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
468  double dfFalseEasting, double dfFalseNorthing );
469 
471 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
472  double dfStandardParallel, double dfCentralMeridian,
473  double dfFalseEasting, double dfFalseNorthing );
474 
476 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
477  double dfFalseEasting, double dfFalseNorthing );
478 
480 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
481  double dfFalseEasting, double dfFalseNorthing );
482 
484 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
485  double dfCenterLat, double dfCenterLong,
486  double dfFalseEasting, double dfFalseNorthing );
487 
489 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
490  double dfCentralMeridian,
491  double dfFalseEasting, double dfFalseNorthing );
492 
494 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
495  double dfFalseEasting, double dfFalseNorthing );
496 
498 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
499  double dfFalseEasting, double dfFalseNorthing );
500 
502 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
503  double dfCenterLat, double dfCenterLong,
504  double dfFalseEasting, double dfFalseNorthing );
505 
507 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
508  double dfCenterLat, double dfCenterLong,
509  double dfPseudoStdParallel1,
510  double dfFalseEasting,
511  double dfFalseNorthing );
512 
514 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
515  double dfFalseEasting, double dfFalseNorthing );
516 
518 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
519  double dfFalseEasting, double dfFalseNorthing );
520 
522 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
523 
525 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
526  double dfCentralMeridian, double dfSatelliteHeight,
527  double dfFalseEasting, double dfFalseNorthing );
528 
530 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
531  double dfCenterLat, double dfCenterLong,
532  double dfScale,
533  double dfFalseEasting,
534  double dfFalseNorthing );
536 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
537  double dfCenterLat, double dfCenterLong,
538  double dfFalseEasting, double dfFalseNorthing );
539 
541 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
542  double dfCenterLat, double dfCenterLong,
543  double dfAzimuth, double dfRectToSkew,
544  double dfScale,
545  double dfFalseEasting, double dfFalseNorthing );
546 
548 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
549  double dfCenterLat, double dfCenterLong,
550  double dfAzimuth, double dfRectToSkew,
551  double dfScale,
552  double dfFalseEasting, double dfFalseNorthing );
553 
555 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
556  double dfLat1, double dfLong1,
557  double dfLat2, double dfLong2,
558  double dfScale,
559  double dfFalseEasting, double dfFalseNorthing );
560 
562 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
563  double dfLat1, double dfLat2,
564  double dfCenterLong,
565  double dfFalseEasting,
566  double dfFalseNorthing );
567 
569 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
570  double dfCenterLat, double dfCenterLong,
571  double dfAzimuth, double dfPseudoStdParallelLat,
572  double dfScale,
573  double dfFalseEasting, double dfFalseNorthing );
574 
576 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
577  double dfCenterLat, double dfCenterLong,
578  double dfFalseEasting, double dfFalseNorthing );
579 
581 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
582  double dfStdP1, double dfStdP2,
583  double dfCenterLat, double dfCenterLong,
584  double dfFalseEasting, double dfFalseNorthing );
585 
587 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
588  double dfCenterLat, double dfCenterLong,
589  double dfScale,
590  double dfFalseEasting, double dfFalseNorthing );
591 
593 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
594  double dfStdP1, double dfStdP2,
595  double dfCenterLat, double dfCenterLong,
596  double dfFalseEasting, double dfFalseNorthing );
597 
599 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
600  double dfCenterLat, double dfCenterLong,
601  double dfFalseEasting, double dfFalseNorthing );
602 
604 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
605  double dfCenterLat, double dfCenterLong,
606  double dfScale,
607  double dfFalseEasting, double dfFalseNorthing );
608 
610 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
611  double dfCentralMeridian,
612  double dfFalseEasting,
613  double dfFalseNorthing );
614 
616 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
617  double dfCenterLat, double dfCenterLong,
618  double dfFalseEasting, double dfFalseNorthing );
619 
621 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
622  double dfOriginLat, double dfCMeridian,
623  double dfScale,
624  double dfFalseEasting,double dfFalseNorthing);
625 
627 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
628  double dfCenterLat, double dfCenterLong,
629  double dfFalseEasting,
630  double dfFalseNorthing);
631 
633 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
634  double dfCenterLat, double dfCenterLong,
635  double dfFalseEasting, double dfFalseNorthing );
636 
638 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
639  double dfCenterLat, double dfCenterLong,
640  double dfScale,
641  double dfFalseEasting, double dfFalseNorthing);
642 
644 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
645  double dfCenterLong,
646  double dfFalseEasting, double dfFalseNorthing );
647 
649 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
650  double dfCenterLong,
651  double dfFalseEasting,
652  double dfFalseNorthing );
653 
655 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
656  double dfCenterLat, double dfCenterLong,
657  double dfScale,
658  double dfFalseEasting,
659  double dfFalseNorthing);
660 
662 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
663  double dfLatitudeOfOrigin, double dfCentralMeridian,
664  double dfFalseEasting, double dfFalseNorthing );
665 
672 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
673  double dfCenterLat, double dfCenterLong,
674  double dfScale,
675  double dfFalseEasting, double dfFalseNorthing );
676 
678 OGRErr CPL_DLL OSRSetTMVariant(
679  OGRSpatialReferenceH hSRS, const char *pszVariantName,
680  double dfCenterLat, double dfCenterLong,
681  double dfScale,
682  double dfFalseEasting, double dfFalseNorthing );
683 
685 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
686  double dfCenterLat, double dfCenterLong,
687  double dfFalseEasting, double dfFalseNorthing );
688 
690 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
691  double dfCenterLat, double dfCenterLong,
692  double dfScale,
693  double dfFalseEasting, double dfFalseNorthing );
694 
696 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
697  double dfCenterLong,
698  double dfFalseEasting, double dfFalseNorthing );
699 
701 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
702  double dfFalseEasting,
703  double dfFalseNorthing );
704 
705 void CPL_DLL OSRCleanup( void );
706 
707 /* -------------------------------------------------------------------- */
708 /* OGRCoordinateTransform C API. */
709 /* -------------------------------------------------------------------- */
710 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
711 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
712  OGRSpatialReferenceH hTargetSRS );
713 void CPL_DLL CPL_STDCALL
714  OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
715 
716 int CPL_DLL CPL_STDCALL
717 OCTTransform( OGRCoordinateTransformationH hCT,
718  int nCount, double *x, double *y, double *z );
719 
720 int CPL_DLL CPL_STDCALL
721 OCTTransformEx( OGRCoordinateTransformationH hCT,
722  int nCount, double *x, double *y, double *z,
723  int *pabSuccess );
724 
725 /* this is really private to OGR. */
726 char *OCTProj4Normalize( const char *pszProj4Src );
727 
728 void OCTCleanupProjMutex( void );
729 
730 /* -------------------------------------------------------------------- */
731 /* Projection transform dictionary query. */
732 /* -------------------------------------------------------------------- */
733 
734 char CPL_DLL ** OPTGetProjectionMethods( void );
735 char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
736  char ** ppszUserName );
737 int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
738  const char * pszParameterName,
739  char ** ppszUserName,
740  char ** ppszType,
741  double *pdfDefaultValue );
742 
743 CPL_C_END
744 
745 #endif /* ndef SWIG */
746 
747 #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:504
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:1870
OGRErr OSRFixup(OGRSpatialReferenceH)
Fixup as needed.
Definition: ogrspatialreference.cpp:6973
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:6054
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:586
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:6900
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:1143
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:6224
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:282
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:2636
OGRErr CPL_STDCALL OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:681
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:1379
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:547
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:7232
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:5483
char ** OPTGetProjectionMethods(void)
Definition: ogr_opt.cpp:488
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:5917
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1092
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:260
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:5764
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:851
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:756
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:946
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:6774
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:2907
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:7114
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1294
void CPL_STDCALL OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:340
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:6341
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:322
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:6142
OGRErr OSRStripCTParms(OGRSpatialReferenceH)
Strip OGC CT Parameters.
Definition: ogrspatialreference.cpp:6016
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6622
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:6719
OGRErr CPL_STDCALL OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2283
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:7254
OGRSpatialReferenceH CPL_STDCALL OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:113
void CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:205
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:788
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:1015
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 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:1142
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:1865
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:747
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:6516
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:6186
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:7380
OGRCoordinateTransformationH CPL_STDCALL OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Definition: ogrct.cpp:445
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:492
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:5843
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:2699
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:1443
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:1764
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:6451
OGRErr CPL_STDCALL OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2123
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2764
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:1246
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:6271
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2443
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:523
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:2127
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:370
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:627
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:2236
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:2425
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1330
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Definition: ogrspatialreference.cpp:3790
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:2861
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:6097
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:1452
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:7435
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:757
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfFalseEasting, double dfFalseNorthing)
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp: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:2808

Generated for GDAL by doxygen 1.8.8.