GDAL

- Main Page
- Related Pages
- Classes
- Files
- Download
- Issue Tracker

- File List
- File Members

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 #ifndef SWIG
35 #include "ogr_core.h"
36
37 CPL_C_START
38
48 typedef enum {
49 OAO_Other=0,
50 OAO_North=1,
51 OAO_South=2,
52 OAO_East=3,
53 OAO_West=4,
54 OAO_Up=5,
55 OAO_Down=6
56 } OGRAxisOrientation;
57
58 const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation );
59
60 #endif // ndef SWIG
61
62 /* ==================================================================== */
63 /* Some standard WKT geographic coordinate systems. */
64 /* ==================================================================== */
65
66 #ifdef USE_DEPRECATED_SRS_WKT_WGS84
67 #define SRS_WKT_WGS84 "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]"
68 #endif
69
71 #define SRS_WKT_WGS84_LAT_LONG "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]"
72
73 /* ==================================================================== */
74 /* Some "standard" strings. */
75 /* ==================================================================== */
76
78 #define SRS_PT_ALBERS_CONIC_EQUAL_AREA \
79 "Albers_Conic_Equal_Area"
80
81 #define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
82
83 #define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
84
85 #define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
86
87 #define SRS_PT_BONNE "Bonne"
88
89 #define SRS_PT_ECKERT_I "Eckert_I"
90
91 #define SRS_PT_ECKERT_II "Eckert_II"
92
93 #define SRS_PT_ECKERT_III "Eckert_III"
94
95 #define SRS_PT_ECKERT_IV "Eckert_IV"
96
97 #define SRS_PT_ECKERT_V "Eckert_V"
98
99 #define SRS_PT_ECKERT_VI "Eckert_VI"
100
101 #define SRS_PT_EQUIDISTANT_CONIC \
102 "Equidistant_Conic"
103
104 #define SRS_PT_EQUIRECTANGULAR "Equirectangular"
105
106 #define SRS_PT_GALL_STEREOGRAPHIC \
107 "Gall_Stereographic"
108
109 #define SRS_PT_GAUSSSCHREIBERTMERCATOR \
110 "Gauss_Schreiber_Transverse_Mercator"
111
112 #define SRS_PT_GEOSTATIONARY_SATELLITE \
113 "Geostationary_Satellite"
114
115 #define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
116
117 #define SRS_PT_IGH "Interrupted_Goode_Homolosine"
118
119 #define SRS_PT_GNOMONIC "Gnomonic"
120
121 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \
122 "Hotine_Oblique_Mercator_Azimuth_Center"
123
124 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
125 "Hotine_Oblique_Mercator"
126
127 #define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
128 "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
129
130 #define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
131 "Laborde_Oblique_Mercator"
132
133 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
134 "Lambert_Conformal_Conic_1SP"
135
136 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
137 "Lambert_Conformal_Conic_2SP"
138
139 #define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
140 "Lambert_Conformal_Conic_2SP_Belgium"
141
142 #define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
143 "Lambert_Azimuthal_Equal_Area"
144
145 #define SRS_PT_MERCATOR_1SP "Mercator_1SP"
146
147 #define SRS_PT_MERCATOR_2SP "Mercator_2SP"
148
149 #define SRS_PT_MERCATOR_AUXILIARY_SPHERE \
150 "Mercator_Auxiliary_Sphere"
151
152 #define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
153
154 #define SRS_PT_MOLLWEIDE "Mollweide"
155
156 #define SRS_PT_NEW_ZEALAND_MAP_GRID \
157 "New_Zealand_Map_Grid"
158
159 #define SRS_PT_OBLIQUE_STEREOGRAPHIC \
160 "Oblique_Stereographic"
161
162 #define SRS_PT_ORTHOGRAPHIC "Orthographic"
163
164 #define SRS_PT_POLAR_STEREOGRAPHIC \
165 "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 \
176 "Swiss_Oblique_Cylindrical"
177
178 #define SRS_PT_TRANSVERSE_MERCATOR \
179 "Transverse_Mercator"
180
181 #define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
182 "Transverse_Mercator_South_Orientated"
183
184 /* special mapinfo variants on Transverse Mercator */
186 #define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
187 "Transverse_Mercator_MapInfo_21"
188
189 #define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
190 "Transverse_Mercator_MapInfo_22"
191
192 #define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
193 "Transverse_Mercator_MapInfo_23"
194
195 #define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
196 "Transverse_Mercator_MapInfo_24"
197
198 #define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
199 "Transverse_Mercator_MapInfo_25"
200
202 #define SRS_PT_TUNISIA_MINING_GRID \
203 "Tunisia_Mining_Grid"
204
205 #define SRS_PT_TWO_POINT_EQUIDISTANT \
206 "Two_Point_Equidistant"
207
208 #define SRS_PT_VANDERGRINTEN "VanDerGrinten"
209
210 #define SRS_PT_KROVAK "Krovak"
211
212 #define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
213
214 #define SRS_PT_WAGNER_I "Wagner_I"
215
216 #define SRS_PT_WAGNER_II "Wagner_II"
217
218 #define SRS_PT_WAGNER_III "Wagner_III"
219
220 #define SRS_PT_WAGNER_IV "Wagner_IV"
221
222 #define SRS_PT_WAGNER_V "Wagner_V"
223
224 #define SRS_PT_WAGNER_VI "Wagner_VI"
225
226 #define SRS_PT_WAGNER_VII "Wagner_VII"
227
228 #define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
229
230 #define SRS_PT_AITOFF "Aitoff"
231
232 #define SRS_PT_WINKEL_I "Winkel_I"
233
234 #define SRS_PT_WINKEL_II "Winkel_II"
235
236 #define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
237
238 #define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
239
240 #define SRS_PT_LOXIMUTHAL "Loximuthal"
241
242 #define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
243
244 #define SRS_PT_SCH "Spherical_Cross_Track_Height"
245
247 #define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
248
249 #define SRS_PP_SCALE_FACTOR "scale_factor"
250
251 #define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
252
253 #define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
254
255 #define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
256
257 #define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
258
259 #define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
260
261 #define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
262
263 #define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
264
265 #define SRS_PP_FALSE_EASTING "false_easting"
266
267 #define SRS_PP_FALSE_NORTHING "false_northing"
268
269 #define SRS_PP_AZIMUTH "azimuth"
270
271 #define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
272
273 #define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
274
275 #define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
276
277 #define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
278
279 #define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
280
281 #define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
282
283 #define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
284
285 #define SRS_PP_LANDSAT_NUMBER "landsat_number"
286
287 #define SRS_PP_PATH_NUMBER "path_number"
288
289 #define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
290
291 #define SRS_PP_SATELLITE_HEIGHT "satellite_height"
292
293 #define SRS_PP_FIPSZONE "fipszone"
294
295 #define SRS_PP_ZONE "zone"
296
297 #define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
298
299 #define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
300
301 #define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
302
303 #define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
304
305 #define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude"
306
307 #define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude"
308
309 #define SRS_PP_PEG_POINT_HEADING "peg_point_heading"
310
311 #define SRS_PP_PEG_POINT_HEIGHT "peg_point_height"
312
314 #define SRS_UL_METER "Meter"
315
316 #define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
317
318 #define SRS_UL_FOOT_CONV "0.3048"
319
320 #define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
321
322 #define SRS_UL_US_FOOT_CONV "0.3048006096012192"
323
324 #define SRS_UL_NAUTICAL_MILE "Nautical Mile"
325
326 #define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
327
328 #define SRS_UL_LINK "Link" /* Based on US Foot */
329
330 #define SRS_UL_LINK_CONV "0.20116684023368047"
331
332 #define SRS_UL_CHAIN "Chain" /* based on US Foot */
333
334 #define SRS_UL_CHAIN_CONV "20.116684023368047"
335
336 #define SRS_UL_ROD "Rod" /* based on US Foot */
337
338 #define SRS_UL_ROD_CONV "5.02921005842012"
339
340 #define SRS_UL_LINK_Clarke "Link_Clarke"
341
342 #define SRS_UL_LINK_Clarke_CONV "0.2011661949"
343
345 #define SRS_UL_KILOMETER "Kilometer"
346
347 #define SRS_UL_KILOMETER_CONV "1000."
348
349 #define SRS_UL_DECIMETER "Decimeter"
350
351 #define SRS_UL_DECIMETER_CONV "0.1"
352
353 #define SRS_UL_CENTIMETER "Centimeter"
354
355 #define SRS_UL_CENTIMETER_CONV "0.01"
356
357 #define SRS_UL_MILLIMETER "Millimeter"
358
359 #define SRS_UL_MILLIMETER_CONV "0.001"
360
361 #define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
362
363 #define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
364
365 #define SRS_UL_INTL_INCH "Inch_International"
366
367 #define SRS_UL_INTL_INCH_CONV "0.0254"
368
369 #define SRS_UL_INTL_FOOT "Foot_International"
370
371 #define SRS_UL_INTL_FOOT_CONV "0.3048"
372
373 #define SRS_UL_INTL_YARD "Yard_International"
374
375 #define SRS_UL_INTL_YARD_CONV "0.9144"
376
377 #define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
378
379 #define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
380
381 #define SRS_UL_INTL_FATHOM "Fathom_International"
382
383 #define SRS_UL_INTL_FATHOM_CONV "1.8288"
384
385 #define SRS_UL_INTL_CHAIN "Chain_International"
386
387 #define SRS_UL_INTL_CHAIN_CONV "20.1168"
388
389 #define SRS_UL_INTL_LINK "Link_International"
390
391 #define SRS_UL_INTL_LINK_CONV "0.201168"
392
393 #define SRS_UL_US_INCH "Inch_US_Surveyor"
394
395 #define SRS_UL_US_INCH_CONV "0.025400050800101603"
396
397 #define SRS_UL_US_YARD "Yard_US_Surveyor"
398
399 #define SRS_UL_US_YARD_CONV "0.914401828803658"
400
401 #define SRS_UL_US_CHAIN "Chain_US_Surveyor"
402
403 #define SRS_UL_US_CHAIN_CONV "20.11684023368047"
404
405 #define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
406
407 #define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
408
409 #define SRS_UL_INDIAN_YARD "Yard_Indian"
410
411 #define SRS_UL_INDIAN_YARD_CONV "0.91439523"
412
413 #define SRS_UL_INDIAN_FOOT "Foot_Indian"
414
415 #define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
416
417 #define SRS_UL_INDIAN_CHAIN "Chain_Indian"
418
419 #define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
420
422 #define SRS_UA_DEGREE "degree"
423
424 #define SRS_UA_DEGREE_CONV "0.0174532925199433"
425
426 #define SRS_UA_RADIAN "radian"
427
429 #define SRS_PM_GREENWICH "Greenwich"
430
432 #define SRS_DN_NAD27 "North_American_Datum_1927"
433
434 #define SRS_DN_NAD83 "North_American_Datum_1983"
435
436 #define SRS_DN_WGS72 "WGS_1972"
437
438 #define SRS_DN_WGS84 "WGS_1984"
439
441 #define SRS_WGS84_SEMIMAJOR 6378137.0
442
443 #define SRS_WGS84_INVFLATTENING 298.257223563
444
445 #ifndef SWIG
446 /* -------------------------------------------------------------------- */
447 /* C Wrappers for C++ objects and methods. */
448 /* -------------------------------------------------------------------- */
449 #ifndef DEFINED_OGRSpatialReferenceH
450
451 #define DEFINED_OGRSpatialReferenceH
452
454 #ifdef DEBUG
455 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
456 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
457 #else
458
459 typedef void *OGRSpatialReferenceH;
461 typedef void *OGRCoordinateTransformationH;
462 #endif
463
464 #endif
465
466 void CPL_DLL OSRSetPROJSearchPaths( const char* const * papszPaths );
467 char CPL_DLL **OSRGetPROJSearchPaths( void );
468 void CPL_DLL OSRGetPROJVersion( int* pnMajor, int* pnMinor, int* pnPatch );
469
470 OGRSpatialReferenceH CPL_DLL CPL_STDCALL
471 OSRNewSpatialReference( const char * /* = NULL */);
472 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRCloneGeogCS( OGRSpatialReferenceH );
473 OGRSpatialReferenceH CPL_DLL CPL_STDCALL OSRClone( OGRSpatialReferenceH );
474 void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
475
476 int CPL_DLL OSRReference( OGRSpatialReferenceH );
477 int CPL_DLL OSRDereference( OGRSpatialReferenceH );
478 void CPL_DLL OSRRelease( OGRSpatialReferenceH );
479
480 OGRErr CPL_DLL OSRValidate( OGRSpatialReferenceH );
481
482 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
483 OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
484 OGRErr CPL_DLL OSRImportFromWkt( OGRSpatialReferenceH, char ** );
485 OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
486 OGRErr CPL_DLL OSRImportFromESRI( OGRSpatialReferenceH, char **);
487 OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
488 const char *, double * );
489 OGRErr CPL_DLL OSRImportFromUSGS( OGRSpatialReferenceH,
490 long, long, double *, long);
491 OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
492 OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
493 const char * );
494 OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
495 double * );
496 OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
497 OGRErr CPL_DLL OSRImportFromMICoordSys( OGRSpatialReferenceH, const char *);
498 OGRErr CPL_DLL OSRImportFromERM( OGRSpatialReferenceH,
499 const char *, const char *, const char * );
500 OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
501
502 OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
503 OGRErr CPL_DLL OSRExportToWktEx( OGRSpatialReferenceH, char ** ppszResult,
504 const char* const* papszOptions );
505 OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
506 OGRErr CPL_DLL OSRExportToPROJJSON( OGRSpatialReferenceH hSRS,
507 char ** ppszReturn,
508 const char* const* papszOptions );
509 OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
510 OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
511 double ** );
512 OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
513 double **, long * );
514 OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
515 OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
516 long *, long *, double * );
517 OGRErr CPL_DLL OSRExportToMICoordSys( OGRSpatialReferenceH, char ** );
518 OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
519
520 OGRErr CPL_DLL OSRMorphToESRI( OGRSpatialReferenceH );
521 OGRErr CPL_DLL OSRMorphFromESRI( OGRSpatialReferenceH );
522
523 OGRSpatialReferenceH CPL_DLL OSRConvertToOtherProjection(
524 OGRSpatialReferenceH hSRS,
525 const char* pszTargetProjection,
526 const char* const* papszOptions );
527
528 const char CPL_DLL* OSRGetName( OGRSpatialReferenceH hSRS );
529
530 OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
531 const char * pszNodePath,
532 const char * pszNewNodeValue );
533 const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
534 const char * pszName, int iChild /* = 0 */ );
535
536 OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
537 double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
538 OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
539 OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
540 OGRErr CPL_DLL OSRSetLinearUnitsAndUpdateParameters(
541 OGRSpatialReferenceH, const char *, double );
542 double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
543 double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
544
545 double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
546
547 int CPL_DLL OSRIsGeographic( OGRSpatialReferenceH );
548 int CPL_DLL OSRIsDerivedGeographic( OGRSpatialReferenceH );
549 int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
550 int CPL_DLL OSRIsProjected( OGRSpatialReferenceH );
551 int CPL_DLL OSRIsCompound( OGRSpatialReferenceH );
552 int CPL_DLL OSRIsGeocentric( OGRSpatialReferenceH );
553 int CPL_DLL OSRIsVertical( OGRSpatialReferenceH );
554 int CPL_DLL OSRIsSameGeogCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
555 int CPL_DLL OSRIsSameVertCS( OGRSpatialReferenceH, OGRSpatialReferenceH );
556 int CPL_DLL OSRIsSame( OGRSpatialReferenceH, OGRSpatialReferenceH );
557 int CPL_DLL OSRIsSameEx( OGRSpatialReferenceH, OGRSpatialReferenceH,
558 const char* const *papszOptions );
559
560 OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
561 OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
562 OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
563 OGRErr CPL_DLL OSRSetWellKnownGeogCS( OGRSpatialReferenceH hSRS,
564 const char * pszName );
565 OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
566 const char * );
567 OGRErr CPL_DLL OSRCopyGeogCSFrom( OGRSpatialReferenceH hSRS,
568 const OGRSpatialReferenceH hSrcSRS );
569 OGRErr CPL_DLL OSRSetTOWGS84( OGRSpatialReferenceH hSRS,
570 double, double, double,
571 double, double, double, double );
572 OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
573 OGRErr CPL_DLL OSRAddGuessedTOWGS84( OGRSpatialReferenceH hSRS);
574
575 OGRErr CPL_DLL OSRSetCompoundCS( OGRSpatialReferenceH hSRS,
576 const char *pszName,
577 OGRSpatialReferenceH hHorizSRS,
578 OGRSpatialReferenceH hVertSRS );
579 OGRErr CPL_DLL OSRPromoteTo3D( OGRSpatialReferenceH hSRS, const char* pszName );
580 OGRErr CPL_DLL OSRDemoteTo2D( OGRSpatialReferenceH hSRS, const char* pszName );
581
582 OGRErr CPL_DLL OSRSetGeogCS( OGRSpatialReferenceH hSRS,
583 const char * pszGeogName,
584 const char * pszDatumName,
585 const char * pszEllipsoidName,
586 double dfSemiMajor, double dfInvFlattening,
587 const char * pszPMName /* = NULL */,
588 double dfPMOffset /* = 0.0 */,
589 const char * pszUnits /* = NULL */,
590 double dfConvertToRadians /* = 0.0 */ );
591
592 OGRErr CPL_DLL OSRSetVertCS( OGRSpatialReferenceH hSRS,
593 const char * pszVertCSName,
594 const char * pszVertDatumName,
595 int nVertDatumType );
596
597 double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
598 double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
599 double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
600
601 OGRErr CPL_DLL OSRSetAuthority( OGRSpatialReferenceH hSRS,
602 const char * pszTargetKey,
603 const char * pszAuthority,
604 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 * pszParmName,
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 * pszParmName,
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,
632 int nZone, int bNAD83 );
633 OGRErr CPL_DLL OSRSetStatePlaneWithUnits( OGRSpatialReferenceH hSRS,
634 int nZone, int bNAD83,
635 const char *pszOverrideUnitName,
636 double dfOverrideUnit );
637 OGRErr CPL_DLL OSRAutoIdentifyEPSG( OGRSpatialReferenceH hSRS );
638
639 OGRSpatialReferenceH CPL_DLL *OSRFindMatches( OGRSpatialReferenceH hSRS,
640 char** papszOptions,
641 int* pnEntries,
642 int** ppanMatchConfidence );
643 void CPL_DLL OSRFreeSRSArray(OGRSpatialReferenceH* pahSRS);
644
645 int CPL_DLL OSREPSGTreatsAsLatLong( OGRSpatialReferenceH hSRS );
646 int CPL_DLL OSREPSGTreatsAsNorthingEasting( OGRSpatialReferenceH hSRS );
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,
652 const char *pszTargetKey,
653 const char *pszXAxisName,
654 OGRAxisOrientation eXAxisOrientation,
655 const char *pszYAxisName,
656 OGRAxisOrientation eYAxisOrientation );
657
659 typedef enum
660 {
661 OAMS_TRADITIONAL_GIS_ORDER,
662 OAMS_AUTHORITY_COMPLIANT,
663 OAMS_CUSTOM
664 } OSRAxisMappingStrategy;
665
666 OSRAxisMappingStrategy CPL_DLL OSRGetAxisMappingStrategy( OGRSpatialReferenceH hSRS );
667
668 void CPL_DLL OSRSetAxisMappingStrategy( OGRSpatialReferenceH hSRS,
669 OSRAxisMappingStrategy strategy );
670
671 const int CPL_DLL *OSRGetDataAxisToSRSAxisMapping( OGRSpatialReferenceH hSRS, int* pnCount );
672
673 OGRErr CPL_DLL OSRSetDataAxisToSRSAxisMapping( OGRSpatialReferenceH hSRS,
674 int nMappingSize,
675 const int* panMapping );
676
678 OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
679 double dfCenterLat, double dfCenterLong,
680 double dfFalseEasting, double dfFalseNorthing );
681
683 OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
684 double dfFalseEasting, double dfFalseNorthing );
685
687 OGRErr CPL_DLL OSRSetBonne(OGRSpatialReferenceH hSRS,
688 double dfStandardParallel, double dfCentralMeridian,
689 double dfFalseEasting, double dfFalseNorthing );
690
692 OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
693 double dfFalseEasting, double dfFalseNorthing );
694
696 OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
697 double dfFalseEasting, double dfFalseNorthing );
698
700 OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
701 double dfCenterLat, double dfCenterLong,
702 double dfFalseEasting, double dfFalseNorthing );
703
705 OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
706 double dfCentralMeridian,
707 double dfFalseEasting, double dfFalseNorthing );
708
710 OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
711 double dfFalseEasting, double dfFalseNorthing );
712
714 OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
715 double dfFalseEasting, double dfFalseNorthing );
716
718 OGRErr CPL_DLL OSRSetEquirectangular(OGRSpatialReferenceH hSRS,
719 double dfCenterLat, double dfCenterLong,
720 double dfFalseEasting, double dfFalseNorthing );
721
723 OGRErr CPL_DLL OSRSetEquirectangular2( OGRSpatialReferenceH hSRS,
724 double dfCenterLat, double dfCenterLong,
725 double dfPseudoStdParallel1,
726 double dfFalseEasting,
727 double dfFalseNorthing );
728
730 OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
731 double dfFalseEasting, double dfFalseNorthing );
732
734 OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
735 double dfFalseEasting, double dfFalseNorthing );
736
738 OGRErr CPL_DLL OSRSetIGH( OGRSpatialReferenceH hSRS );
739
741 OGRErr CPL_DLL OSRSetGEOS( OGRSpatialReferenceH hSRS,
742 double dfCentralMeridian, double dfSatelliteHeight,
743 double dfFalseEasting, double dfFalseNorthing );
744
746 OGRErr CPL_DLL OSRSetGaussSchreiberTMercator( OGRSpatialReferenceH hSRS,
747 double dfCenterLat, double dfCenterLong,
748 double dfScale,
749 double dfFalseEasting,
750 double dfFalseNorthing );
752 OGRErr CPL_DLL OSRSetGnomonic(OGRSpatialReferenceH hSRS,
753 double dfCenterLat, double dfCenterLong,
754 double dfFalseEasting, double dfFalseNorthing );
755
756 #ifdef undef
757
758 OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
759 double dfCenterLat, double dfCenterLong,
760 double dfAzimuth, double dfRectToSkew,
761 double dfScale,
762 double dfFalseEasting, double dfFalseNorthing );
763 #endif
764
766 OGRErr CPL_DLL OSRSetHOM( OGRSpatialReferenceH hSRS,
767 double dfCenterLat, double dfCenterLong,
768 double dfAzimuth, double dfRectToSkew,
769 double dfScale,
770 double dfFalseEasting, double dfFalseNorthing );
771
772 OGRErr CPL_DLL OSRSetHOMAC( OGRSpatialReferenceH hSRS,
773 double dfCenterLat, double dfCenterLong,
774 double dfAzimuth, double dfRectToSkew,
775 double dfScale,
776 double dfFalseEasting,
777 double dfFalseNorthing );
778
780 OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
781 double dfLat1, double dfLong1,
782 double dfLat2, double dfLong2,
783 double dfScale,
784 double dfFalseEasting, double dfFalseNorthing );
785
787 OGRErr CPL_DLL OSRSetIWMPolyconic( OGRSpatialReferenceH hSRS,
788 double dfLat1, double dfLat2,
789 double dfCenterLong,
790 double dfFalseEasting,
791 double dfFalseNorthing );
792
794 OGRErr CPL_DLL OSRSetKrovak( OGRSpatialReferenceH hSRS,
795 double dfCenterLat, double dfCenterLong,
796 double dfAzimuth, double dfPseudoStdParallelLat,
797 double dfScale,
798 double dfFalseEasting, double dfFalseNorthing );
799
801 OGRErr CPL_DLL OSRSetLAEA( OGRSpatialReferenceH hSRS,
802 double dfCenterLat, double dfCenterLong,
803 double dfFalseEasting, double dfFalseNorthing );
804
806 OGRErr CPL_DLL OSRSetLCC( OGRSpatialReferenceH hSRS,
807 double dfStdP1, double dfStdP2,
808 double dfCenterLat, double dfCenterLong,
809 double dfFalseEasting, double dfFalseNorthing );
810
812 OGRErr CPL_DLL OSRSetLCC1SP( OGRSpatialReferenceH hSRS,
813 double dfCenterLat, double dfCenterLong,
814 double dfScale,
815 double dfFalseEasting, double dfFalseNorthing );
816
818 OGRErr CPL_DLL OSRSetLCCB( OGRSpatialReferenceH hSRS,
819 double dfStdP1, double dfStdP2,
820 double dfCenterLat, double dfCenterLong,
821 double dfFalseEasting, double dfFalseNorthing );
822
824 OGRErr CPL_DLL OSRSetMC( OGRSpatialReferenceH hSRS,
825 double dfCenterLat, double dfCenterLong,
826 double dfFalseEasting, double dfFalseNorthing );
827
829 OGRErr CPL_DLL OSRSetMercator( OGRSpatialReferenceH hSRS,
830 double dfCenterLat, double dfCenterLong,
831 double dfScale,
832 double dfFalseEasting, double dfFalseNorthing );
833
835 OGRErr CPL_DLL OSRSetMercator2SP( OGRSpatialReferenceH hSRS,
836 double dfStdP1,
837 double dfCenterLat, double dfCenterLong,
838 double dfFalseEasting, double dfFalseNorthing );
839
841 OGRErr CPL_DLL OSRSetMollweide( OGRSpatialReferenceH hSRS,
842 double dfCentralMeridian,
843 double dfFalseEasting,
844 double dfFalseNorthing );
845
847 OGRErr CPL_DLL OSRSetNZMG( OGRSpatialReferenceH hSRS,
848 double dfCenterLat, double dfCenterLong,
849 double dfFalseEasting, double dfFalseNorthing );
850
852 OGRErr CPL_DLL OSRSetOS( OGRSpatialReferenceH hSRS,
853 double dfOriginLat, double dfCMeridian,
854 double dfScale,
855 double dfFalseEasting,double dfFalseNorthing);
856
858 OGRErr CPL_DLL OSRSetOrthographic( OGRSpatialReferenceH hSRS,
859 double dfCenterLat, double dfCenterLong,
860 double dfFalseEasting,
861 double dfFalseNorthing);
862
864 OGRErr CPL_DLL OSRSetPolyconic( OGRSpatialReferenceH hSRS,
865 double dfCenterLat, double dfCenterLong,
866 double dfFalseEasting, double dfFalseNorthing );
867
869 OGRErr CPL_DLL OSRSetPS( OGRSpatialReferenceH hSRS,
870 double dfCenterLat, double dfCenterLong,
871 double dfScale,
872 double dfFalseEasting, double dfFalseNorthing);
873
875 OGRErr CPL_DLL OSRSetRobinson( OGRSpatialReferenceH hSRS,
876 double dfCenterLong,
877 double dfFalseEasting, double dfFalseNorthing );
878
880 OGRErr CPL_DLL OSRSetSinusoidal( OGRSpatialReferenceH hSRS,
881 double dfCenterLong,
882 double dfFalseEasting,
883 double dfFalseNorthing );
884
886 OGRErr CPL_DLL OSRSetStereographic( OGRSpatialReferenceH hSRS,
887 double dfCenterLat, double dfCenterLong,
888 double dfScale,
889 double dfFalseEasting,
890 double dfFalseNorthing);
891
893 OGRErr CPL_DLL OSRSetSOC( OGRSpatialReferenceH hSRS,
894 double dfLatitudeOfOrigin, double dfCentralMeridian,
895 double dfFalseEasting, double dfFalseNorthing );
896
903 OGRErr CPL_DLL OSRSetTM( OGRSpatialReferenceH hSRS,
904 double dfCenterLat, double dfCenterLong,
905 double dfScale,
906 double dfFalseEasting, double dfFalseNorthing );
907
909 OGRErr CPL_DLL OSRSetTMVariant(
910 OGRSpatialReferenceH hSRS, const char *pszVariantName,
911 double dfCenterLat, double dfCenterLong,
912 double dfScale,
913 double dfFalseEasting, double dfFalseNorthing );
914
916 OGRErr CPL_DLL OSRSetTMG( OGRSpatialReferenceH hSRS,
917 double dfCenterLat, double dfCenterLong,
918 double dfFalseEasting, double dfFalseNorthing );
919
921 OGRErr CPL_DLL OSRSetTMSO( OGRSpatialReferenceH hSRS,
922 double dfCenterLat, double dfCenterLong,
923 double dfScale,
924 double dfFalseEasting, double dfFalseNorthing );
925
927 OGRErr CPL_DLL OSRSetTPED( OGRSpatialReferenceH hSRS,
928 double dfLat1, double dfLong1,
929 double dfLat2, double dfLong2,
930 double dfFalseEasting, double dfFalseNorthing );
931
933 OGRErr CPL_DLL OSRSetVDG( OGRSpatialReferenceH hSRS,
934 double dfCenterLong,
935 double dfFalseEasting, double dfFalseNorthing );
936
938 OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
939 double dfCenterLat,
940 double dfFalseEasting,
941 double dfFalseNorthing );
942
944 OGRErr CPL_DLL OSRSetQSC( OGRSpatialReferenceH hSRS,
945 double dfCenterLat, double dfCenterLong );
946
948 OGRErr CPL_DLL OSRSetSCH( OGRSpatialReferenceH hSRS,
949 double dfPegLat, double dfPegLong,
950 double dfPegHeading, double dfPegHgt);
951
953 OGRErr CPL_DLL OSRSetVerticalPerspective( OGRSpatialReferenceH hSRS,
954 double dfTopoOriginLat,
955 double dfTopoOriginLon,
956 double dfTopoOriginHeight,
957 double dfViewPointHeight,
958 double dfFalseEasting,
959 double dfFalseNorthing);
960
961 double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
962 double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
963
964 void CPL_DLL OSRCleanup( void );
965
967 typedef enum
968 {
970 OSR_CRS_TYPE_GEOGRAPHIC_2D,
972 OSR_CRS_TYPE_GEOGRAPHIC_3D,
974 OSR_CRS_TYPE_GEOCENTRIC,
976 OSR_CRS_TYPE_PROJECTED,
978 OSR_CRS_TYPE_VERTICAL,
980 OSR_CRS_TYPE_COMPOUND,
982 OSR_CRS_TYPE_OTHER,
983 } OSRCRSType;
984
990 typedef struct
991 {
993 char* pszAuthName;
995 char* pszCode;
997 char* pszName;
999 OSRCRSType eType;
1001 int bDeprecated;
1004 int bBboxValid;
1006 double dfWestLongitudeDeg;
1008 double dfSouthLatitudeDeg;
1010 double dfEastLongitudeDeg;
1012 double dfNorthLatitudeDeg;
1014 char* pszAreaName;
1017 char* pszProjectionMethod;
1018 } OSRCRSInfo;
1019
1024 typedef struct OSRCRSListParameters OSRCRSListParameters;
1025
1026 OSRCRSInfo CPL_DLL **OSRGetCRSInfoListFromDatabase(
1027 const char *pszAuthName,
1028 const OSRCRSListParameters* params,
1029 int *pnOutResultCount);
1030
1031 void CPL_DLL OSRDestroyCRSInfoList(OSRCRSInfo** list);
1032
1033
1034 /* -------------------------------------------------------------------- */
1035 /* OGRCoordinateTransform C API. */
1036 /* -------------------------------------------------------------------- */
1037 OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
1038 OCTNewCoordinateTransformation( OGRSpatialReferenceH hSourceSRS,
1039 OGRSpatialReferenceH hTargetSRS );
1040
1042 typedef struct OGRCoordinateTransformationOptions *OGRCoordinateTransformationOptionsH;
1043
1044 OGRCoordinateTransformationOptionsH CPL_DLL OCTNewCoordinateTransformationOptions(void);
1045
1046 int CPL_DLL OCTCoordinateTransformationOptionsSetOperation(
1047 OGRCoordinateTransformationOptionsH hOptions,
1048 const char* pszCO, int bReverseCO);
1049
1050 int CPL_DLL OCTCoordinateTransformationOptionsSetAreaOfInterest(
1051 OGRCoordinateTransformationOptionsH hOptions,
1052 double dfWestLongitudeDeg,
1053 double dfSouthLatitudeDeg,
1054 double dfEastLongitudeDeg,
1055 double dfNorthLatitudeDeg);
1056
1057 void CPL_DLL OCTDestroyCoordinateTransformationOptions(OGRCoordinateTransformationOptionsH);
1058
1059 OGRCoordinateTransformationH CPL_DLL
1060 OCTNewCoordinateTransformationEx( OGRSpatialReferenceH hSourceSRS,
1061 OGRSpatialReferenceH hTargetSRS,
1062 OGRCoordinateTransformationOptionsH hOptions );
1063
1064 void CPL_DLL CPL_STDCALL
1065 OCTDestroyCoordinateTransformation( OGRCoordinateTransformationH );
1066
1067 int CPL_DLL CPL_STDCALL
1068 OCTTransform( OGRCoordinateTransformationH hCT,
1069 int nCount, double *x, double *y, double *z );
1070
1071 int CPL_DLL CPL_STDCALL
1072 OCTTransformEx( OGRCoordinateTransformationH hCT,
1073 int nCount, double *x, double *y, double *z,
1074 int *pabSuccess );
1075
1076 int CPL_DLL
1077 OCTTransform4D( OGRCoordinateTransformationH hCT,
1078 int nCount, double *x, double *y, double *z, double *t,
1079 int *pabSuccess );
1080
1081 CPL_C_END
1082
1083 #endif /* ndef SWIG */
1084
1085 #endif /* ndef OGR_SRS_API_H_INCLUDED */
OSRGetNormProjParm
double OSRGetNormProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
This function is the same as OGRSpatialReference::
Definition: ogrspatialreference.cpp:5180
OSRDestroySpatialReference
void OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:801
OSRGetAxisMappingStrategy
OSRAxisMappingStrategy OSRGetAxisMappingStrategy(OGRSpatialReferenceH hSRS)
Return the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:11072
OSRSetMercator2SP
OGRErr OSRSetMercator2SP(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Mercator 2SP.
Definition: ogrspatialreference.cpp:6704
OCTTransformEx
int OCTTransformEx(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:2107
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:11263
OSRClone
OGRSpatialReferenceH OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:1247
OSRSetEquirectangular2
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Equirectangular generalized form.
Definition: ogrspatialreference.cpp:5891
OSRSetIWMPolyconic
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
International Map of the World Polyconic.
Definition: ogrspatialreference.cpp:6358
OSRGetCRSInfoListFromDatabase
OSRCRSInfo ** OSRGetCRSInfoListFromDatabase(const char *pszAuthName, const OSRCRSListParameters *params, int *pnOutResultCount)
Enumerate CRS objects from the database.
Definition: ogrspatialreference.cpp:11297
OSRSetLocalCS
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:4519
OSRMorphFromESRI
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogrspatialreference.cpp:10409
OSR_CRS_TYPE_GEOGRAPHIC_2D
Geographic 2D CRS.
Definition: ogr_srs_api.h:970
OSRIsCompound
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:8095
OSRGetName
const char * OSRGetName(OGRSpatialReferenceH hSRS)
Return the CRS name.
Definition: ogrspatialreference.cpp:1200
OSR_CRS_TYPE_PROJECTED
Projected CRS.
Definition: ogr_srs_api.h:976
OSRSetUTM
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:7189
OSRDemoteTo2D
OGRErr OSRDemoteTo2D(OGRSpatialReferenceH hSRS, const char *pszName)
"Demote" a 3D CRS to a 2D CRS one.
Definition: ogrspatialreference.cpp:11565
OSRAddGuessedTOWGS84
OGRErr OSRAddGuessedTOWGS84(OGRSpatialReferenceH hSRS)
Try to add a a 3-parameter or 7-parameter Helmert transformation to WGS84.
Definition: ogrspatialreference.cpp:10645
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:2134
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
OSR_CRS_TYPE_VERTICAL
Vertical CRS.
Definition: ogr_srs_api.h:978
OSRSetNZMG
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
New Zealand Map Grid.
Definition: ogrspatialreference.cpp:6772
OSRDestroyCRSInfoList
void OSRDestroyCRSInfoList(OSRCRSInfo **list)
Destroy the result returned by OSRGetCRSInfoListFromDatabase().
Definition: ogrspatialreference.cpp:11367
OSRGetDataAxisToSRSAxisMapping
const int * OSRGetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int *pnCount)
Return the data axis to SRS axis mapping.
Definition: ogrspatialreference.cpp:11140
OCTCoordinateTransformationOptionsSetAreaOfInterest
int OCTCoordinateTransformationOptionsSetAreaOfInterest(OGRCoordinateTransformationOptionsH hOptions, double dfWestLongitudeDeg, double dfSouthLatitudeDeg, double dfEastLongitudeDeg, double dfNorthLatitudeDeg)
Sets an area of interest.
Definition: ogrct.cpp:224
OCTNewCoordinateTransformationOptions
OGRCoordinateTransformationOptionsH OCTNewCoordinateTransformationOptions(void)
Create coordinate transformation options.
Definition: ogrct.cpp:140
OSRSetMercator
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Mercator.
Definition: ogrspatialreference.cpp:6653
OSR_CRS_TYPE_COMPOUND
Compound CRS.
Definition: ogr_srs_api.h:980
OSRImportFromEPSG
OGRErr OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:10711
OSRConvertToOtherProjection
OGRSpatialReferenceH OSRConvertToOtherProjection(OGRSpatialReferenceH hSRS, const char *pszTargetProjection, const char *const *papszOptions)
Convert to another equivalent projection.
Definition: ogrspatialreference.cpp:8924
OGRCoordinateTransformationOptionsH
struct OGRCoordinateTransformationOptions * OGRCoordinateTransformationOptionsH
Coordinate transformation options.
Definition: ogr_srs_api.h:1042
OSRImportFromEPSGA
OGRErr OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:10663
OSRSetOrthographic
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Orthographic.
Definition: ogrspatialreference.cpp:6841
OSRIsDerivedGeographic
int OSRIsDerivedGeographic(OGRSpatialReferenceH)
Check if derived geographic coordinate system.
Definition: ogrspatialreference.cpp:8325
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:5409
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:1004
OSRSetTMG
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Tunesia Mining Grid.
Definition: ogrspatialreference.cpp:5442
OSRSetLinearUnits
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2426
OSRIsLocal
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:8361
OAO_South
South.
Definition: ogr_srs_api.h:51
OSRExportToPROJJSON
OGRErr OSRExportToPROJJSON(OGRSpatialReferenceH hSRS, char **ppszReturn, const char *const *papszOptions)
Convert this SRS into PROJJSON format.
Definition: ogrspatialreference.cpp:1689
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:6285
OCTNewCoordinateTransformationEx
OGRCoordinateTransformationH OCTNewCoordinateTransformationEx(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS, OGRCoordinateTransformationOptionsH hOptions)
Create transformation object.
Definition: ogrct.cpp:663
OSRReference
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:887
OSRSetGaussSchreiberTMercator
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Gauss Schreiber Transverse Mercator.
Definition: ogrspatialreference.cpp:6059
OSRAxisMappingStrategy
OSRAxisMappingStrategy
Data axis to CRS axis mapping strategy.
Definition: ogr_srs_api.h:659
OSRSetProjCS
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:4841
OSRImportFromPanorama
OGRErr OSRImportFromPanorama(OGRSpatialReferenceH, long, long, long, double *)
Import coordinate system from "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:200
OSRAutoIdentifyEPSG
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:514
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:6157
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a Spatial Reference object.
Definition: ogr_srs_api.h:459
OSRGetTargetLinearUnits
double OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:2820
OSRSetLAEA
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Azimuthal Equal-Area.
Definition: ogrspatialreference.cpp:6467
OSRGetAxis
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:9744
OAO_West
West.
Definition: ogr_srs_api.h:53
OSR_CRS_TYPE_GEOCENTRIC
Geocentric CRS.
Definition: ogr_srs_api.h:974
OSRSetVDG
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
VanDerGrinten.
Definition: ogrspatialreference.cpp:7133
OSRSetProjection
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:4899
OSRGetAuthorityName
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:7868
OSRSetLinearUnitsAndUpdateParameters
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2375
OSRSetGnomonic
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Gnomonic.
Definition: ogrspatialreference.cpp:6095
OSRSetGEOS
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
GEOS - Geostationary Satellite View.
Definition: ogrspatialreference.cpp:6022
OSRImportFromProj4
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ coordinate string.
Definition: ogrspatialreference.cpp:10102
OSRSetPROJSearchPaths
void OSRSetPROJSearchPaths(const char *const *papszPaths)
Set the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:303
OSRSetEquirectangular
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equirectangular.
Definition: ogrspatialreference.cpp:5841
OSRSetAuthority
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:7654
OSRSetTMSO
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator (South Oriented)
Definition: ogrspatialreference.cpp:5373
OSRSetEckertIV
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert IV.
Definition: ogrspatialreference.cpp:5763
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:7470
OSRSetDataAxisToSRSAxisMapping
OGRErr OSRSetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int nMappingSize, const int *panMapping)
Set a custom data axis to CRS axis mapping.
Definition: ogrspatialreference.cpp:11183
OSRSetMC
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Miller Cylindrical.
Definition: ogrspatialreference.cpp:6610
OSRExportToPCI
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:729
OSRSetAngularUnits
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:2164
OSRNewSpatialReference
OGRSpatialReferenceH OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:717
OSRImportFromPCI
OGRErr OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *, const char *, double *)
Import coordinate system from PCI projection definition.
Definition: ogr_srs_pci.cpp:147
OSRGetTOWGS84
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:9235
OSR_CRS_TYPE_OTHER
Other.
Definition: ogr_srs_api.h:982
OSRGetSemiMinor
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:4464
OSRCleanup
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:9458
OSRGetLinearUnits
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:2625
OSR_CRS_TYPE_GEOGRAPHIC_3D
Geographic 3D CRS.
Definition: ogr_srs_api.h:972
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:6401
OAO_Down
Down (to Earth center)
Definition: ogr_srs_api.h:55
OSRCRSInfo::pszAuthName
char * pszAuthName
Authority name.
Definition: ogr_srs_api.h:993
OSRSetCompoundCS
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:4773
OSRSetEckert
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert I-VI.
Definition: ogrspatialreference.cpp:5731
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_api.h:77
OSRCalcSemiMinorFromInvFlattening
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:10036
OSRSetTM
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator.
Definition: ogrspatialreference.cpp:5270
OSRSetSOC
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Swiss Oblique Cylindrical.
Definition: ogrspatialreference.cpp:7100
OSRCRSInfo::dfEastLongitudeDeg
double dfEastLongitudeDeg
Eastern-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1010
OSRImportFromDict
OGRErr OSRImportFromDict(OGRSpatialReferenceH, const char *, const char *)
Read SRS from WKT dictionary.
Definition: ogr_srs_dict.cpp:175
OSRCRSListParameters
struct OSRCRSListParameters OSRCRSListParameters
Structure to describe optional parameters to OSRGetCRSInfoListFromDatabase()
Definition: ogr_srs_api.h:1024
OSRDereference
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:927
OCTDestroyCoordinateTransformation
void OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:450
OSRIsGeocentric
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:8199
OAO_Up
Up (to space)
Definition: ogr_srs_api.h:54
OSRGetPROJSearchPaths
char ** OSRGetPROJSearchPaths(void)
Get the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:319
OAO_North
North.
Definition: ogr_srs_api.h:50
OSRCRSInfo::dfWestLongitudeDeg
double dfWestLongitudeDeg
Western-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1006
OSRCRSInfo::dfSouthLatitudeDeg
double dfSouthLatitudeDeg
Southern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1008
OSRIsSame
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:8772
OSRSetTOWGS84
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:9178
OSRCloneGeogCS
OGRSpatialReferenceH OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:8515
OSRExportToWktEx
OGRErr OSRExportToWktEx(OGRSpatialReferenceH, char **ppszResult, const char *const *papszOptions)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:1610
OAMS_CUSTOM
Custom.
Definition: ogr_srs_api.h:663
OSRCRSInfo::pszProjectionMethod
char * pszProjectionMethod
Name of the projection method for a projected CRS.
Definition: ogr_srs_api.h:1017
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:75
OSRSetPolyconic
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Polyconic.
Definition: ogrspatialreference.cpp:6876
OCTDestroyCoordinateTransformationOptions
void OCTDestroyCoordinateTransformationOptions(OGRCoordinateTransformationOptionsH)
Destroy coordinate transformation options.
Definition: ogrct.cpp:153
OSRSetPS
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Polar Stereographic.
Definition: ogrspatialreference.cpp:6946
OSRSetMollweide
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Mollweide.
Definition: ogrspatialreference.cpp:6739
OSRGetAxesCount
int OSRGetAxesCount(OGRSpatialReferenceH hSRS)
Return the number of axis of the coordinate system of the CRS.
Definition: ogrspatialreference.cpp:9524
OSRSetFromUserInput
OGRErr OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:3623
OSRSetGeocCS
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:4615
OSRAxisEnumToName
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:9766
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:8965
OSRExportToUSGS
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:798
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:6221
OSRSetIGH
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Interrupted Goode Homolosine.
Definition: ogrspatialreference.cpp:5992
OSRGetAngularUnits
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:2299
ogr_core.h
Core portability services for cross-platform OGR code.
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:3063
OSRSetWagner
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Wagner I – VII.
Definition: ogrspatialreference.cpp:7360
OSRCalcInvFlattening
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:10008
OSRSetACEA
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Albers Conic Equal Area.
Definition: ogrspatialreference.cpp:5479
OSRValidate
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogrspatialreference.cpp:1938
OSRExportToProj4
OGRErr OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 legacy format.
Definition: ogrspatialreference.cpp:10189
OGRAxisOrientation
OGRAxisOrientation
Axis orientations (corresponds to CS_AxisOrientationEnum).
Definition: ogr_srs_api.h:48
OSRSetLCCB
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic (Belgium)
Definition: ogrspatialreference.cpp:6573
OSRExportToXML
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:746
OSRIsSameVertCS
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS&#39;es match?
Definition: ogrspatialreference.cpp:8664
OSRPromoteTo3D
OGRErr OSRPromoteTo3D(OGRSpatialReferenceH hSRS, const char *pszName)
"Promotes" a 2D CRS to a 3D CRS one.
Definition: ogrspatialreference.cpp:11520
OSRImportFromOzi
OGRErr OSRImportFromOzi(OGRSpatialReferenceH, const char *const *)
Import coordinate system from OziExplorer projection definition.
Definition: ogr_srs_ozi.cpp:68
OAMS_TRADITIONAL_GIS_ORDER
Traditional GIS order.
Definition: ogr_srs_api.h:661
OSRIsGeographic
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:8277
OSRCRSInfo::pszName
char * pszName
Object name.
Definition: ogr_srs_api.h:997
OSRExportToWkt
OGRErr OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT 1 format.
Definition: ogrspatialreference.cpp:1587
OSRCRSInfo::pszAreaName
char * pszAreaName
Name of the area of use.
Definition: ogr_srs_api.h:1014
OSRGetProjParm
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:5113
OSRExportToERM
OGRErr OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *)
Convert coordinate system to ERMapper format.
Definition: ogr_srs_erm.cpp:163
OSRSetBonne
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Bonne.
Definition: ogrspatialreference.cpp:5547
OSRExportToMICoordSys
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:9892
OSRSetQSC
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Quadrilateralized Spherical Cube.
Definition: ogrspatialreference.cpp:7390
OSRImportFromESRI
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:238
OSRCRSType
OSRCRSType
Type of Coordinate Reference System (CRS).
Definition: ogr_srs_api.h:967
OSRGetAuthorityCode
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:7763
OAMS_AUTHORITY_COMPLIANT
Compliant with the order mandated by the CRS authority.
Definition: ogr_srs_api.h:662
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:9863
OSRImportFromERM
OGRErr OSRImportFromERM(OGRSpatialReferenceH, const char *, const char *, const char *)
Create OGR WKT from ERMapper projection definitions.
Definition: ogr_srs_erm.cpp:55
OCTCoordinateTransformationOptionsSetOperation
int OCTCoordinateTransformationOptionsSetOperation(OGRCoordinateTransformationOptionsH hOptions, const char *pszCO, int bReverseCO)
Sets a coordinate operation.
Definition: ogrct.cpp:298
OSRGetUTMZone
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:7278
OSRCopyGeogCSFrom
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, const OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:3329
OSRExportToPanorama
OGRErr OSRExportToPanorama(OGRSpatialReferenceH, long *, long *, long *, long *, double *)
Export coordinate system in "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:624
OSREPSGTreatsAsLatLong
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogrspatialreference.cpp:10793
OSRSetNormProjParm
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:5240
OCTNewCoordinateTransformation
OGRCoordinateTransformationH OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Create transformation object.
Definition: ogrct.cpp:613
OSRGetPrimeMeridian
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:2935
OSRCRSInfo::dfNorthLatitudeDeg
double dfNorthLatitudeDeg
Northern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1012
OSRSetWellKnownGeogCS
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:3211
OSRSetGH
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Goode Homolosine.
Definition: ogrspatialreference.cpp:5961
OSRSetSCH
OGRErr OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat, double dfPegLong, double dfPegHeading, double dfPegHgt)
Spherical, Cross-track, Height.
Definition: ogrspatialreference.cpp:7420
OSRSetVertCS
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:4693
OSRIsSameGeogCS
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS&#39;es match?
Definition: ogrspatialreference.cpp:8601
OSREPSGTreatsAsNorthingEasting
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this projected coordinate system should be treated as having...
Definition: ogrspatialreference.cpp:10888
OSRSetTargetLinearUnits
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:2551
OSRIsVertical
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:8426
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
OSRSetStatePlaneWithUnits
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:275
OSRSetEC
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equidistant Conic.
Definition: ogrspatialreference.cpp:5648
OSRSetSinusoidal
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Sinusoidal.
Definition: ogrspatialreference.cpp:7014
OAO_East
East.
Definition: ogr_srs_api.h:52
OSRSetEckertVI
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert VI.
Definition: ogrspatialreference.cpp:5794
OSRRelease
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:975
OSRCRSInfo::pszCode
char * pszCode
Object code.
Definition: ogr_srs_api.h:995
OSRSetRobinson
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Robinson.
Definition: ogrspatialreference.cpp:6981
OSRIsSameEx
int OSRIsSameEx(OGRSpatialReferenceH, OGRSpatialReferenceH, const char *const *papszOptions)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:8791
OSRSetAE
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Azimuthal Equidistant.
Definition: ogrspatialreference.cpp:5514
OSRImportFromUrl
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:3731
OSRSetGS
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Gall Stereograpic.
Definition: ogrspatialreference.cpp:5927
OSRGetPROJVersion
void OSRGetPROJVersion(int *pnMajor, int *pnMinor, int *pnPatch)
Get the PROJ version.
Definition: ogr_proj_p.cpp:348
OGRErr
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
OSRSetStatePlane
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:256
OSRImportFromXML
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1310
OSRSetTMVariant
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator variant.
Definition: ogrspatialreference.cpp:5311
OSRGetInvFlattening
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:4367
OSRCRSInfo::bDeprecated
int bDeprecated
Whether the object is deprecated.
Definition: ogr_srs_api.h:1001
OSRExportToPrettyWkt
OGRErr OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a nicely formatted WKT 1 string for display to a person.
Definition: ogrspatialreference.cpp:1328
OSRCRSInfo
Structure given overall description of a CRS.
Definition: ogr_srs_api.h:990
OSRGetAttrValue
const char * OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:1156
OSRSetStereographic
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Stereographic.
Definition: ogrspatialreference.cpp:7049
OSRSetAttrValue
OGRErr OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:2062
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_srs_api.h:461
OCTTransform
int OCTTransform(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z)
Transform an array of points.
Definition: ogrct.cpp:2083
OSRSetCS
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Cassini-Soldner.
Definition: ogrspatialreference.cpp:5611
OSRCRSInfo::eType
OSRCRSType eType
Object type.
Definition: ogr_srs_api.h:999
OSRSetLCC
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic.
Definition: ogrspatialreference.cpp:6501
OSRIsProjected
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:8156
OSRSetOS
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Stereographic.
Definition: ogrspatialreference.cpp:6806
OSRMorphToESRI
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogrspatialreference.cpp:10359
OSRSetAxisMappingStrategy
void OSRSetAxisMappingStrategy(OGRSpatialReferenceH hSRS, OSRAxisMappingStrategy strategy)
Set the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:11103
OSRImportFromMICoordSys
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:9947
OSRImportFromWkt
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:1959
OSRFreeSRSArray
void OSRFreeSRSArray(OGRSpatialReferenceH *pahSRS)
Free return of OSRIdentifyMatches()
Definition: ogrspatialreference.cpp:8991
OGRCoordinateTransformationOptions
Context for coordinate transformation.
Definition: ogr_spatialref.h:824
OSRImportFromUSGS
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:165
OSRSetCEA
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Cylindrical Equal Area.
Definition: ogrspatialreference.cpp:5579
OAO_Other
Other.
Definition: ogr_srs_api.h:49
OSRSetLCC1SP
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic 1SP.
Definition: ogrspatialreference.cpp:6537
OSRSetProjParm
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:4982
OSRGetSemiMajor
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:4306