GDAL
ogr_srs_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id$
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 spatialys.com>
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 #include <stdbool.h>
35 
36 #ifndef SWIG
37 #include "ogr_core.h"
38 
40 
50 typedef enum
51 {
52  OAO_Other = 0,
53  OAO_North = 1,
54  OAO_South = 2,
55  OAO_East = 3,
56  OAO_West = 4,
57  OAO_Up = 5,
58  OAO_Down = 6
60 
61 const char CPL_DLL *OSRAxisEnumToName(OGRAxisOrientation eOrientation);
62 
63 #endif // ndef SWIG
64 
65 /* ==================================================================== */
66 /* Some standard WKT geographic coordinate systems. */
67 /* ==================================================================== */
68 
69 #ifdef USE_DEPRECATED_SRS_WKT_WGS84
70 #define SRS_WKT_WGS84 \
71  "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS " \
72  "84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[" \
73  "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]]" \
74  ",UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]," \
75  "AUTHORITY[\"EPSG\",\"4326\"]]"
76 #endif
77 
79 #define SRS_WKT_WGS84_LAT_LONG \
80  "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS " \
81  "84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[" \
82  "\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]]" \
83  ",UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[" \
84  "\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\"," \
85  "\"4326\"]]"
86 
87 /* ==================================================================== */
88 /* Some "standard" strings. */
89 /* ==================================================================== */
90 
92 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA "Albers_Conic_Equal_Area"
93 
94 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
95 
96 #define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
97 
98 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
99 
100 #define SRS_PT_BONNE "Bonne"
101 
102 #define SRS_PT_ECKERT_I "Eckert_I"
103 
104 #define SRS_PT_ECKERT_II "Eckert_II"
105 
106 #define SRS_PT_ECKERT_III "Eckert_III"
107 
108 #define SRS_PT_ECKERT_IV "Eckert_IV"
109 
110 #define SRS_PT_ECKERT_V "Eckert_V"
111 
112 #define SRS_PT_ECKERT_VI "Eckert_VI"
113 
114 #define SRS_PT_EQUIDISTANT_CONIC "Equidistant_Conic"
115 
116 #define SRS_PT_EQUIRECTANGULAR "Equirectangular"
117 
118 #define SRS_PT_GALL_STEREOGRAPHIC "Gall_Stereographic"
119 
120 #define SRS_PT_GAUSSSCHREIBERTMERCATOR "Gauss_Schreiber_Transverse_Mercator"
121 
122 #define SRS_PT_GEOSTATIONARY_SATELLITE "Geostationary_Satellite"
123 
124 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
125 
126 #define SRS_PT_IGH "Interrupted_Goode_Homolosine"
127 
128 #define SRS_PT_GNOMONIC "Gnomonic"
129 
130 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \
131  "Hotine_Oblique_Mercator_Azimuth_Center"
132 
133 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR "Hotine_Oblique_Mercator"
134 
135 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
136  "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
137 
138 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR "Laborde_Oblique_Mercator"
139 
140 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP "Lambert_Conformal_Conic_1SP"
141 
142 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP "Lambert_Conformal_Conic_2SP"
143 
144 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
145  "Lambert_Conformal_Conic_2SP_Belgium"
146 
147 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA "Lambert_Azimuthal_Equal_Area"
148 
149 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
150 
151 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
152 
153 #define SRS_PT_MERCATOR_AUXILIARY_SPHERE "Mercator_Auxiliary_Sphere"
154 
155 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
156 
157 #define SRS_PT_MOLLWEIDE "Mollweide"
158 
159 #define SRS_PT_NEW_ZEALAND_MAP_GRID "New_Zealand_Map_Grid"
160 
161 #define SRS_PT_OBLIQUE_STEREOGRAPHIC "Oblique_Stereographic"
162 
163 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
164 
165 #define SRS_PT_POLAR_STEREOGRAPHIC "Polar_Stereographic"
166 
167 #define SRS_PT_POLYCONIC "Polyconic"
168 
169 #define SRS_PT_ROBINSON "Robinson"
170 
171 #define SRS_PT_SINUSOIDAL "Sinusoidal"
172 
173 #define SRS_PT_STEREOGRAPHIC "Stereographic"
174 
175 #define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL "Swiss_Oblique_Cylindrical"
176 
177 #define SRS_PT_TRANSVERSE_MERCATOR "Transverse_Mercator"
178 
179 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
180  "Transverse_Mercator_South_Orientated"
181 
182 /* special mapinfo variants on Transverse Mercator */
184 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 "Transverse_Mercator_MapInfo_21"
185 
186 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 "Transverse_Mercator_MapInfo_22"
187 
188 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 "Transverse_Mercator_MapInfo_23"
189 
190 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 "Transverse_Mercator_MapInfo_24"
191 
192 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 "Transverse_Mercator_MapInfo_25"
193 
195 #define SRS_PT_TUNISIA_MINING_GRID "Tunisia_Mining_Grid"
196 
197 #define SRS_PT_TWO_POINT_EQUIDISTANT "Two_Point_Equidistant"
198 
199 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
200 
201 #define SRS_PT_KROVAK "Krovak"
202 
203 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
204 
205 #define SRS_PT_WAGNER_I "Wagner_I"
206 
207 #define SRS_PT_WAGNER_II "Wagner_II"
208 
209 #define SRS_PT_WAGNER_III "Wagner_III"
210 
211 #define SRS_PT_WAGNER_IV "Wagner_IV"
212 
213 #define SRS_PT_WAGNER_V "Wagner_V"
214 
215 #define SRS_PT_WAGNER_VI "Wagner_VI"
216 
217 #define SRS_PT_WAGNER_VII "Wagner_VII"
218 
219 #define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
220 
221 #define SRS_PT_AITOFF "Aitoff"
222 
223 #define SRS_PT_WINKEL_I "Winkel_I"
224 
225 #define SRS_PT_WINKEL_II "Winkel_II"
226 
227 #define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
228 
229 #define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
230 
231 #define SRS_PT_LOXIMUTHAL "Loximuthal"
232 
233 #define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
234 
235 #define SRS_PT_SCH "Spherical_Cross_Track_Height"
236 
238 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
239 
240 #define SRS_PP_SCALE_FACTOR "scale_factor"
241 
242 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
243 
244 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
245 
246 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
247 
248 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
249 
250 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
251 
252 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
253 
254 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
255 
256 #define SRS_PP_FALSE_EASTING "false_easting"
257 
258 #define SRS_PP_FALSE_NORTHING "false_northing"
259 
260 #define SRS_PP_AZIMUTH "azimuth"
261 
262 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
263 
264 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
265 
266 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
267 
268 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
269 
270 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
271 
272 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
273 
274 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
275 
276 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
277 
278 #define SRS_PP_PATH_NUMBER "path_number"
279 
280 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
281 
282 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
283 
284 #define SRS_PP_FIPSZONE "fipszone"
285 
286 #define SRS_PP_ZONE "zone"
287 
288 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
289 
290 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
291 
292 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
293 
294 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
295 
296 #define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude"
297 
298 #define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude"
299 
300 #define SRS_PP_PEG_POINT_HEADING "peg_point_heading"
301 
302 #define SRS_PP_PEG_POINT_HEIGHT "peg_point_height"
303 
305 #define SRS_UL_METER "Meter"
306 
307 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
308 
309 #define SRS_UL_FOOT_CONV "0.3048"
310 
311 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
312 
313 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
314 
315 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
316 
317 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
318 
319 #define SRS_UL_LINK "Link" /* Based on US Foot */
320 
321 #define SRS_UL_LINK_CONV "0.20116684023368047"
322 
323 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
324 
325 #define SRS_UL_CHAIN_CONV "20.116684023368047"
326 
327 #define SRS_UL_ROD "Rod" /* based on US Foot */
328 
329 #define SRS_UL_ROD_CONV "5.02921005842012"
330 
331 #define SRS_UL_LINK_Clarke "Link_Clarke"
332 
333 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
334 
336 #define SRS_UL_KILOMETER "Kilometer"
337 
338 #define SRS_UL_KILOMETER_CONV "1000."
339 
340 #define SRS_UL_DECIMETER "Decimeter"
341 
342 #define SRS_UL_DECIMETER_CONV "0.1"
343 
344 #define SRS_UL_CENTIMETER "Centimeter"
345 
346 #define SRS_UL_CENTIMETER_CONV "0.01"
347 
348 #define SRS_UL_MILLIMETER "Millimeter"
349 
350 #define SRS_UL_MILLIMETER_CONV "0.001"
351 
352 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
353 
354 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
355 
356 #define SRS_UL_INTL_INCH "Inch_International"
357 
358 #define SRS_UL_INTL_INCH_CONV "0.0254"
359 
360 #define SRS_UL_INTL_FOOT "Foot_International"
361 
362 #define SRS_UL_INTL_FOOT_CONV "0.3048"
363 
364 #define SRS_UL_INTL_YARD "Yard_International"
365 
366 #define SRS_UL_INTL_YARD_CONV "0.9144"
367 
368 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
369 
370 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
371 
372 #define SRS_UL_INTL_FATHOM "Fathom_International"
373 
374 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
375 
376 #define SRS_UL_INTL_CHAIN "Chain_International"
377 
378 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
379 
380 #define SRS_UL_INTL_LINK "Link_International"
381 
382 #define SRS_UL_INTL_LINK_CONV "0.201168"
383 
384 #define SRS_UL_US_INCH "Inch_US_Surveyor"
385 
386 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
387 
388 #define SRS_UL_US_YARD "Yard_US_Surveyor"
389 
390 #define SRS_UL_US_YARD_CONV "0.914401828803658"
391 
392 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
393 
394 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
395 
396 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
397 
398 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
399 
400 #define SRS_UL_INDIAN_YARD "Yard_Indian"
401 
402 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
403 
404 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
405 
406 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
407 
408 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
409 
410 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
411 
413 #define SRS_UA_DEGREE "degree"
414 
415 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
416 
417 #define SRS_UA_RADIAN "radian"
418 
420 #define SRS_PM_GREENWICH "Greenwich"
421 
423 #define SRS_DN_NAD27 "North_American_Datum_1927"
424 
425 #define SRS_DN_NAD83 "North_American_Datum_1983"
426 
427 #define SRS_DN_WGS72 "WGS_1972"
428 
429 #define SRS_DN_WGS84 "WGS_1984"
430 
432 #define SRS_WGS84_SEMIMAJOR 6378137.0
433 
434 #define SRS_WGS84_INVFLATTENING 298.257223563
435 
436 #ifndef SWIG
437 /* -------------------------------------------------------------------- */
438 /* C Wrappers for C++ objects and methods. */
439 /* -------------------------------------------------------------------- */
440 #ifndef DEFINED_OGRSpatialReferenceH
441 
442 #define DEFINED_OGRSpatialReferenceH
443 
445 #ifdef DEBUG
446 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
447 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
448 #else
449 
450 typedef void *OGRSpatialReferenceH;
453 #endif
454 
455 #endif
456 
457 void CPL_DLL OSRSetPROJSearchPaths(const char *const *papszPaths);
458 char CPL_DLL **OSRGetPROJSearchPaths(void);
459 void CPL_DLL OSRSetPROJAuxDbPaths(const char *const *papszPaths);
460 char CPL_DLL **OSRGetPROJAuxDbPaths(void);
461 void CPL_DLL OSRSetPROJEnableNetwork(int enabled);
462 int CPL_DLL OSRGetPROJEnableNetwork(void);
463 void CPL_DLL OSRGetPROJVersion(int *pnMajor, int *pnMinor, int *pnPatch);
464 
465 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
466 OSRNewSpatialReference(const char * /* = NULL */);
469 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);
470 
473 void CPL_DLL OSRRelease(OGRSpatialReferenceH);
474 
476 
477 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG(OGRSpatialReferenceH, int);
478 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA(OGRSpatialReferenceH, int);
480 OGRErr CPL_DLL OSRImportFromProj4(OGRSpatialReferenceH, const char *);
482 OGRErr CPL_DLL OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *,
483  const char *, double *);
484 OGRErr CPL_DLL OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *,
485  long);
486 OGRErr CPL_DLL OSRImportFromXML(OGRSpatialReferenceH, const char *);
487 OGRErr CPL_DLL OSRImportFromDict(OGRSpatialReferenceH, const char *,
488  const char *);
489 OGRErr CPL_DLL OSRImportFromPanorama(OGRSpatialReferenceH, long, long, long,
490  double *);
491 OGRErr CPL_DLL OSRImportFromOzi(OGRSpatialReferenceH, const char *const *);
493 OGRErr CPL_DLL OSRImportFromERM(OGRSpatialReferenceH, const char *,
494  const char *, const char *);
495 OGRErr CPL_DLL OSRImportFromUrl(OGRSpatialReferenceH, const char *);
496 
497 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt(OGRSpatialReferenceH, char **);
498 OGRErr CPL_DLL OSRExportToWktEx(OGRSpatialReferenceH, char **ppszResult,
499  const char *const *papszOptions);
500 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt(OGRSpatialReferenceH, char **,
501  int);
502 OGRErr CPL_DLL OSRExportToPROJJSON(OGRSpatialReferenceH hSRS, char **ppszReturn,
503  const char *const *papszOptions);
504 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4(OGRSpatialReferenceH, char **);
505 OGRErr CPL_DLL OSRExportToPCI(OGRSpatialReferenceH, char **, char **,
506  double **);
507 OGRErr CPL_DLL OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **,
508  long *);
509 OGRErr CPL_DLL OSRExportToXML(OGRSpatialReferenceH, char **, const char *);
510 OGRErr CPL_DLL OSRExportToPanorama(OGRSpatialReferenceH, long *, long *, long *,
511  long *, double *);
513 OGRErr CPL_DLL OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *);
514 
517 
519 
521  OGRSpatialReferenceH hSRS, const char *pszTargetProjection,
522  const char *const *papszOptions);
523 
524 const char CPL_DLL *OSRGetName(OGRSpatialReferenceH hSRS);
525 
526 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue(OGRSpatialReferenceH hSRS,
527  const char *pszNodePath,
528  const char *pszNewNodeValue);
529 const char CPL_DLL *CPL_STDCALL OSRGetAttrValue(OGRSpatialReferenceH hSRS,
530  const char *pszName,
531  int iChild /* = 0 */);
532 
533 OGRErr CPL_DLL OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double);
534 double CPL_DLL OSRGetAngularUnits(OGRSpatialReferenceH, char **);
535 OGRErr CPL_DLL OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double);
537  const char *, double);
539  const char *, double);
540 double CPL_DLL OSRGetLinearUnits(OGRSpatialReferenceH, char **);
541 double CPL_DLL OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *,
542  char **);
543 
544 double CPL_DLL OSRGetPrimeMeridian(OGRSpatialReferenceH, char **);
545 
548 int CPL_DLL OSRIsLocal(OGRSpatialReferenceH);
559  const char *const *papszOptions);
560 
562  double dfCoordinateEpoch);
563 double CPL_DLL OSRGetCoordinateEpoch(OGRSpatialReferenceH hSRS);
564 
565 OGRErr CPL_DLL OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName);
566 OGRErr CPL_DLL OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName);
567 OGRErr CPL_DLL OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName);
569  const char *pszName);
570 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput(OGRSpatialReferenceH hSRS,
571  const char *);
573  const OGRSpatialReferenceH hSrcSRS);
574 OGRErr CPL_DLL OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double,
575  double, double, double, double);
576 OGRErr CPL_DLL OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int);
578 
579 OGRErr CPL_DLL OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName,
580  OGRSpatialReferenceH hHorizSRS,
581  OGRSpatialReferenceH hVertSRS);
582 OGRErr CPL_DLL OSRPromoteTo3D(OGRSpatialReferenceH hSRS, const char *pszName);
583 OGRErr CPL_DLL OSRDemoteTo2D(OGRSpatialReferenceH hSRS, const char *pszName);
584 
585 OGRErr CPL_DLL OSRSetGeogCS(OGRSpatialReferenceH hSRS, const char *pszGeogName,
586  const char *pszDatumName,
587  const char *pszEllipsoidName, double dfSemiMajor,
588  double dfInvFlattening,
589  const char *pszPMName /* = NULL */,
590  double dfPMOffset /* = 0.0 */,
591  const char *pszUnits /* = NULL */,
592  double dfConvertToRadians /* = 0.0 */);
593 
595  const char *pszVertCSName,
596  const char *pszVertDatumName, int nVertDatumType);
597 
598 double CPL_DLL OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr * /* = NULL */);
599 double CPL_DLL OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr * /* = NULL */);
600 double CPL_DLL OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr * /*=NULL*/);
601 
603  const char *pszTargetKey,
604  const char *pszAuthority, int nCode);
605 const char CPL_DLL *OSRGetAuthorityCode(OGRSpatialReferenceH hSRS,
606  const char *pszTargetKey);
607 const char CPL_DLL *OSRGetAuthorityName(OGRSpatialReferenceH hSRS,
608  const char *pszTargetKey);
609 
610 int CPL_DLL OSRGetAreaOfUse(OGRSpatialReferenceH hSRS,
611  double *pdfWestLongitudeDeg,
612  double *pdfSouthLatitudeDeg,
613  double *pdfEastLongitudeDeg,
614  double *pdfNorthLatitudeDeg,
615  const char **ppszAreaName);
616 
617 OGRErr CPL_DLL OSRSetProjection(OGRSpatialReferenceH, const char *);
618 OGRErr CPL_DLL OSRSetProjParm(OGRSpatialReferenceH, const char *, double);
619 double CPL_DLL OSRGetProjParm(OGRSpatialReferenceH hSRS,
620  const char *pszParamName,
621  double dfDefault /* = 0.0 */,
622  OGRErr * /* = NULL */);
623 OGRErr CPL_DLL OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double);
624 double CPL_DLL OSRGetNormProjParm(OGRSpatialReferenceH hSRS,
625  const char *pszParamName,
626  double dfDefault /* = 0.0 */,
627  OGRErr * /* = NULL */);
628 
629 OGRErr CPL_DLL OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth);
630 int CPL_DLL OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth);
631 OGRErr CPL_DLL OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone,
632  int bNAD83);
634  int bNAD83,
635  const char *pszOverrideUnitName,
636  double dfOverrideUnit);
638 
640  char **papszOptions,
641  int *pnEntries,
642  int **ppanMatchConfidence);
643 void CPL_DLL OSRFreeSRSArray(OGRSpatialReferenceH *pahSRS);
644 
647 const char CPL_DLL *OSRGetAxis(OGRSpatialReferenceH hSRS,
648  const char *pszTargetKey, int iAxis,
649  OGRAxisOrientation *peOrientation);
650 int CPL_DLL OSRGetAxesCount(OGRSpatialReferenceH hSRS);
651 OGRErr CPL_DLL OSRSetAxes(OGRSpatialReferenceH hSRS, const char *pszTargetKey,
652  const char *pszXAxisName,
653  OGRAxisOrientation eXAxisOrientation,
654  const char *pszYAxisName,
655  OGRAxisOrientation eYAxisOrientation);
656 
658 typedef enum
659 {
665 
668 
670  OSRAxisMappingStrategy strategy);
671 
673  int *pnCount);
674 
676  int nMappingSize,
677  const int *panMapping);
678 
680 OGRErr CPL_DLL OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1,
681  double dfStdP2, double dfCenterLat,
682  double dfCenterLong, double dfFalseEasting,
683  double dfFalseNorthing);
684 
686 OGRErr CPL_DLL OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat,
687  double dfCenterLong, double dfFalseEasting,
688  double dfFalseNorthing);
689 
691 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel,
692  double dfCentralMeridian, double dfFalseEasting,
693  double dfFalseNorthing);
694 
696 OGRErr CPL_DLL OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1,
697  double dfCentralMeridian, double dfFalseEasting,
698  double dfFalseNorthing);
699 
701 OGRErr CPL_DLL OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat,
702  double dfCenterLong, double dfFalseEasting,
703  double dfFalseNorthing);
704 
706 OGRErr CPL_DLL OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1,
707  double dfStdP2, double dfCenterLat, double dfCenterLong,
708  double dfFalseEasting, double dfFalseNorthing);
709 
711 OGRErr CPL_DLL OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation,
712  double dfCentralMeridian, double dfFalseEasting,
713  double dfFalseNorthing);
714 
717  double dfCentralMeridian, double dfFalseEasting,
718  double dfFalseNorthing);
719 
722  double dfCentralMeridian, double dfFalseEasting,
723  double dfFalseNorthing);
724 
727  double dfCenterLat, double dfCenterLong,
728  double dfFalseEasting,
729  double dfFalseNorthing);
730 
733  double dfCenterLat, double dfCenterLong,
734  double dfPseudoStdParallel1,
735  double dfFalseEasting,
736  double dfFalseNorthing);
737 
739 OGRErr CPL_DLL OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian,
740  double dfFalseEasting, double dfFalseNorthing);
741 
743 OGRErr CPL_DLL OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian,
744  double dfFalseEasting, double dfFalseNorthing);
745 
748 
750 OGRErr CPL_DLL OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian,
751  double dfSatelliteHeight, double dfFalseEasting,
752  double dfFalseNorthing);
753 
756  OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
757  double dfScale, double dfFalseEasting, double dfFalseNorthing);
759 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat,
760  double dfCenterLong, double dfFalseEasting,
761  double dfFalseNorthing);
762 
763 #ifdef undef
764 
765 OGRErr CPL_DLL OSRSetOM(OGRSpatialReferenceH hSRS, double dfCenterLat,
766  double dfCenterLong, double dfAzimuth,
767  double dfRectToSkew, double dfScale,
768  double dfFalseEasting, double dfFalseNorthing);
769 #endif
770 
772 OGRErr CPL_DLL OSRSetHOM(OGRSpatialReferenceH hSRS, double dfCenterLat,
773  double dfCenterLong, double dfAzimuth,
774  double dfRectToSkew, double dfScale,
775  double dfFalseEasting, double dfFalseNorthing);
776 
777 OGRErr CPL_DLL OSRSetHOMAC(OGRSpatialReferenceH hSRS, double dfCenterLat,
778  double dfCenterLong, double dfAzimuth,
779  double dfRectToSkew, double dfScale,
780  double dfFalseEasting, double dfFalseNorthing);
781 
783 OGRErr CPL_DLL OSRSetHOM2PNO(OGRSpatialReferenceH hSRS, double dfCenterLat,
784  double dfLat1, double dfLong1, double dfLat2,
785  double dfLong2, double dfScale,
786  double dfFalseEasting, double dfFalseNorthing);
787 
789 OGRErr CPL_DLL OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1,
790  double dfLat2, double dfCenterLong,
791  double dfFalseEasting,
792  double dfFalseNorthing);
793 
795 OGRErr CPL_DLL OSRSetKrovak(OGRSpatialReferenceH hSRS, double dfCenterLat,
796  double dfCenterLong, double dfAzimuth,
797  double dfPseudoStdParallelLat, double dfScale,
798  double dfFalseEasting, double dfFalseNorthing);
799 
801 OGRErr CPL_DLL OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat,
802  double dfCenterLong, double dfFalseEasting,
803  double dfFalseNorthing);
804 
806 OGRErr CPL_DLL OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1,
807  double dfStdP2, double dfCenterLat,
808  double dfCenterLong, double dfFalseEasting,
809  double dfFalseNorthing);
810 
812 OGRErr CPL_DLL OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat,
813  double dfCenterLong, double dfScale,
814  double dfFalseEasting, double dfFalseNorthing);
815 
817 OGRErr CPL_DLL OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1,
818  double dfStdP2, double dfCenterLat,
819  double dfCenterLong, double dfFalseEasting,
820  double dfFalseNorthing);
821 
823 OGRErr CPL_DLL OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat,
824  double dfCenterLong, double dfFalseEasting,
825  double dfFalseNorthing);
826 
828 OGRErr CPL_DLL OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat,
829  double dfCenterLong, double dfScale,
830  double dfFalseEasting, double dfFalseNorthing);
831 
833 OGRErr CPL_DLL OSRSetMercator2SP(OGRSpatialReferenceH hSRS, double dfStdP1,
834  double dfCenterLat, double dfCenterLong,
835  double dfFalseEasting, double dfFalseNorthing);
836 
839  double dfCentralMeridian, double dfFalseEasting,
840  double dfFalseNorthing);
841 
843 OGRErr CPL_DLL OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat,
844  double dfCenterLong, double dfFalseEasting,
845  double dfFalseNorthing);
846 
848 OGRErr CPL_DLL OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat,
849  double dfCMeridian, double dfScale,
850  double dfFalseEasting, double dfFalseNorthing);
851 
853 OGRErr CPL_DLL OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat,
854  double dfCenterLong, double dfFalseEasting,
855  double dfFalseNorthing);
856 
858 OGRErr CPL_DLL OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat,
859  double dfCenterLong, double dfFalseEasting,
860  double dfFalseNorthing);
861 
863 OGRErr CPL_DLL OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat,
864  double dfCenterLong, double dfScale,
865  double dfFalseEasting, double dfFalseNorthing);
866 
868 OGRErr CPL_DLL OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong,
869  double dfFalseEasting, double dfFalseNorthing);
870 
872 OGRErr CPL_DLL OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong,
873  double dfFalseEasting, double dfFalseNorthing);
874 
877  double dfCenterLat, double dfCenterLong,
878  double dfScale, double dfFalseEasting,
879  double dfFalseNorthing);
880 
882 OGRErr CPL_DLL OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin,
883  double dfCentralMeridian, double dfFalseEasting,
884  double dfFalseNorthing);
885 
892 OGRErr CPL_DLL OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat,
893  double dfCenterLong, double dfScale,
894  double dfFalseEasting, double dfFalseNorthing);
895 
898  const char *pszVariantName, double dfCenterLat,
899  double dfCenterLong, double dfScale,
900  double dfFalseEasting, double dfFalseNorthing);
901 
903 OGRErr CPL_DLL OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat,
904  double dfCenterLong, double dfFalseEasting,
905  double dfFalseNorthing);
906 
908 OGRErr CPL_DLL OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat,
909  double dfCenterLong, double dfScale,
910  double dfFalseEasting, double dfFalseNorthing);
911 
913 OGRErr CPL_DLL OSRSetTPED(OGRSpatialReferenceH hSRS, double dfLat1,
914  double dfLong1, double dfLat2, double dfLong2,
915  double dfFalseEasting, double dfFalseNorthing);
916 
918 OGRErr CPL_DLL OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong,
919  double dfFalseEasting, double dfFalseNorthing);
920 
922 OGRErr CPL_DLL OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation,
923  double dfCenterLat, double dfFalseEasting,
924  double dfFalseNorthing);
925 
927 OGRErr CPL_DLL OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat,
928  double dfCenterLong);
929 
931 OGRErr CPL_DLL OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat,
932  double dfPegLong, double dfPegHeading,
933  double dfPegHgt);
934 
937  OGRSpatialReferenceH hSRS, double dfTopoOriginLat, double dfTopoOriginLon,
938  double dfTopoOriginHeight, double dfViewPointHeight, double dfFalseEasting,
939  double dfFalseNorthing);
940 
941 double CPL_DLL OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor);
942 double CPL_DLL OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor,
943  double dfInvFlattening);
944 
945 void CPL_DLL OSRCleanup(void);
946 
948 typedef enum
949 {
964 } OSRCRSType;
965 
971 typedef struct
972 {
974  char *pszAuthName;
976  char *pszCode;
978  char *pszName;
995  char *pszAreaName;
999 } OSRCRSInfo;
1000 
1007 
1008 OSRCRSInfo CPL_DLL **
1009 OSRGetCRSInfoListFromDatabase(const char *pszAuthName,
1010  const OSRCRSListParameters *params,
1011  int *pnOutResultCount);
1012 
1013 void CPL_DLL OSRDestroyCRSInfoList(OSRCRSInfo **list);
1014 
1015 /* -------------------------------------------------------------------- */
1016 /* OGRCoordinateTransform C API. */
1017 /* -------------------------------------------------------------------- */
1019  OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS);
1020 
1024 
1027 
1029  OGRCoordinateTransformationOptionsH hOptions, const char *pszCO,
1030  int bReverseCO);
1031 
1033  OGRCoordinateTransformationOptionsH hOptions, double dfWestLongitudeDeg,
1034  double dfSouthLatitudeDeg, double dfEastLongitudeDeg,
1035  double dfNorthLatitudeDeg);
1036 
1038  OGRCoordinateTransformationOptionsH hOptions, double dfAccuracy);
1039 
1041  OGRCoordinateTransformationOptionsH hOptions, int bAllowBallpark);
1042 
1044  OGRCoordinateTransformationOptionsH hOptions, bool bOnlyBest);
1045 
1048 
1050  OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS,
1052 
1055 OGRSpatialReferenceH CPL_DLL
1057 OGRSpatialReferenceH CPL_DLL
1061 
1062 void CPL_DLL CPL_STDCALL
1064 
1065 int CPL_DLL CPL_STDCALL OCTTransform(OGRCoordinateTransformationH hCT,
1066  int nCount, double *x, double *y,
1067  double *z);
1068 
1069 int CPL_DLL CPL_STDCALL OCTTransformEx(OGRCoordinateTransformationH hCT,
1070  int nCount, double *x, double *y,
1071  double *z, int *pabSuccess);
1072 
1073 int CPL_DLL OCTTransform4D(OGRCoordinateTransformationH hCT, int nCount,
1074  double *x, double *y, double *z, double *t,
1075  int *pabSuccess);
1076 
1078  int nCount, double *x, double *y,
1079  double *z, double *t,
1080  int *panErrorCodes);
1081 
1082 int CPL_DLL CPL_STDCALL OCTTransformBounds(OGRCoordinateTransformationH hCT,
1083  const double xmin, const double ymin,
1084  const double xmax, const double ymax,
1085  double *out_xmin, double *out_ymin,
1086  double *out_xmax, double *out_ymax,
1087  const int densify_pts);
1088 
1089 CPL_C_END
1090 
1091 #endif /* ndef SWIG */
1092 
1093 #endif /* ndef OGR_SRS_API_H_INCLUDED */
OSRCRSInfo::eType
OSRCRSType eType
Object type.
Definition: ogr_srs_api.h:980
OSRImportFromEPSGA
OGRErr OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:11527
OSRSetEC
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equidistant Conic.
Definition: ogrspatialreference.cpp:6227
OSRGetPROJAuxDbPaths
char ** OSRGetPROJAuxDbPaths(void)
Get PROJ auxiliary database filenames.
Definition: ogr_proj_p.cpp:494
OSRSetMercator
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Mercator.
Definition: ogrspatialreference.cpp:7111
OSRSetUTM
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:7594
OSRCRSInfo::pszCode
char * pszCode
Object code.
Definition: ogr_srs_api.h:976
OAO_North
@ OAO_North
North.
Definition: ogr_srs_api.h:53
OAMS_CUSTOM
@ OAMS_CUSTOM
Custom.
Definition: ogr_srs_api.h:663
OSRSetStereographic
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Stereographic.
Definition: ogrspatialreference.cpp:7465
OSR_CRS_TYPE_PROJECTED
@ OSR_CRS_TYPE_PROJECTED
Projected CRS.
Definition: ogr_srs_api.h:957
OSRGetInvFlattening
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:4917
OSRSetMercator2SP
OGRErr OSRSetMercator2SP(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Mercator 2SP.
Definition: ogrspatialreference.cpp:7155
OSRSetHOM2PNO
OGRErr OSRSetHOM2PNO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Hotine Oblique Mercator using two points on centerline.
Definition: ogrspatialreference.cpp:6789
OSRCRSInfo
Structure given overall description of a CRS.
Definition: ogr_srs_api.h:971
OSRGetAttrValue
const char * OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:1299
OSRSetTMG
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Tunesia Mining Grid
Definition: ogrspatialreference.cpp:6047
OSRSetAttrValue
OGRErr OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:2272
OSRSetAxisMappingStrategy
void OSRSetAxisMappingStrategy(OGRSpatialReferenceH hSRS, OSRAxisMappingStrategy strategy)
Set the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:12005
OAO_Down
@ OAO_Down
Down (to Earth center)
Definition: ogr_srs_api.h:58
OSRGetDataAxisToSRSAxisMapping
const int * OSRGetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int *pnCount)
Return the data axis to SRS axis mapping.
Definition: ogrspatialreference.cpp:12042
OSRMorphToESRI
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogrspatialreference.cpp:11201
OSRClone
OGRSpatialReferenceH OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:1403
OSRImportFromMICoordSys
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:10787
OSRSetPROJEnableNetwork
void OSRSetPROJEnableNetwork(int enabled)
Enable or disable PROJ networking capabilities.
Definition: ogr_proj_p.cpp:513
OSRConvertToOtherProjection
OGRSpatialReferenceH OSRConvertToOtherProjection(OGRSpatialReferenceH hSRS, const char *pszTargetProjection, const char *const *papszOptions)
Convert to another equivalent projection.
Definition: ogrspatialreference.cpp:9621
OSRSetIWMPolyconic
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
International Map of the World Polyconic.
Definition: ogrspatialreference.cpp:6852
OGRCoordinateTransformationOptions
Context for coordinate transformation.
Definition: ogr_spatialref.h:967
OSRSetProjParm
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:5573
OSRGetName
const char * OSRGetName(OGRSpatialReferenceH hSRS)
Return the CRS name.
Definition: ogrspatialreference.cpp:1356
OAO_West
@ OAO_West
West.
Definition: ogr_srs_api.h:56
OSRGetCRSInfoListFromDatabase
OSRCRSInfo ** OSRGetCRSInfoListFromDatabase(const char *pszAuthName, const OSRCRSListParameters *params, int *pnOutResultCount)
Enumerate CRS objects from the database.
Definition: ogrspatialreference.cpp:12195
OGRCoordinateTransformationOptionsH
struct OGRCoordinateTransformationOptions * OGRCoordinateTransformationOptionsH
Coordinate transformation options.
Definition: ogr_srs_api.h:1022
OSRAddGuessedTOWGS84
OGRErr OSRAddGuessedTOWGS84(OGRSpatialReferenceH hSRS)
Try to add a a 3-parameter or 7-parameter Helmert transformation to WGS84.
Definition: ogrspatialreference.cpp:11508
OSR_CRS_TYPE_GEOGRAPHIC_3D
@ OSR_CRS_TYPE_GEOGRAPHIC_3D
Geographic 3D CRS.
Definition: ogr_srs_api.h:953
OSRDestroySpatialReference
void OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:915
OSRSetOrthographic
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Orthographic.
Definition: ogrspatialreference.cpp:7273
OSRGetAreaOfUse
int OSRGetAreaOfUse(OGRSpatialReferenceH hSRS, double *pdfWestLongitudeDeg, double *pdfSouthLatitudeDeg, double *pdfEastLongitudeDeg, double *pdfNorthLatitudeDeg, const char **ppszAreaName)
Return the area of use of the CRS.
Definition: ogrspatialreference.cpp:12164
OCTTransformEx
int OCTTransformEx(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:3655
OSR_CRS_TYPE_GEOCENTRIC
@ OSR_CRS_TYPE_GEOCENTRIC
Geocentric CRS.
Definition: ogr_srs_api.h:955
OSRSetEquirectangular2
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Equirectangular generalized form.
Definition: ogrspatialreference.cpp:6444
OCTNewCoordinateTransformationEx
OGRCoordinateTransformationH OCTNewCoordinateTransformationEx(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS, OGRCoordinateTransformationOptionsH hOptions)
Create transformation object.
Definition: ogrct.cpp:1113
OSRDestroyCRSInfoList
void OSRDestroyCRSInfoList(OSRCRSInfo **list)
Destroy the result returned by OSRGetCRSInfoListFromDatabase().
Definition: ogrspatialreference.cpp:12271
OSRSetGnomonic
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Gnomonic.
Definition: ogrspatialreference.cpp:6616
OSRAutoIdentifyEPSG
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:426
OSRImportFromProj4
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ coordinate string.
Definition: ogrspatialreference.cpp:10946
OSRImportFromPanorama
OGRErr OSRImportFromPanorama(OGRSpatialReferenceH, long, long, long, double *)
Import coordinate system from "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:233
OSRGetProjParm
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParamName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:5745
OCTTransformBounds
int OCTTransformBounds(OGRCoordinateTransformationH hCT, const double xmin, const double ymin, const double xmax, const double ymax, double *out_xmin, double *out_ymin, double *out_xmax, double *out_ymax, const int densify_pts)
Transform boundary.
Definition: ogrct.cpp:3756
OSRMorphFromESRI
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogrspatialreference.cpp:11251
OSRSetCoordinateEpoch
void OSRSetCoordinateEpoch(OGRSpatialReferenceH hSRS, double dfCoordinateEpoch)
Set the coordinate epoch, as decimal year.
Definition: ogrspatialreference.cpp:12658
OSR_CRS_TYPE_VERTICAL
@ OSR_CRS_TYPE_VERTICAL
Vertical CRS.
Definition: ogr_srs_api.h:959
OSRSetTPED
OGRErr OSRSetTPED(OGRSpatialReferenceH hSRS, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfFalseEasting, double dfFalseNorthing)
TPED (Two Point Equi Distant)
Definition: ogrspatialreference.cpp:6017
OCTTransform4D
int OCTTransform4D(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, double *t, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:3683
OSRSetAuthority
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:8063
OSRDemoteTo2D
OGRErr OSRDemoteTo2D(OGRSpatialReferenceH hSRS, const char *pszName)
"Demote" a 3D CRS to a 2D CRS one.
Definition: ogrspatialreference.cpp:12465
OSRCleanup
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:10275
OSRSetLinearUnits
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2631
OSRExportToPROJJSON
OGRErr OSRExportToPROJJSON(OGRSpatialReferenceH hSRS, char **ppszReturn, const char *const *papszOptions)
Convert this SRS into PROJJSON format.
Definition: ogrspatialreference.cpp:1875
OSRCRSInfo::bBboxValid
int bBboxValid
Whereas the west_lon_degree, south_lat_degree, east_lon_degree and north_lat_degree fields are valid.
Definition: ogr_srs_api.h:985
OSRAxisMappingStrategy
OSRAxisMappingStrategy
Data axis to CRS axis mapping strategy.
Definition: ogr_srs_api.h:658
OAO_East
@ OAO_East
East.
Definition: ogr_srs_api.h:55
OSRCRSListParameters
struct OSRCRSListParameters OSRCRSListParameters
Structure to describe optional parameters to OSRGetCRSInfoListFromDatabase()
Definition: ogr_srs_api.h:1006
OSRSetHOMAC
OGRErr OSRSetHOMAC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Set an Oblique Mercator projection using azimuth angle.
Definition: ogrspatialreference.cpp:6674
OSRSetLinearUnitsAndUpdateParameters
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2579
OSRSetGEOS
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
GEOS - Geostationary Satellite View.
Definition: ogrspatialreference.cpp:6554
OSRSetSOC
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Swiss Oblique Cylindrical.
Definition: ogrspatialreference.cpp:7512
OSRGetNormProjParm
double OSRGetNormProjParm(OGRSpatialReferenceH hSRS, const char *pszParamName, double dfDefault, OGRErr *)
This function is the same as OGRSpatialReference::
Definition: ogrspatialreference.cpp:5811
OSRDereference
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:1062
OCTGetSourceCS
OGRSpatialReferenceH OCTGetSourceCS(OGRCoordinateTransformationH hTransform)
Transformation's source coordinate system reference.
Definition: ogrct.cpp:1167
OSRSetEckertIV
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert IV.
Definition: ogrspatialreference.cpp:6328
OSRIsDerivedGeographic
int OSRIsDerivedGeographic(OGRSpatialReferenceH)
Check if derived geographic coordinate system.
Definition: ogrspatialreference.cpp:8848
OSRSetVDG
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
VanDerGrinten.
Definition: ogrspatialreference.cpp:7540
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:306
OSRIsLocal
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:8884
OCTTransform4DWithErrorCodes
int OCTTransform4DWithErrorCodes(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, double *t, int *panErrorCodes)
Transform an array of points.
Definition: ogrct.cpp:3711
OSRSetGaussSchreiberTMercator
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Gauss Schreiber Transverse Mercator.
Definition: ogrspatialreference.cpp:6586
OSRIsDynamic
int OSRIsDynamic(OGRSpatialReferenceH)
Check if a CRS is a dynamic CRS.
Definition: ogrspatialreference.cpp:9056
OSRGetAxis
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:10587
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:81
OSRReference
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:1022
OSRSetProjCS
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:5382
OSRSetPS
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Polar Stereographic.
Definition: ogrspatialreference.cpp:7379
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_api.h:83
OSRGetTargetLinearUnits
double OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:3056
OSRFindMatches
OGRSpatialReferenceH * OSRFindMatches(OGRSpatialReferenceH hSRS, char **papszOptions, int *pnEntries, int **ppanMatchConfidence)
Try to identify a match between the passed SRS and a related SRS in a catalog.
Definition: ogrspatialreference.cpp:9660
OSRSetPROJSearchPaths
void OSRSetPROJSearchPaths(const char *const *papszPaths)
Set the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:428
OSRCRSInfo::dfWestLongitudeDeg
double dfWestLongitudeDeg
Western-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:987
OAMS_TRADITIONAL_GIS_ORDER
@ OAMS_TRADITIONAL_GIS_ORDER
Traditional GIS order.
Definition: ogr_srs_api.h:660
OSRCloneGeogCS
OGRSpatialReferenceH OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:9209
OSRCRSInfo::dfEastLongitudeDeg
double dfEastLongitudeDeg
Eastern-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:991
OSRSetIGH
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Interrupted Goode Homolosine.
Definition: ogrspatialreference.cpp:6526
OSRSetMC
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Miller Cylindrical.
Definition: ogrspatialreference.cpp:7072
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a Spatial Reference object.
Definition: ogr_srs_api.h:450
OSRImportFromPCI
OGRErr OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *, const char *, double *)
Import coordinate system from PCI projection definition.
Definition: ogr_srs_pci.cpp:142
OAMS_AUTHORITY_COMPLIANT
@ OAMS_AUTHORITY_COMPLIANT
Compliant with the order mandated by the CRS authority.
Definition: ogr_srs_api.h:661
OSRSetLAEA
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Azimuthal Equal-Area.
Definition: ogrspatialreference.cpp:6949
OAO_Other
@ OAO_Other
Other.
Definition: ogr_srs_api.h:52
OSRNewSpatialReference
OGRSpatialReferenceH OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:819
OSRExportToProj4
OGRErr OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 legacy format.
Definition: ogrspatialreference.cpp:11032
OSRSetDataAxisToSRSAxisMapping
OGRErr OSRSetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int nMappingSize, const int *panMapping)
Set a custom data axis to CRS axis mapping.
Definition: ogrspatialreference.cpp:12087
OSRGetAuthorityName
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:8332
OSRSetProjection
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:5440
OSR_CRS_TYPE_COMPOUND
@ OSR_CRS_TYPE_COMPOUND
Compound CRS.
Definition: ogr_srs_api.h:961
OSRSetPolyconic
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Polyconic.
Definition: ogrspatialreference.cpp:7306
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:310
OSRSetGeocCS
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:5163
OSRPromoteTo3D
OGRErr OSRPromoteTo3D(OGRSpatialReferenceH hSRS, const char *pszName)
"Promotes" a 2D CRS to a 3D CRS one.
Definition: ogrspatialreference.cpp:12418
OSRGetCoordinateEpoch
double OSRGetCoordinateEpoch(OGRSpatialReferenceH hSRS)
Get the coordinate epoch, as decimal year.
Definition: ogrspatialreference.cpp:12704
OSRSetKrovak
OGRErr OSRSetKrovak(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfPseudoStdParallelLat, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Krovak Oblique Conic Conformal.
Definition: ogrspatialreference.cpp:6890
OSRExportToUSGS
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:786
OSRSetMollweide
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Mollweide.
Definition: ogrspatialreference.cpp:7184
OSRSetEquirectangular
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equirectangular.
Definition: ogrspatialreference.cpp:6398
OSRIsGeocentric
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:8722
OAO_Up
@ OAO_Up
Up (to space)
Definition: ogr_srs_api.h:57
OSRSetVerticalPerspective
OGRErr OSRSetVerticalPerspective(OGRSpatialReferenceH hSRS, double dfTopoOriginLat, double dfTopoOriginLon, double dfTopoOriginHeight, double dfViewPointHeight, double dfFalseEasting, double dfFalseNorthing)
Vertical Perspective / Near-sided Perspective.
Definition: ogrspatialreference.cpp:7851
OSRGetTOWGS84
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:10048
OSRGetSemiMinor
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:5013
OSRSetAngularUnits
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:2371
OSR_CRS_TYPE_OTHER
@ OSR_CRS_TYPE_OTHER
Other.
Definition: ogr_srs_api.h:963
OSRSetAxes
OGRErr OSRSetAxes(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszXAxisName, OGRAxisOrientation eXAxisOrientation, const char *pszYAxisName, OGRAxisOrientation eYAxisOrientation)
Set the axes for a coordinate system.
Definition: ogrspatialreference.cpp:10704
OSRSetGeogCS
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:3291
OSRSetTMSO
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator (South Oriented)
Definition: ogrspatialreference.cpp:5986
OSRHasPointMotionOperation
int OSRHasPointMotionOperation(OGRSpatialReferenceH)
Check if a CRS has at least an associated point motion operation.
Definition: ogrspatialreference.cpp:9114
OSRExportToWktEx
OGRErr OSRExportToWktEx(OGRSpatialReferenceH, char **ppszResult, const char *const *papszOptions)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:1798
OSRExportToPCI
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:710
OCTDestroyCoordinateTransformationOptions
void OCTDestroyCoordinateTransformationOptions(OGRCoordinateTransformationOptionsH)
Destroy coordinate transformation options.
Definition: ogrct.cpp:359
OCTCoordinateTransformationOptionsSetOperation
int OCTCoordinateTransformationOptionsSetOperation(OGRCoordinateTransformationOptionsH hOptions, const char *pszCO, int bReverseCO)
Sets a coordinate operation.
Definition: ogrct.cpp:505
OSRGetLinearUnits
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:2829
OSRSetEckert
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert I-VI.
Definition: ogrspatialreference.cpp:6299
OSRValidate
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogrspatialreference.cpp:2148
OSRSetTM
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator.
Definition: ogrspatialreference.cpp:5897
OSRCalcInvFlattening
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:10849
OSRSetCompoundCS
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:5314
OGRAxisOrientation
OGRAxisOrientation
Axis orientations (corresponds to CS_AxisOrientationEnum).
Definition: ogr_srs_api.h:50
OSRIsGeographic
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:8800
OSRImportFromDict
OGRErr OSRImportFromDict(OGRSpatialReferenceH, const char *, const char *)
Read SRS from WKT dictionary.
Definition: ogr_srs_dict.cpp:173
OCTGetTargetCS
OGRSpatialReferenceH OCTGetTargetCS(OGRCoordinateTransformationH hTransform)
Transformation's target coordinate system reference.
Definition: ogrct.cpp:1194
OSRExportToXML
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:711
OCTCoordinateTransformationOptionsSetOnlyBest
int OCTCoordinateTransformationOptionsSetOnlyBest(OGRCoordinateTransformationOptionsH hOptions, bool bOnlyBest)
Sets whether only the "best" operation(s) should be used.
Definition: ogrct.cpp:646
OSREPSGTreatsAsNorthingEasting
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this projected coordinate system should be treated as having...
Definition: ogrspatialreference.cpp:11780
OSRSetSCH
OGRErr OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat, double dfPegLong, double dfPegHeading, double dfPegHgt)
Spherical, Cross-track, Height.
Definition: ogrspatialreference.cpp:7809
OSRCRSInfo::dfSouthLatitudeDeg
double dfSouthLatitudeDeg
Southern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:989
OSRCalcSemiMinorFromInvFlattening
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:10877
OCTGetInverse
OGRCoordinateTransformationH OCTGetInverse(OGRCoordinateTransformationH hTransform)
Inverse transformation object.
Definition: ogrct.cpp:1219
OSRCRSInfo::pszAuthName
char * pszAuthName
Authority name.
Definition: ogr_srs_api.h:974
OCTDestroyCoordinateTransformation
void OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:868
OSRSetVertCS
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:5238
OSR_CRS_TYPE_GEOGRAPHIC_2D
@ OSR_CRS_TYPE_GEOGRAPHIC_2D
Geographic 2D CRS.
Definition: ogr_srs_api.h:951
OSRGetAuthorityCode
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:8198
OSRGetPROJSearchPaths
char ** OSRGetPROJSearchPaths(void)
Get the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:446
OSRSetTOWGS84
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:9994
OCTCoordinateTransformationOptionsSetBallparkAllowed
int OCTCoordinateTransformationOptionsSetBallparkAllowed(OGRCoordinateTransformationOptionsH hOptions, int bAllowBallpark)
Sets whether ballpark transformations are allowed.
Definition: ogrct.cpp:592
OSREPSGTreatsAsLatLong
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogrspatialreference.cpp:11686
OSRCRSType
OSRCRSType
Type of Coordinate Reference System (CRS).
Definition: ogr_srs_api.h:948
OSRIsSame
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:9469
OGRErr
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:378
OSRRelease
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:1110
OSRSetWagner
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Wagner I – VII.
Definition: ogrspatialreference.cpp:7755
OSRCopyGeogCSFrom
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, const OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:3571
OSRSetNormProjParm
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:5869
OSRCRSInfo::pszProjectionMethod
char * pszProjectionMethod
Name of the projection method for a projected CRS.
Definition: ogr_srs_api.h:998
OSRSetRobinson
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Robinson.
Definition: ogrspatialreference.cpp:7408
OSRSetWellKnownGeogCS
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:3455
OSRCRSInfo::pszName
char * pszName
Object name.
Definition: ogr_srs_api.h:978
OSRExportToPanorama
OGRErr OSRExportToPanorama(OGRSpatialReferenceH, long *, long *, long *, long *, double *)
Export coordinate system in "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:809
OSRGetPROJVersion
void OSRGetPROJVersion(int *pnMajor, int *pnMinor, int *pnPatch)
Get the PROJ version.
Definition: ogr_proj_p.cpp:570
OCTNewCoordinateTransformation
OGRCoordinateTransformationH OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Create transformation object.
Definition: ogrct.cpp:1060
OSRImportFromOzi
OGRErr OSRImportFromOzi(OGRSpatialReferenceH, const char *const *)
Import coordinate system from OziExplorer projection definition.
Definition: ogr_srs_ozi.cpp:66
OSRSetFromUserInput
OGRErr OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:4078
OSRGetAxesCount
int OSRGetAxesCount(OGRSpatialReferenceH hSRS)
Return the number of axis of the coordinate system of the CRS.
Definition: ogrspatialreference.cpp:10354
OSRSetLCCB
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic (Belgium)
Definition: ogrspatialreference.cpp:7041
OSRGetPrimeMeridian
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:3170
OSRSetHOM
OGRErr OSRSetHOM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfAzimuth, double dfRectToSkew, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Hotine Oblique Mercator using azimuth angle.
Definition: ogrspatialreference.cpp:6732
OSRGetAngularUnits
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:2503
OSRImportFromESRI
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:118
OSRStripVertical
OGRErr OSRStripVertical(OGRSpatialReferenceH)
Convert a compound cs into a horizontal CS.
Definition: ogrspatialreference.cpp:8460
OSRAxisEnumToName
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:10608
OSRIsSameGeogCS
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:9293
OSRExportToMICoordSys
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:10731
OSRSetQSC
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Quadrilateralized Spherical Cube.
Definition: ogrspatialreference.cpp:7782
OSRExportToPrettyWkt
OGRErr OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a nicely formatted WKT 1 string for display to a person.
Definition: ogrspatialreference.cpp:1483
OSRSetTargetLinearUnits
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:2754
OSRSetLCC
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic.
Definition: ogrspatialreference.cpp:6980
OSRSetACEA
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Albers Conic Equal Area.
Definition: ogrspatialreference.cpp:6080
OSRSetSinusoidal
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Sinusoidal.
Definition: ogrspatialreference.cpp:7436
OSRIsVertical
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:8948
OSRSetAE
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Azimuthal Equidistant.
Definition: ogrspatialreference.cpp:6109
OSRGetUTMZone
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:7681
OSRSetEckertVI
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert VI.
Definition: ogrspatialreference.cpp:6356
OSRGetPROJEnableNetwork
int OSRGetPROJEnableNetwork(void)
Get whether PROJ networking capabilities are enabled.
Definition: ogr_proj_p.cpp:542
OCTCoordinateTransformationOptionsSetDesiredAccuracy
int OCTCoordinateTransformationOptionsSetDesiredAccuracy(OGRCoordinateTransformationOptionsH hOptions, double dfAccuracy)
Sets the desired accuracy for coordinate operations.
Definition: ogrct.cpp:551
OSRIsSameEx
int OSRIsSameEx(OGRSpatialReferenceH, OGRSpatialReferenceH, const char *const *papszOptions)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:9487
OSRSetGH
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Goode Homolosine.
Definition: ogrspatialreference.cpp:6500
OSRIsSameVertCS
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:9355
OCTClone
OGRCoordinateTransformationH OCTClone(OGRCoordinateTransformationH hTransform)
Clone transformation object.
Definition: ogrct.cpp:1140
OSRImportFromUSGS
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:162
OSRSetBonne
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Bonne.
Definition: ogrspatialreference.cpp:6138
OSRExportToWkt
OGRErr OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT 1 format.
Definition: ogrspatialreference.cpp:1775
OSRImportFromUrl
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:4186
OSRSetPROJAuxDbPaths
void OSRSetPROJAuxDbPaths(const char *const *papszPaths)
Set list of PROJ auxiliary database filenames.
Definition: ogr_proj_p.cpp:475
OSRExportToERM
OGRErr OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *)
Convert coordinate system to ERMapper format.
Definition: ogr_srs_erm.cpp:161
OSRSetLCC1SP
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic 1SP.
Definition: ogrspatialreference.cpp:7010
OSRSetGS
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Gall Stereograpic.
Definition: ogrspatialreference.cpp:6473
OSRCRSInfo::pszAreaName
char * pszAreaName
Name of the area of use.
Definition: ogr_srs_api.h:995
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_srs_api.h:452
OSRSetLocalCS
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:5067
OSRSetStatePlaneWithUnits
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:264
OSRSetCS
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Cassini-Soldner.
Definition: ogrspatialreference.cpp:6196
OSRImportFromERM
OGRErr OSRImportFromERM(OGRSpatialReferenceH, const char *, const char *, const char *)
Create OGR WKT from ERMapper projection definitions.
Definition: ogr_srs_erm.cpp:53
OSRCRSInfo::dfNorthLatitudeDeg
double dfNorthLatitudeDeg
Northern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:993
OSRImportFromWkt
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:2169
ogr_core.h
OSRGetSemiMajor
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:4856
OSRFreeSRSArray
void OSRFreeSRSArray(OGRSpatialReferenceH *pahSRS)
Free return of OSRIdentifyMatches()
Definition: ogrspatialreference.cpp:9684
OSRSetStatePlane
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:245
OSRIsCompound
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:8619
OSRSetTMVariant
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator variant.
Definition: ogrspatialreference.cpp:5933
OSRGetAxisMappingStrategy
OSRAxisMappingStrategy OSRGetAxisMappingStrategy(OGRSpatialReferenceH hSRS)
Return the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:11966
OCTCoordinateTransformationOptionsSetAreaOfInterest
int OCTCoordinateTransformationOptionsSetAreaOfInterest(OGRCoordinateTransformationOptionsH hOptions, double dfWestLongitudeDeg, double dfSouthLatitudeDeg, double dfEastLongitudeDeg, double dfNorthLatitudeDeg)
Sets an area of interest.
Definition: ogrct.cpp:430
OSRImportFromXML
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1257
OAO_South
@ OAO_South
South.
Definition: ogr_srs_api.h:54
OCTNewCoordinateTransformationOptions
OGRCoordinateTransformationOptionsH OCTNewCoordinateTransformationOptions(void)
Create coordinate transformation options.
Definition: ogrct.cpp:346
OSRIsProjected
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:8679
OCTTransform
int OCTTransform(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z)
Transform an array of points.
Definition: ogrct.cpp:3631
OSRSetOS
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Stereographic.
Definition: ogrspatialreference.cpp:7243
OSRCRSInfo::bDeprecated
int bDeprecated
Whether the object is deprecated.
Definition: ogr_srs_api.h:982
OSRImportFromEPSG
OGRErr OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:11576
OSRSetCEA
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Cylindrical Equal Area.
Definition: ogrspatialreference.cpp:6168
OSRSetNZMG
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
New Zealand Map Grid.
Definition: ogrspatialreference.cpp:7213