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