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#ifndef SWIG
35#include "ogr_core.h"
36
38
48typedef enum {
55 OAO_Down=6
57
58const 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"
81#define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
83#define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
85#define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
87#define SRS_PT_BONNE "Bonne"
89#define SRS_PT_ECKERT_I "Eckert_I"
91#define SRS_PT_ECKERT_II "Eckert_II"
93#define SRS_PT_ECKERT_III "Eckert_III"
95#define SRS_PT_ECKERT_IV "Eckert_IV"
97#define SRS_PT_ECKERT_V "Eckert_V"
99#define SRS_PT_ECKERT_VI "Eckert_VI"
101#define SRS_PT_EQUIDISTANT_CONIC \
102 "Equidistant_Conic"
104#define SRS_PT_EQUIRECTANGULAR "Equirectangular"
106#define SRS_PT_GALL_STEREOGRAPHIC \
107 "Gall_Stereographic"
109#define SRS_PT_GAUSSSCHREIBERTMERCATOR \
110 "Gauss_Schreiber_Transverse_Mercator"
112#define SRS_PT_GEOSTATIONARY_SATELLITE \
113 "Geostationary_Satellite"
115#define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
117#define SRS_PT_IGH "Interrupted_Goode_Homolosine"
119#define SRS_PT_GNOMONIC "Gnomonic"
121#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \
122 "Hotine_Oblique_Mercator_Azimuth_Center"
124#define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
125 "Hotine_Oblique_Mercator"
127#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
128 "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
130#define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
131 "Laborde_Oblique_Mercator"
133#define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
134 "Lambert_Conformal_Conic_1SP"
136#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
137 "Lambert_Conformal_Conic_2SP"
139#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
140 "Lambert_Conformal_Conic_2SP_Belgium"
142#define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
143 "Lambert_Azimuthal_Equal_Area"
145#define SRS_PT_MERCATOR_1SP "Mercator_1SP"
147#define SRS_PT_MERCATOR_2SP "Mercator_2SP"
149#define SRS_PT_MERCATOR_AUXILIARY_SPHERE \
150 "Mercator_Auxiliary_Sphere"
152#define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
154#define SRS_PT_MOLLWEIDE "Mollweide"
156#define SRS_PT_NEW_ZEALAND_MAP_GRID \
157 "New_Zealand_Map_Grid"
159#define SRS_PT_OBLIQUE_STEREOGRAPHIC \
160 "Oblique_Stereographic"
162#define SRS_PT_ORTHOGRAPHIC "Orthographic"
164#define SRS_PT_POLAR_STEREOGRAPHIC \
165 "Polar_Stereographic"
167#define SRS_PT_POLYCONIC "Polyconic"
169#define SRS_PT_ROBINSON "Robinson"
171#define SRS_PT_SINUSOIDAL "Sinusoidal"
173#define SRS_PT_STEREOGRAPHIC "Stereographic"
175#define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
176 "Swiss_Oblique_Cylindrical"
178#define SRS_PT_TRANSVERSE_MERCATOR \
179 "Transverse_Mercator"
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"
189#define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
190 "Transverse_Mercator_MapInfo_22"
192#define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
193 "Transverse_Mercator_MapInfo_23"
195#define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
196 "Transverse_Mercator_MapInfo_24"
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"
205#define SRS_PT_TWO_POINT_EQUIDISTANT \
206 "Two_Point_Equidistant"
208#define SRS_PT_VANDERGRINTEN "VanDerGrinten"
210#define SRS_PT_KROVAK "Krovak"
212#define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
214#define SRS_PT_WAGNER_I "Wagner_I"
216#define SRS_PT_WAGNER_II "Wagner_II"
218#define SRS_PT_WAGNER_III "Wagner_III"
220#define SRS_PT_WAGNER_IV "Wagner_IV"
222#define SRS_PT_WAGNER_V "Wagner_V"
224#define SRS_PT_WAGNER_VI "Wagner_VI"
226#define SRS_PT_WAGNER_VII "Wagner_VII"
228#define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
230#define SRS_PT_AITOFF "Aitoff"
232#define SRS_PT_WINKEL_I "Winkel_I"
234#define SRS_PT_WINKEL_II "Winkel_II"
236#define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
238#define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
240#define SRS_PT_LOXIMUTHAL "Loximuthal"
242#define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
244#define SRS_PT_SCH "Spherical_Cross_Track_Height"
245
247#define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
249#define SRS_PP_SCALE_FACTOR "scale_factor"
251#define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
253#define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
255#define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
257#define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
259#define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
261#define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
263#define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
265#define SRS_PP_FALSE_EASTING "false_easting"
267#define SRS_PP_FALSE_NORTHING "false_northing"
269#define SRS_PP_AZIMUTH "azimuth"
271#define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
273#define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
275#define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
277#define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
279#define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
281#define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
283#define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
285#define SRS_PP_LANDSAT_NUMBER "landsat_number"
287#define SRS_PP_PATH_NUMBER "path_number"
289#define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
291#define SRS_PP_SATELLITE_HEIGHT "satellite_height"
293#define SRS_PP_FIPSZONE "fipszone"
295#define SRS_PP_ZONE "zone"
297#define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
299#define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
301#define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
303#define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
305#define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude"
307#define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude"
309#define SRS_PP_PEG_POINT_HEADING "peg_point_heading"
311#define SRS_PP_PEG_POINT_HEIGHT "peg_point_height"
312
314#define SRS_UL_METER "Meter"
316#define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
318#define SRS_UL_FOOT_CONV "0.3048"
320#define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
322#define SRS_UL_US_FOOT_CONV "0.3048006096012192"
324#define SRS_UL_NAUTICAL_MILE "Nautical Mile"
326#define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
328#define SRS_UL_LINK "Link" /* Based on US Foot */
330#define SRS_UL_LINK_CONV "0.20116684023368047"
332#define SRS_UL_CHAIN "Chain" /* based on US Foot */
334#define SRS_UL_CHAIN_CONV "20.116684023368047"
336#define SRS_UL_ROD "Rod" /* based on US Foot */
338#define SRS_UL_ROD_CONV "5.02921005842012"
340#define SRS_UL_LINK_Clarke "Link_Clarke"
342#define SRS_UL_LINK_Clarke_CONV "0.2011661949"
343
345#define SRS_UL_KILOMETER "Kilometer"
347#define SRS_UL_KILOMETER_CONV "1000."
349#define SRS_UL_DECIMETER "Decimeter"
351#define SRS_UL_DECIMETER_CONV "0.1"
353#define SRS_UL_CENTIMETER "Centimeter"
355#define SRS_UL_CENTIMETER_CONV "0.01"
357#define SRS_UL_MILLIMETER "Millimeter"
359#define SRS_UL_MILLIMETER_CONV "0.001"
361#define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
363#define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
365#define SRS_UL_INTL_INCH "Inch_International"
367#define SRS_UL_INTL_INCH_CONV "0.0254"
369#define SRS_UL_INTL_FOOT "Foot_International"
371#define SRS_UL_INTL_FOOT_CONV "0.3048"
373#define SRS_UL_INTL_YARD "Yard_International"
375#define SRS_UL_INTL_YARD_CONV "0.9144"
377#define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
379#define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
381#define SRS_UL_INTL_FATHOM "Fathom_International"
383#define SRS_UL_INTL_FATHOM_CONV "1.8288"
385#define SRS_UL_INTL_CHAIN "Chain_International"
387#define SRS_UL_INTL_CHAIN_CONV "20.1168"
389#define SRS_UL_INTL_LINK "Link_International"
391#define SRS_UL_INTL_LINK_CONV "0.201168"
393#define SRS_UL_US_INCH "Inch_US_Surveyor"
395#define SRS_UL_US_INCH_CONV "0.025400050800101603"
397#define SRS_UL_US_YARD "Yard_US_Surveyor"
399#define SRS_UL_US_YARD_CONV "0.914401828803658"
401#define SRS_UL_US_CHAIN "Chain_US_Surveyor"
403#define SRS_UL_US_CHAIN_CONV "20.11684023368047"
405#define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
407#define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
409#define SRS_UL_INDIAN_YARD "Yard_Indian"
411#define SRS_UL_INDIAN_YARD_CONV "0.91439523"
413#define SRS_UL_INDIAN_FOOT "Foot_Indian"
415#define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
417#define SRS_UL_INDIAN_CHAIN "Chain_Indian"
419#define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
420
422#define SRS_UA_DEGREE "degree"
424#define SRS_UA_DEGREE_CONV "0.0174532925199433"
426#define SRS_UA_RADIAN "radian"
427
429#define SRS_PM_GREENWICH "Greenwich"
430
432#define SRS_DN_NAD27 "North_American_Datum_1927"
434#define SRS_DN_NAD83 "North_American_Datum_1983"
436#define SRS_DN_WGS72 "WGS_1972"
438#define SRS_DN_WGS84 "WGS_1984"
439
441#define SRS_WGS84_SEMIMAJOR 6378137.0
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
451#define DEFINED_OGRSpatialReferenceH
454#ifdef DEBUG
455typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
456typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
457#else
462#endif
463
464#endif
465
466void CPL_DLL OSRSetPROJSearchPaths( const char* const * papszPaths );
467char CPL_DLL **OSRGetPROJSearchPaths( void );
468void CPL_DLL OSRSetPROJAuxDbPaths( const char* const * papszPaths );
469char CPL_DLL **OSRGetPROJAuxDbPaths( void );
470void CPL_DLL OSRSetPROJEnableNetwork( int enabled );
471int CPL_DLL OSRGetPROJEnableNetwork( void );
472void CPL_DLL OSRGetPROJVersion( int* pnMajor, int* pnMinor, int* pnPatch );
473
474OGRSpatialReferenceH CPL_DLL CPL_STDCALL
475 OSRNewSpatialReference( const char * /* = NULL */);
478void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
479
482void CPL_DLL OSRRelease( OGRSpatialReferenceH );
483
485
486OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
487OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
489OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
491OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
492 const char *, double * );
494 long, long, double *, long);
495OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
496OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
497 const char * );
498OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
499 double * );
500OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
503 const char *, const char *, const char * );
504OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
505
506OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
507OGRErr CPL_DLL OSRExportToWktEx( OGRSpatialReferenceH, char ** ppszResult,
508 const char* const* papszOptions );
509OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
511 char ** ppszReturn,
512 const char* const* papszOptions );
513OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
514OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
515 double ** );
516OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
517 double **, long * );
518OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
519OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
520 long *, long *, double * );
522OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
523
526
528
531 const char* pszTargetProjection,
532 const char* const* papszOptions );
533
534const char CPL_DLL* OSRGetName( OGRSpatialReferenceH hSRS );
535
536OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
537 const char * pszNodePath,
538 const char * pszNewNodeValue );
539const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
540 const char * pszName, int iChild /* = 0 */ );
541
542OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
543double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
544OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
545OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
547 OGRSpatialReferenceH, const char *, double );
548double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
549double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
550
551double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
552
555int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
565 const char* const *papszOptions );
566
567void CPL_DLL OSRSetCoordinateEpoch( OGRSpatialReferenceH hSRS, double dfCoordinateEpoch );
568double CPL_DLL OSRGetCoordinateEpoch( OGRSpatialReferenceH hSRS );
569
570OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
571OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
572OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
574 const char * pszName );
575OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
576 const char * );
578 const OGRSpatialReferenceH hSrcSRS );
580 double, double, double,
581 double, double, double, double );
582OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
584
586 const char *pszName,
587 OGRSpatialReferenceH hHorizSRS,
588 OGRSpatialReferenceH hVertSRS );
589OGRErr CPL_DLL OSRPromoteTo3D( OGRSpatialReferenceH hSRS, const char* pszName );
590OGRErr CPL_DLL OSRDemoteTo2D( OGRSpatialReferenceH hSRS, const char* pszName );
591
593 const char * pszGeogName,
594 const char * pszDatumName,
595 const char * pszEllipsoidName,
596 double dfSemiMajor, double dfInvFlattening,
597 const char * pszPMName /* = NULL */,
598 double dfPMOffset /* = 0.0 */,
599 const char * pszUnits /* = NULL */,
600 double dfConvertToRadians /* = 0.0 */ );
601
603 const char * pszVertCSName,
604 const char * pszVertDatumName,
605 int nVertDatumType );
606
607double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
608double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
609double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
610
612 const char * pszTargetKey,
613 const char * pszAuthority,
614 int nCode );
615const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
616 const char * pszTargetKey );
617const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
618 const char * pszTargetKey );
619
620int CPL_DLL OSRGetAreaOfUse( OGRSpatialReferenceH hSRS,
621 double* pdfWestLongitudeDeg,
622 double* pdfSouthLatitudeDeg,
623 double* pdfEastLongitudeDeg,
624 double* pdfNorthLatitudeDeg,
625 const char **ppszAreaName );
626
627OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
628OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
629double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
630 const char * pszParamName,
631 double dfDefault /* = 0.0 */,
632 OGRErr * /* = NULL */ );
633OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
634double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
635 const char * pszParamName,
636 double dfDefault /* = 0.0 */,
637 OGRErr * /* = NULL */ );
638
639OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
640int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
642 int nZone, int bNAD83 );
644 int nZone, int bNAD83,
645 const char *pszOverrideUnitName,
646 double dfOverrideUnit );
648
650 char** papszOptions,
651 int* pnEntries,
652 int** ppanMatchConfidence );
653void CPL_DLL OSRFreeSRSArray(OGRSpatialReferenceH* pahSRS);
654
657const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
658 const char *pszTargetKey, int iAxis,
659 OGRAxisOrientation *peOrientation );
660int CPL_DLL OSRGetAxesCount( OGRSpatialReferenceH hSRS );
662 const char *pszTargetKey,
663 const char *pszXAxisName,
664 OGRAxisOrientation eXAxisOrientation,
665 const char *pszYAxisName,
666 OGRAxisOrientation eYAxisOrientation );
667
669typedef enum
670{
675
677
679 OSRAxisMappingStrategy strategy );
680
681const int CPL_DLL *OSRGetDataAxisToSRSAxisMapping( OGRSpatialReferenceH hSRS, int* pnCount );
682
684 int nMappingSize,
685 const int* panMapping );
686
688OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
689 double dfCenterLat, double dfCenterLong,
690 double dfFalseEasting, double dfFalseNorthing );
691
693OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
694 double dfFalseEasting, double dfFalseNorthing );
695
698 double dfStandardParallel, double dfCentralMeridian,
699 double dfFalseEasting, double dfFalseNorthing );
700
702OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
703 double dfFalseEasting, double dfFalseNorthing );
704
706OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
707 double dfFalseEasting, double dfFalseNorthing );
708
710OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
711 double dfCenterLat, double dfCenterLong,
712 double dfFalseEasting, double dfFalseNorthing );
713
715OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
716 double dfCentralMeridian,
717 double dfFalseEasting, double dfFalseNorthing );
718
720OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
721 double dfFalseEasting, double dfFalseNorthing );
722
724OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
725 double dfFalseEasting, double dfFalseNorthing );
726
729 double dfCenterLat, double dfCenterLong,
730 double dfFalseEasting, double dfFalseNorthing );
731
734 double dfCenterLat, double dfCenterLong,
735 double dfPseudoStdParallel1,
736 double dfFalseEasting,
737 double dfFalseNorthing );
738
740OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
741 double dfFalseEasting, double dfFalseNorthing );
742
744OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
745 double dfFalseEasting, double dfFalseNorthing );
746
749
752 double dfCentralMeridian, double dfSatelliteHeight,
753 double dfFalseEasting, double dfFalseNorthing );
754
757 double dfCenterLat, double dfCenterLong,
758 double dfScale,
759 double dfFalseEasting,
760 double dfFalseNorthing );
763 double dfCenterLat, double dfCenterLong,
764 double dfFalseEasting, double dfFalseNorthing );
765
766#ifdef undef
768OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
769 double dfCenterLat, double dfCenterLong,
770 double dfAzimuth, double dfRectToSkew,
771 double dfScale,
772 double dfFalseEasting, double dfFalseNorthing );
773#endif
774
777 double dfCenterLat, double dfCenterLong,
778 double dfAzimuth, double dfRectToSkew,
779 double dfScale,
780 double dfFalseEasting, double dfFalseNorthing );
781
783 double dfCenterLat, double dfCenterLong,
784 double dfAzimuth, double dfRectToSkew,
785 double dfScale,
786 double dfFalseEasting,
787 double dfFalseNorthing );
788
790OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
791 double dfLat1, double dfLong1,
792 double dfLat2, double dfLong2,
793 double dfScale,
794 double dfFalseEasting, double dfFalseNorthing );
795
798 double dfLat1, double dfLat2,
799 double dfCenterLong,
800 double dfFalseEasting,
801 double dfFalseNorthing );
802
805 double dfCenterLat, double dfCenterLong,
806 double dfAzimuth, double dfPseudoStdParallelLat,
807 double dfScale,
808 double dfFalseEasting, double dfFalseNorthing );
809
812 double dfCenterLat, double dfCenterLong,
813 double dfFalseEasting, double dfFalseNorthing );
814
817 double dfStdP1, double dfStdP2,
818 double dfCenterLat, double dfCenterLong,
819 double dfFalseEasting, double dfFalseNorthing );
820
823 double dfCenterLat, double dfCenterLong,
824 double dfScale,
825 double dfFalseEasting, double dfFalseNorthing );
826
829 double dfStdP1, double dfStdP2,
830 double dfCenterLat, double dfCenterLong,
831 double dfFalseEasting, double dfFalseNorthing );
832
835 double dfCenterLat, double dfCenterLong,
836 double dfFalseEasting, double dfFalseNorthing );
837
840 double dfCenterLat, double dfCenterLong,
841 double dfScale,
842 double dfFalseEasting, double dfFalseNorthing );
843
846 double dfStdP1,
847 double dfCenterLat, double dfCenterLong,
848 double dfFalseEasting, double dfFalseNorthing );
849
852 double dfCentralMeridian,
853 double dfFalseEasting,
854 double dfFalseNorthing );
855
858 double dfCenterLat, double dfCenterLong,
859 double dfFalseEasting, double dfFalseNorthing );
860
863 double dfOriginLat, double dfCMeridian,
864 double dfScale,
865 double dfFalseEasting,double dfFalseNorthing);
866
869 double dfCenterLat, double dfCenterLong,
870 double dfFalseEasting,
871 double dfFalseNorthing);
872
875 double dfCenterLat, double dfCenterLong,
876 double dfFalseEasting, double dfFalseNorthing );
877
880 double dfCenterLat, double dfCenterLong,
881 double dfScale,
882 double dfFalseEasting, double dfFalseNorthing);
883
886 double dfCenterLong,
887 double dfFalseEasting, double dfFalseNorthing );
888
891 double dfCenterLong,
892 double dfFalseEasting,
893 double dfFalseNorthing );
894
897 double dfCenterLat, double dfCenterLong,
898 double dfScale,
899 double dfFalseEasting,
900 double dfFalseNorthing);
901
904 double dfLatitudeOfOrigin, double dfCentralMeridian,
905 double dfFalseEasting, double dfFalseNorthing );
906
914 double dfCenterLat, double dfCenterLong,
915 double dfScale,
916 double dfFalseEasting, double dfFalseNorthing );
917
919OGRErr CPL_DLL OSRSetTMVariant(
920 OGRSpatialReferenceH hSRS, const char *pszVariantName,
921 double dfCenterLat, double dfCenterLong,
922 double dfScale,
923 double dfFalseEasting, double dfFalseNorthing );
924
927 double dfCenterLat, double dfCenterLong,
928 double dfFalseEasting, double dfFalseNorthing );
929
932 double dfCenterLat, double dfCenterLong,
933 double dfScale,
934 double dfFalseEasting, double dfFalseNorthing );
935
938 double dfLat1, double dfLong1,
939 double dfLat2, double dfLong2,
940 double dfFalseEasting, double dfFalseNorthing );
941
944 double dfCenterLong,
945 double dfFalseEasting, double dfFalseNorthing );
946
948OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
949 double dfCenterLat,
950 double dfFalseEasting,
951 double dfFalseNorthing );
952
955 double dfCenterLat, double dfCenterLong );
956
959 double dfPegLat, double dfPegLong,
960 double dfPegHeading, double dfPegHgt);
961
964 double dfTopoOriginLat,
965 double dfTopoOriginLon,
966 double dfTopoOriginHeight,
967 double dfViewPointHeight,
968 double dfFalseEasting,
969 double dfFalseNorthing);
970
971double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
972double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
973
974void CPL_DLL OSRCleanup( void );
975
977typedef enum
978{
993} OSRCRSType;
994
1000typedef struct
1001{
1005 char* pszCode;
1007 char* pszName;
1028} OSRCRSInfo;
1029
1035
1037 const char *pszAuthName,
1038 const OSRCRSListParameters* params,
1039 int *pnOutResultCount);
1040
1041void CPL_DLL OSRDestroyCRSInfoList(OSRCRSInfo** list);
1042
1043
1044/* -------------------------------------------------------------------- */
1045/* OGRCoordinateTransform C API. */
1046/* -------------------------------------------------------------------- */
1047OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
1049 OGRSpatialReferenceH hTargetSRS );
1050
1053
1055
1058 const char* pszCO, int bReverseCO);
1059
1062 double dfWestLongitudeDeg,
1063 double dfSouthLatitudeDeg,
1064 double dfEastLongitudeDeg,
1065 double dfNorthLatitudeDeg);
1066
1068 OGRCoordinateTransformationOptionsH hOptions, double dfAccuracy);
1069
1071 OGRCoordinateTransformationOptionsH hOptions, int bAllowBallpark);
1072
1074
1077 OGRSpatialReferenceH hTargetSRS,
1079
1084
1085void CPL_DLL CPL_STDCALL
1087
1088int CPL_DLL CPL_STDCALL
1090 int nCount, double *x, double *y, double *z );
1091
1092int CPL_DLL CPL_STDCALL
1094 int nCount, double *x, double *y, double *z,
1095 int *pabSuccess );
1096
1097int CPL_DLL
1099 int nCount, double *x, double *y, double *z, double *t,
1100 int *pabSuccess );
1101
1102int CPL_DLL
1104 int nCount, double *x, double *y, double *z, double *t,
1105 int *panErrorCodes );
1106
1107int CPL_DLL CPL_STDCALL
1109 const double xmin,
1110 const double ymin,
1111 const double xmax,
1112 const double ymax,
1113 double* out_xmin,
1114 double* out_ymin,
1115 double* out_xmax,
1116 double* out_ymax,
1117 const int densify_pts );
1118
1119
1121
1122#endif /* ndef SWIG */
1123
1124#endif /* ndef OGR_SRS_API_H_INCLUDED */
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:306
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:304
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_api.h:82
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:80
Core portability services for cross-platform OGR code.
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:341
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogrspatialreference.cpp:11707
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator.
Definition: ogrspatialreference.cpp:5770
OGRErr OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:11596
double OSRGetNormProjParm(OGRSpatialReferenceH hSRS, const char *pszParamName, double dfDefault, OGRErr *)
This function is the same as OGRSpatialReference::
Definition: ogrspatialreference.cpp:5680
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
New Zealand Map Grid.
Definition: ogrspatialreference.cpp:7272
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_srs_api.h:461
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equidistant Conic.
Definition: ogrspatialreference.cpp:6148
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:10645
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Quadrilateralized Spherical Cube.
Definition: ogrspatialreference.cpp:7899
char ** OSRGetPROJAuxDbPaths(void)
Get PROJ auxiliary database filenames.
Definition: ogr_proj_p.cpp:422
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:10091
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:3559
void OSRFreeSRSArray(OGRSpatialReferenceH *pahSRS)
Free return of OSRIdentifyMatches()
Definition: ogrspatialreference.cpp:9728
OGRErr OSRImportFromERM(OGRSpatialReferenceH, const char *, const char *, const char *)
Create OGR WKT from ERMapper projection definitions.
Definition: ogr_srs_erm.cpp:55
OGRErr OSRSetTMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Tunesia Mining Grid
Definition: ogrspatialreference.cpp:5942
const int * OSRGetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int *pnCount)
Return the data axis to SRS axis mapping.
Definition: ogrspatialreference.cpp:12060
void OSRSetPROJAuxDbPaths(const char *const *papszPaths)
Set list of PROJ auxiliary database filenames.
Definition: ogr_proj_p.cpp:404
int OSRIsDynamic(OGRSpatialReferenceH)
Check if a CRS is a dynamic CRS.
Definition: ogrspatialreference.cpp:9155
OGRErr OSRExportToPROJJSON(OGRSpatialReferenceH hSRS, char **ppszReturn, const char *const *papszOptions)
Convert this SRS into PROJJSON format.
Definition: ogrspatialreference.cpp:1809
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:10826
OGRCoordinateTransformationH OCTGetInverse(OGRCoordinateTransformationH hTransform)
Inverse transformation object.
Definition: ogrct.cpp:1138
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
GEOS - Geostationary Satellite View.
Definition: ogrspatialreference.cpp:6522
int OCTTransform4DWithErrorCodes(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, double *t, int *panErrorCodes)
Transform an array of points.
Definition: ogrct.cpp:3512
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:9509
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Interrupted Goode Homolosine.
Definition: ogrspatialreference.cpp:6492
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:3241
int OSRGetAxesCount(OGRSpatialReferenceH hSRS)
Return the number of axis of the coordinate system of the CRS.
Definition: ogrspatialreference.cpp:10392
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1310
void * OGRSpatialReferenceH
Opaque type for a Spatial Reference object.
Definition: ogr_srs_api.h:459
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:3404
OGRErr OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a nicely formatted WKT 1 string for display to a person.
Definition: ogrspatialreference.cpp:1414
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:5158
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:10771
int OSRIsDerivedGeographic(OGRSpatialReferenceH)
Check if derived geographic coordinate system.
Definition: ogrspatialreference.cpp:8951
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Polar Stereographic.
Definition: ogrspatialreference.cpp:7455
void OCTDestroyCoordinateTransformationOptions(OGRCoordinateTransformationOptionsH)
Destroy coordinate transformation options.
Definition: ogrct.cpp:347
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:2695
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Bonne.
Definition: ogrspatialreference.cpp:6047
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:9052
OGRErr OSRImportFromPCI(OGRSpatialReferenceH hSRS, const char *, const char *, double *)
Import coordinate system from PCI projection definition.
Definition: ogr_srs_pci.cpp:147
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:10742
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
International Map of the World Polyconic.
Definition: ogrspatialreference.cpp:6858
OGRCoordinateTransformationH OCTNewCoordinateTransformationEx(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS, OGRCoordinateTransformationOptionsH hOptions)
Create transformation object.
Definition: ogrct.cpp:1039
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:2102
void OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:798
OSRAxisMappingStrategy OSRGetAxisMappingStrategy(OGRSpatialReferenceH hSRS)
Return the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:11986
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:2442
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogrspatialreference.cpp:11288
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ coordinate string.
Definition: ogrspatialreference.cpp:10981
int OSRIsSameEx(OGRSpatialReferenceH, OGRSpatialReferenceH, const char *const *papszOptions)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:9528
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:4929
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:3113
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, const OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:3522
OGRErr OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:2205
OGRErr OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat, double dfPegLong, double dfPegHeading, double dfPegHgt)
Spherical, Cross-track, Height.
Definition: ogrspatialreference.cpp:7929
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:2770
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:10314
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:5446
int OCTTransformEx(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:3455
int OCTTransform(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z)
Transform an array of points.
Definition: ogrct.cpp:3431
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Cylindrical Equal Area.
Definition: ogrspatialreference.cpp:6079
void OSRSetPROJSearchPaths(const char *const *papszPaths)
Set the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:359
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:165
void OSRDestroyCRSInfoList(OSRCRSInfo **list)
Destroy the result returned by OSRGetCRSInfoListFromDatabase().
Definition: ogrspatialreference.cpp:12287
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:5364
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:256
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:12183
int OCTCoordinateTransformationOptionsSetBallparkAllowed(OGRCoordinateTransformationOptionsH hOptions, int bAllowBallpark)
Sets whether ballpark transformations are allowed.
Definition: ogrct.cpp:575
int OCTCoordinateTransformationOptionsSetOperation(OGRCoordinateTransformationOptionsH hOptions, const char *pszCO, int bReverseCO)
Sets a coordinate operation.
Definition: ogrct.cpp:492
int OCTTransform4D(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, double *t, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:3482
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Albers Conic Equal Area.
Definition: ogrspatialreference.cpp:5979
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:799
OSRCRSType
Type of Coordinate Reference System (CRS).
Definition: ogr_srs_api.h:978
@ OSR_CRS_TYPE_COMPOUND
Compound CRS.
Definition: ogr_srs_api.h:990
@ OSR_CRS_TYPE_GEOGRAPHIC_2D
Geographic 2D CRS.
Definition: ogr_srs_api.h:980
@ OSR_CRS_TYPE_PROJECTED
Projected CRS.
Definition: ogr_srs_api.h:986
@ OSR_CRS_TYPE_GEOCENTRIC
Geocentric CRS.
Definition: ogr_srs_api.h:984
@ OSR_CRS_TYPE_OTHER
Other.
Definition: ogr_srs_api.h:992
@ OSR_CRS_TYPE_GEOGRAPHIC_3D
Geographic 3D CRS.
Definition: ogr_srs_api.h:982
@ OSR_CRS_TYPE_VERTICAL
Vertical CRS.
Definition: ogr_srs_api.h:988
const char * OSRGetName(OGRSpatialReferenceH hSRS)
Return the CRS name.
Definition: ogrspatialreference.cpp:1285
struct OGRCoordinateTransformationOptions * OGRCoordinateTransformationOptionsH
Coordinate transformation options.
Definition: ogr_srs_api.h:1052
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:8781
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Azimuthal Equal-Area.
Definition: ogrspatialreference.cpp:6967
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParamName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:5613
OGRErr OSRStripVertical(OGRSpatialReferenceH)
Convert a compound cs into a horizontal CS.
Definition: ogrspatialreference.cpp:8558
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:4832
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert VI.
Definition: ogrspatialreference.cpp:6294
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:5306
OGRErr OSRPromoteTo3D(OGRSpatialReferenceH hSRS, const char *pszName)
"Promotes" a 2D CRS to a 3D CRS one.
Definition: ogrspatialreference.cpp:12440
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic (Belgium)
Definition: ogrspatialreference.cpp:7073
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Gauss Schreiber Transverse Mercator.
Definition: ogrspatialreference.cpp:6559
OGRSpatialReferenceH OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:785
char ** OSRGetPROJSearchPaths(void)
Get the search path(s) for PROJ resource files.
Definition: ogr_proj_p.cpp:375
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:957
OGRErr OSRSetMercator2SP(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Mercator 2SP.
Definition: ogrspatialreference.cpp:7204
OGRErr OSRImportFromPanorama(OGRSpatialReferenceH, long, long, long, double *)
Import coordinate system from "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:200
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Stereographic.
Definition: ogrspatialreference.cpp:7306
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:435
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic 1SP.
Definition: ogrspatialreference.cpp:7037
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:5080
int OCTCoordinateTransformationOptionsSetAreaOfInterest(OGRCoordinateTransformationOptionsH hOptions, double dfWestLongitudeDeg, double dfSouthLatitudeDeg, double dfEastLongitudeDeg, double dfNorthLatitudeDeg)
Sets an area of interest.
Definition: ogrct.cpp:418
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:8720
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Azimuthal Equidistant.
Definition: ogrspatialreference.cpp:6014
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:9330
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:8824
OSRCRSInfo ** OSRGetCRSInfoListFromDatabase(const char *pszAuthName, const OSRCRSListParameters *params, int *pnOutResultCount)
Enumerate CRS objects from the database.
Definition: ogrspatialreference.cpp:12217
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:5740
OGRErr OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:4007
const char * OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:1226
OGRSpatialReferenceH OCTGetSourceCS(OGRCoordinateTransformationH hTransform)
Transformation's source coordinate system reference.
Definition: ogrct.cpp:1091
void OSRSetAxisMappingStrategy(OGRSpatialReferenceH hSRS, OSRAxisMappingStrategy strategy)
Set the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:12023
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:6657
double OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:2998
int OCTCoordinateTransformationOptionsSetDesiredAccuracy(OGRCoordinateTransformationOptionsH hOptions, double dfAccuracy)
Sets the desired accuracy for coordinate operations.
Definition: ogrct.cpp:536
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator (South Oriented)
Definition: ogrspatialreference.cpp:5873
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogrspatialreference.cpp:2081
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:6721
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Miller Cylindrical.
Definition: ogrspatialreference.cpp:7110
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:9702
void OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:869
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert I-VI.
Definition: ogrspatialreference.cpp:6231
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert IV.
Definition: ogrspatialreference.cpp:6263
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:10623
OGRErr OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT 1 format.
Definition: ogrspatialreference.cpp:1707
OGRSpatialReferenceH OCTGetTargetCS(OGRCoordinateTransformationH hTransform)
Transformation's target coordinate system reference.
Definition: ogrct.cpp:1115
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:4771
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:10034
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Polyconic.
Definition: ogrspatialreference.cpp:7376
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:8322
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:9393
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:729
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:4984
OGRSpatialReferenceH OSRConvertToOtherProjection(OGRSpatialReferenceH hSRS, const char *pszTargetProjection, const char *const *papszOptions)
Convert to another equivalent projection.
Definition: ogrspatialreference.cpp:9661
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:997
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Equirectangular generalized form.
Definition: ogrspatialreference.cpp:6391
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Cassini-Soldner.
Definition: ogrspatialreference.cpp:6111
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Goode Homolosine.
Definition: ogrspatialreference.cpp:6461
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Gnomonic.
Definition: ogrspatialreference.cpp:6595
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator variant.
Definition: ogrspatialreference.cpp:5811
struct OSRCRSListParameters OSRCRSListParameters
Structure to describe optional parameters to OSRGetCRSInfoListFromDatabase()
Definition: ogr_srs_api.h:1034
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:8987
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
VanDerGrinten.
Definition: ogrspatialreference.cpp:7642
OGRErr OSRSetVerticalPerspective(OGRSpatialReferenceH hSRS, double dfTopoOriginLat, double dfTopoOriginLon, double dfTopoOriginHeight, double dfViewPointHeight, double dfFalseEasting, double dfFalseNorthing)
Vertical Perspective / Near-sided Perspective.
Definition: ogrspatialreference.cpp:7979
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this projected coordinate system should be treated as having...
Definition: ogrspatialreference.cpp:11802
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Gall Stereograpic.
Definition: ogrspatialreference.cpp:6427
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:8427
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Swiss Oblique Cylindrical.
Definition: ogrspatialreference.cpp:7609
OGRErr OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG geographic, projected or vertical CRS code.
Definition: ogrspatialreference.cpp:11548
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:8213
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:5238
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:10915
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:6901
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2570
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:10887
OGRErr OSRImportFromDict(OGRSpatialReferenceH, const char *, const char *)
Read SRS from WKT dictionary.
Definition: ogr_srs_dict.cpp:175
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Robinson.
Definition: ogrspatialreference.cpp:7490
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:6785
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:238
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:2307
double OSRGetCoordinateEpoch(OGRSpatialReferenceH hSRS)
Get the coordinate epoch, as decimal year.
Definition: ogrspatialreference.cpp:12728
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:7698
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:7787
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Orthographic.
Definition: ogrspatialreference.cpp:7341
OGRErr OSRDemoteTo2D(OGRSpatialReferenceH hSRS, const char *pszName)
"Demote" a 3D CRS to a 2D CRS one.
Definition: ogrspatialreference.cpp:12485
OGRErr OSRExportToPanorama(OGRSpatialReferenceH, long *, long *, long *, long *, double *)
Export coordinate system in "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:624
OGRCoordinateTransformationOptionsH OCTNewCoordinateTransformationOptions(void)
Create coordinate transformation options.
Definition: ogrct.cpp:334
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic.
Definition: ogrspatialreference.cpp:7001
int OSRGetPROJEnableNetwork(void)
Get whether PROJ networking capabilities are enabled.
Definition: ogr_proj_p.cpp:470
OGRCoordinateTransformationH OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Create transformation object.
Definition: ogrct.cpp:989
OGRErr OSRExportToXML(OGRSpatialReferenceH, char **, const char *)
Export coordinate system in XML format.
Definition: ogr_srs_xml.cpp:746
OGRErr OSRImportFromOzi(OGRSpatialReferenceH, const char *const *)
Import coordinate system from OziExplorer projection definition.
Definition: ogr_srs_ozi.cpp:68
OSRAxisMappingStrategy
Data axis to CRS axis mapping strategy.
Definition: ogr_srs_api.h:670
@ OAMS_AUTHORITY_COMPLIANT
Compliant with the order mandated by the CRS authority.
Definition: ogr_srs_api.h:672
@ OAMS_TRADITIONAL_GIS_ORDER
Traditional GIS order.
Definition: ogr_srs_api.h:671
@ OAMS_CUSTOM
Custom.
Definition: ogr_srs_api.h:673
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Mercator.
Definition: ogrspatialreference.cpp:7153
void OSRSetCoordinateEpoch(OGRSpatialReferenceH hSRS, double dfCoordinateEpoch)
Set the coordinate epoch, as decimal year.
Definition: ogrspatialreference.cpp:12683
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:1045
OGRErr OSRAddGuessedTOWGS84(OGRSpatialReferenceH hSRS)
Try to add a a 3-parameter or 7-parameter Helmert transformation to WGS84.
Definition: ogrspatialreference.cpp:11530
OGRCoordinateTransformationH OCTClone(OGRCoordinateTransformationH hTransform)
Clone transformation object.
Definition: ogrct.cpp:1067
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Sinusoidal.
Definition: ogrspatialreference.cpp:7523
void OSRSetPROJEnableNetwork(int enabled)
Enable or disable PROJ networking capabilities.
Definition: ogr_proj_p.cpp:441
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:8902
OGRAxisOrientation
Axis orientations (corresponds to CS_AxisOrientationEnum).
Definition: ogr_srs_api.h:48
@ OAO_Up
Up (to space)
Definition: ogr_srs_api.h:54
@ OAO_West
West.
Definition: ogr_srs_api.h:53
@ OAO_South
South.
Definition: ogr_srs_api.h:51
@ OAO_East
East.
Definition: ogr_srs_api.h:52
@ OAO_Down
Down (to Earth center)
Definition: ogr_srs_api.h:55
@ OAO_Other
Other.
Definition: ogr_srs_api.h:49
@ OAO_North
North.
Definition: ogr_srs_api.h:50
OGRErr OSRExportToERM(OGRSpatialReferenceH, char *, char *, char *)
Convert coordinate system to ERMapper format.
Definition: ogr_srs_erm.cpp:163
OGRErr OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 legacy format.
Definition: ogrspatialreference.cpp:11068
OGRErr OSRExportToWktEx(OGRSpatialReferenceH, char **ppszResult, const char *const *papszOptions)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:1730
OGRErr OSRSetDataAxisToSRSAxisMapping(OGRSpatialReferenceH hSRS, int nMappingSize, const int *panMapping)
Set a custom data axis to CRS axis mapping.
Definition: ogrspatialreference.cpp:12103
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equirectangular.
Definition: ogrspatialreference.cpp:6341
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogrspatialreference.cpp:11238
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Stereographic.
Definition: ogrspatialreference.cpp:7558
OGRSpatialReferenceH OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:9244
OGRSpatialReferenceH OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:1333
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Wagner I – VII.
Definition: ogrspatialreference.cpp:7869
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:2518
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:275
OGRErr OSRSetTPED(OGRSpatialReferenceH hSRS, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfFalseEasting, double dfFalseNorthing)
TPED (Two Point Equi Distant)
Definition: ogrspatialreference.cpp:5909
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:4115
void OSRGetPROJVersion(int *pnMajor, int *pnMinor, int *pnPatch)
Get the PROJ version.
Definition: ogr_proj_p.cpp:498
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Mollweide.
Definition: ogrspatialreference.cpp:7239
Context for coordinate transformation.
Definition: ogr_spatialref.h:939
Structure given overall description of a CRS.
Definition: ogr_srs_api.h:1001
double dfEastLongitudeDeg
Eastern-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1020
double dfNorthLatitudeDeg
Northern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1022
int bDeprecated
Whether the object is deprecated.
Definition: ogr_srs_api.h:1011
double dfWestLongitudeDeg
Western-most longitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1016
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:1014
char * pszName
Object name.
Definition: ogr_srs_api.h:1007
char * pszProjectionMethod
Name of the projection method for a projected CRS.
Definition: ogr_srs_api.h:1027
double dfSouthLatitudeDeg
Southern-most latitude of the area of use, in degrees.
Definition: ogr_srs_api.h:1018
char * pszCode
Object code.
Definition: ogr_srs_api.h:1005
char * pszAreaName
Name of the area of use.
Definition: ogr_srs_api.h:1024
char * pszAuthName
Authority name.
Definition: ogr_srs_api.h:1003
OSRCRSType eType
Object type.
Definition: ogr_srs_api.h:1009