GDAL
ogr_srs_api.h
Go to the documentation of this file.
1/******************************************************************************
2 * $Id: ogr_srs_api.h 11c12fd780b63a466c3fd2e5544441a316db5a23 2017-11-27 14:34:54Z Even Rouault $
3 *
4 * Project: OpenGIS Simple Features Reference Implementation
5 * Purpose: C API and constant declarations for OGR Spatial References.
6 * Author: Frank Warmerdam, warmerdam@pobox.com
7 *
8 ******************************************************************************
9 * Copyright (c) 2000, Frank Warmerdam
10 * Copyright (c) 2008-2013, Even Rouault <even dot rouault at mines-paris dot org>
11 *
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
18 *
19 * The above copyright notice and this permission notice shall be included
20 * in all copies or substantial portions of the Software.
21 *
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 * DEALINGS IN THE SOFTWARE.
29 ****************************************************************************/
30
31#ifndef OGR_SRS_API_H_INCLUDED
32#define OGR_SRS_API_H_INCLUDED
33
34#ifndef SWIG
35#include "ogr_core.h"
36
38
48typedef enum {
55 OAO_Down=6
57
58const char CPL_DLL *OSRAxisEnumToName( OGRAxisOrientation eOrientation );
59
60/* -------------------------------------------------------------------- */
61/* Datum types (corresponds to CS_DatumType). */
62/* -------------------------------------------------------------------- */
63
65// Unused in the code base. TODO: remove
66typedef enum {
67 ODT_HD_Min=1000,
68 ODT_HD_Other=1000,
69 ODT_HD_Classic=1001,
70 ODT_HD_Geocentric=1002,
71 ODT_HD_Max=1999,
72 ODT_VD_Min=2000,
73 ODT_VD_Other=2000,
74 ODT_VD_Orthometric=2001,
75 ODT_VD_Ellipsoidal=2002,
76 ODT_VD_AltitudeBarometric=2003,
77 ODT_VD_Normal=2004,
78 ODT_VD_GeoidModelDerived=2005,
79 ODT_VD_Depth=2006,
80 ODT_VD_Max=2999,
81 ODT_LD_Min=10000,
82 ODT_LD_Max=32767
83} OGRDatumType;
86#endif // ndef SWIG
87
88/* ==================================================================== */
89/* Some standard WKT geographic coordinate systems. */
90/* ==================================================================== */
91
93#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\"]]"
94
95/* ==================================================================== */
96/* Some "standard" strings. */
97/* ==================================================================== */
98
100#define SRS_PT_ALBERS_CONIC_EQUAL_AREA \
101 "Albers_Conic_Equal_Area"
103#define SRS_PT_AZIMUTHAL_EQUIDISTANT "Azimuthal_Equidistant"
105#define SRS_PT_CASSINI_SOLDNER "Cassini_Soldner"
107#define SRS_PT_CYLINDRICAL_EQUAL_AREA "Cylindrical_Equal_Area"
109#define SRS_PT_BONNE "Bonne"
111#define SRS_PT_ECKERT_I "Eckert_I"
113#define SRS_PT_ECKERT_II "Eckert_II"
115#define SRS_PT_ECKERT_III "Eckert_III"
117#define SRS_PT_ECKERT_IV "Eckert_IV"
119#define SRS_PT_ECKERT_V "Eckert_V"
121#define SRS_PT_ECKERT_VI "Eckert_VI"
123#define SRS_PT_EQUIDISTANT_CONIC \
124 "Equidistant_Conic"
126#define SRS_PT_EQUIRECTANGULAR "Equirectangular"
128#define SRS_PT_GALL_STEREOGRAPHIC \
129 "Gall_Stereographic"
131#define SRS_PT_GAUSSSCHREIBERTMERCATOR \
132 "Gauss_Schreiber_Transverse_Mercator"
134#define SRS_PT_GEOSTATIONARY_SATELLITE \
135 "Geostationary_Satellite"
137#define SRS_PT_GOODE_HOMOLOSINE "Goode_Homolosine"
139#define SRS_PT_IGH "Interrupted_Goode_Homolosine"
141#define SRS_PT_GNOMONIC "Gnomonic"
143#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER \
144 "Hotine_Oblique_Mercator_Azimuth_Center"
146#define SRS_PT_HOTINE_OBLIQUE_MERCATOR \
147 "Hotine_Oblique_Mercator"
149#define SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN \
150 "Hotine_Oblique_Mercator_Two_Point_Natural_Origin"
152#define SRS_PT_LABORDE_OBLIQUE_MERCATOR \
153 "Laborde_Oblique_Mercator"
155#define SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP \
156 "Lambert_Conformal_Conic_1SP"
158#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP \
159 "Lambert_Conformal_Conic_2SP"
161#define SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM \
162 "Lambert_Conformal_Conic_2SP_Belgium"
164#define SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA \
165 "Lambert_Azimuthal_Equal_Area"
167#define SRS_PT_MERCATOR_1SP "Mercator_1SP"
169#define SRS_PT_MERCATOR_2SP "Mercator_2SP"
171#define SRS_PT_MERCATOR_AUXILIARY_SPHERE \
172 "Mercator_Auxiliary_Sphere"
174#define SRS_PT_MILLER_CYLINDRICAL "Miller_Cylindrical"
176#define SRS_PT_MOLLWEIDE "Mollweide"
178#define SRS_PT_NEW_ZEALAND_MAP_GRID \
179 "New_Zealand_Map_Grid"
181#define SRS_PT_OBLIQUE_STEREOGRAPHIC \
182 "Oblique_Stereographic"
184#define SRS_PT_ORTHOGRAPHIC "Orthographic"
186#define SRS_PT_POLAR_STEREOGRAPHIC \
187 "Polar_Stereographic"
189#define SRS_PT_POLYCONIC "Polyconic"
191#define SRS_PT_ROBINSON "Robinson"
193#define SRS_PT_SINUSOIDAL "Sinusoidal"
195#define SRS_PT_STEREOGRAPHIC "Stereographic"
197#define SRS_PT_SWISS_OBLIQUE_CYLINDRICAL \
198 "Swiss_Oblique_Cylindrical"
200#define SRS_PT_TRANSVERSE_MERCATOR \
201 "Transverse_Mercator"
203#define SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED \
204 "Transverse_Mercator_South_Orientated"
205
206/* special mapinfo variants on Transverse Mercator */
208#define SRS_PT_TRANSVERSE_MERCATOR_MI_21 \
209 "Transverse_Mercator_MapInfo_21"
211#define SRS_PT_TRANSVERSE_MERCATOR_MI_22 \
212 "Transverse_Mercator_MapInfo_22"
214#define SRS_PT_TRANSVERSE_MERCATOR_MI_23 \
215 "Transverse_Mercator_MapInfo_23"
217#define SRS_PT_TRANSVERSE_MERCATOR_MI_24 \
218 "Transverse_Mercator_MapInfo_24"
220#define SRS_PT_TRANSVERSE_MERCATOR_MI_25 \
221 "Transverse_Mercator_MapInfo_25"
222
224#define SRS_PT_TUNISIA_MINING_GRID \
225 "Tunisia_Mining_Grid"
227#define SRS_PT_TWO_POINT_EQUIDISTANT \
228 "Two_Point_Equidistant"
230#define SRS_PT_VANDERGRINTEN "VanDerGrinten"
232#define SRS_PT_KROVAK "Krovak"
234#define SRS_PT_IMW_POLYCONIC "International_Map_of_the_World_Polyconic"
236#define SRS_PT_WAGNER_I "Wagner_I"
238#define SRS_PT_WAGNER_II "Wagner_II"
240#define SRS_PT_WAGNER_III "Wagner_III"
242#define SRS_PT_WAGNER_IV "Wagner_IV"
244#define SRS_PT_WAGNER_V "Wagner_V"
246#define SRS_PT_WAGNER_VI "Wagner_VI"
248#define SRS_PT_WAGNER_VII "Wagner_VII"
250#define SRS_PT_QSC "Quadrilateralized_Spherical_Cube"
252#define SRS_PT_AITOFF "Aitoff"
254#define SRS_PT_WINKEL_I "Winkel_I"
256#define SRS_PT_WINKEL_II "Winkel_II"
258#define SRS_PT_WINKEL_TRIPEL "Winkel_Tripel"
260#define SRS_PT_CRASTER_PARABOLIC "Craster_Parabolic"
262#define SRS_PT_LOXIMUTHAL "Loximuthal"
264#define SRS_PT_QUARTIC_AUTHALIC "Quartic_Authalic"
266#define SRS_PT_SCH "Spherical_Cross_Track_Height"
267
269#define SRS_PP_CENTRAL_MERIDIAN "central_meridian"
271#define SRS_PP_SCALE_FACTOR "scale_factor"
273#define SRS_PP_STANDARD_PARALLEL_1 "standard_parallel_1"
275#define SRS_PP_STANDARD_PARALLEL_2 "standard_parallel_2"
277#define SRS_PP_PSEUDO_STD_PARALLEL_1 "pseudo_standard_parallel_1"
279#define SRS_PP_LONGITUDE_OF_CENTER "longitude_of_center"
281#define SRS_PP_LATITUDE_OF_CENTER "latitude_of_center"
283#define SRS_PP_LONGITUDE_OF_ORIGIN "longitude_of_origin"
285#define SRS_PP_LATITUDE_OF_ORIGIN "latitude_of_origin"
287#define SRS_PP_FALSE_EASTING "false_easting"
289#define SRS_PP_FALSE_NORTHING "false_northing"
291#define SRS_PP_AZIMUTH "azimuth"
293#define SRS_PP_LONGITUDE_OF_POINT_1 "longitude_of_point_1"
295#define SRS_PP_LATITUDE_OF_POINT_1 "latitude_of_point_1"
297#define SRS_PP_LONGITUDE_OF_POINT_2 "longitude_of_point_2"
299#define SRS_PP_LATITUDE_OF_POINT_2 "latitude_of_point_2"
301#define SRS_PP_LONGITUDE_OF_POINT_3 "longitude_of_point_3"
303#define SRS_PP_LATITUDE_OF_POINT_3 "latitude_of_point_3"
305#define SRS_PP_RECTIFIED_GRID_ANGLE "rectified_grid_angle"
307#define SRS_PP_LANDSAT_NUMBER "landsat_number"
309#define SRS_PP_PATH_NUMBER "path_number"
311#define SRS_PP_PERSPECTIVE_POINT_HEIGHT "perspective_point_height"
313#define SRS_PP_SATELLITE_HEIGHT "satellite_height"
315#define SRS_PP_FIPSZONE "fipszone"
317#define SRS_PP_ZONE "zone"
319#define SRS_PP_LATITUDE_OF_1ST_POINT "Latitude_Of_1st_Point"
321#define SRS_PP_LONGITUDE_OF_1ST_POINT "Longitude_Of_1st_Point"
323#define SRS_PP_LATITUDE_OF_2ND_POINT "Latitude_Of_2nd_Point"
325#define SRS_PP_LONGITUDE_OF_2ND_POINT "Longitude_Of_2nd_Point"
327#define SRS_PP_PEG_POINT_LATITUDE "peg_point_latitude"
329#define SRS_PP_PEG_POINT_LONGITUDE "peg_point_longitude"
331#define SRS_PP_PEG_POINT_HEADING "peg_point_heading"
333#define SRS_PP_PEG_POINT_HEIGHT "peg_point_height"
334
336#define SRS_UL_METER "Meter"
338#define SRS_UL_FOOT "Foot (International)" /* or just "FOOT"? */
340#define SRS_UL_FOOT_CONV "0.3048"
342#define SRS_UL_US_FOOT "Foot_US" /* or "US survey foot" from EPSG */
344#define SRS_UL_US_FOOT_CONV "0.3048006096012192"
346#define SRS_UL_NAUTICAL_MILE "Nautical Mile"
348#define SRS_UL_NAUTICAL_MILE_CONV "1852.0"
350#define SRS_UL_LINK "Link" /* Based on US Foot */
352#define SRS_UL_LINK_CONV "0.20116684023368047"
354#define SRS_UL_CHAIN "Chain" /* based on US Foot */
356#define SRS_UL_CHAIN_CONV "20.116684023368047"
358#define SRS_UL_ROD "Rod" /* based on US Foot */
360#define SRS_UL_ROD_CONV "5.02921005842012"
362#define SRS_UL_LINK_Clarke "Link_Clarke"
364#define SRS_UL_LINK_Clarke_CONV "0.2011661949"
365
367#define SRS_UL_KILOMETER "Kilometer"
369#define SRS_UL_KILOMETER_CONV "1000."
371#define SRS_UL_DECIMETER "Decimeter"
373#define SRS_UL_DECIMETER_CONV "0.1"
375#define SRS_UL_CENTIMETER "Centimeter"
377#define SRS_UL_CENTIMETER_CONV "0.01"
379#define SRS_UL_MILLIMETER "Millimeter"
381#define SRS_UL_MILLIMETER_CONV "0.001"
383#define SRS_UL_INTL_NAUT_MILE "Nautical_Mile_International"
385#define SRS_UL_INTL_NAUT_MILE_CONV "1852.0"
387#define SRS_UL_INTL_INCH "Inch_International"
389#define SRS_UL_INTL_INCH_CONV "0.0254"
391#define SRS_UL_INTL_FOOT "Foot_International"
393#define SRS_UL_INTL_FOOT_CONV "0.3048"
395#define SRS_UL_INTL_YARD "Yard_International"
397#define SRS_UL_INTL_YARD_CONV "0.9144"
399#define SRS_UL_INTL_STAT_MILE "Statute_Mile_International"
401#define SRS_UL_INTL_STAT_MILE_CONV "1609.344"
403#define SRS_UL_INTL_FATHOM "Fathom_International"
405#define SRS_UL_INTL_FATHOM_CONV "1.8288"
407#define SRS_UL_INTL_CHAIN "Chain_International"
409#define SRS_UL_INTL_CHAIN_CONV "20.1168"
411#define SRS_UL_INTL_LINK "Link_International"
413#define SRS_UL_INTL_LINK_CONV "0.201168"
415#define SRS_UL_US_INCH "Inch_US_Surveyor"
417#define SRS_UL_US_INCH_CONV "0.025400050800101603"
419#define SRS_UL_US_YARD "Yard_US_Surveyor"
421#define SRS_UL_US_YARD_CONV "0.914401828803658"
423#define SRS_UL_US_CHAIN "Chain_US_Surveyor"
425#define SRS_UL_US_CHAIN_CONV "20.11684023368047"
427#define SRS_UL_US_STAT_MILE "Statute_Mile_US_Surveyor"
429#define SRS_UL_US_STAT_MILE_CONV "1609.347218694437"
431#define SRS_UL_INDIAN_YARD "Yard_Indian"
433#define SRS_UL_INDIAN_YARD_CONV "0.91439523"
435#define SRS_UL_INDIAN_FOOT "Foot_Indian"
437#define SRS_UL_INDIAN_FOOT_CONV "0.30479841"
439#define SRS_UL_INDIAN_CHAIN "Chain_Indian"
441#define SRS_UL_INDIAN_CHAIN_CONV "20.11669506"
442
444#define SRS_UA_DEGREE "degree"
446#define SRS_UA_DEGREE_CONV "0.0174532925199433"
448#define SRS_UA_RADIAN "radian"
449
451#define SRS_PM_GREENWICH "Greenwich"
452
454#define SRS_DN_NAD27 "North_American_Datum_1927"
456#define SRS_DN_NAD83 "North_American_Datum_1983"
458#define SRS_DN_WGS72 "WGS_1972"
460#define SRS_DN_WGS84 "WGS_1984"
461
463#define SRS_WGS84_SEMIMAJOR 6378137.0
465#define SRS_WGS84_INVFLATTENING 298.257223563
466
467#ifndef SWIG
468/* -------------------------------------------------------------------- */
469/* C Wrappers for C++ objects and methods. */
470/* -------------------------------------------------------------------- */
471#ifndef DEFINED_OGRSpatialReferenceH
473#define DEFINED_OGRSpatialReferenceH
476#ifdef DEBUG
477typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
478typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
479#else
484#endif
485
486#endif
487
488OGRSpatialReferenceH CPL_DLL CPL_STDCALL
489 OSRNewSpatialReference( const char * /* = NULL */);
492void CPL_DLL CPL_STDCALL OSRDestroySpatialReference( OGRSpatialReferenceH );
493
496void CPL_DLL OSRRelease( OGRSpatialReferenceH );
497
502
503OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSG( OGRSpatialReferenceH, int );
504OGRErr CPL_DLL CPL_STDCALL OSRImportFromEPSGA( OGRSpatialReferenceH, int );
506OGRErr CPL_DLL OSRImportFromProj4( OGRSpatialReferenceH, const char *);
508OGRErr CPL_DLL OSRImportFromPCI( OGRSpatialReferenceH hSRS, const char *,
509 const char *, double * );
511 long, long, double *, long);
512OGRErr CPL_DLL OSRImportFromXML( OGRSpatialReferenceH, const char * );
513OGRErr CPL_DLL OSRImportFromDict( OGRSpatialReferenceH, const char *,
514 const char * );
515OGRErr CPL_DLL OSRImportFromPanorama( OGRSpatialReferenceH, long, long, long,
516 double * );
517OGRErr CPL_DLL OSRImportFromOzi( OGRSpatialReferenceH , const char * const *);
520 const char *, const char *, const char * );
521OGRErr CPL_DLL OSRImportFromUrl( OGRSpatialReferenceH, const char * );
522
523OGRErr CPL_DLL CPL_STDCALL OSRExportToWkt( OGRSpatialReferenceH, char ** );
524OGRErr CPL_DLL CPL_STDCALL OSRExportToPrettyWkt( OGRSpatialReferenceH, char **, int);
525OGRErr CPL_DLL CPL_STDCALL OSRExportToProj4( OGRSpatialReferenceH, char **);
526OGRErr CPL_DLL OSRExportToPCI( OGRSpatialReferenceH, char **, char **,
527 double ** );
528OGRErr CPL_DLL OSRExportToUSGS( OGRSpatialReferenceH, long *, long *,
529 double **, long * );
530OGRErr CPL_DLL OSRExportToXML( OGRSpatialReferenceH, char **, const char * );
531OGRErr CPL_DLL OSRExportToPanorama( OGRSpatialReferenceH, long *, long *,
532 long *, long *, double * );
534OGRErr CPL_DLL OSRExportToERM( OGRSpatialReferenceH, char *, char *, char * );
535
538
541 const char* pszTargetProjection,
542 const char* const* papszOptions );
543
544OGRErr CPL_DLL CPL_STDCALL OSRSetAttrValue( OGRSpatialReferenceH hSRS,
545 const char * pszNodePath,
546 const char * pszNewNodeValue );
547const char CPL_DLL * CPL_STDCALL OSRGetAttrValue( OGRSpatialReferenceH hSRS,
548 const char * pszName, int iChild /* = 0 */ );
549
550OGRErr CPL_DLL OSRSetAngularUnits( OGRSpatialReferenceH, const char *, double );
551double CPL_DLL OSRGetAngularUnits( OGRSpatialReferenceH, char ** );
552OGRErr CPL_DLL OSRSetLinearUnits( OGRSpatialReferenceH, const char *, double );
553OGRErr CPL_DLL OSRSetTargetLinearUnits( OGRSpatialReferenceH, const char *, const char *, double );
555 OGRSpatialReferenceH, const char *, double );
556double CPL_DLL OSRGetLinearUnits( OGRSpatialReferenceH, char ** );
557double CPL_DLL OSRGetTargetLinearUnits( OGRSpatialReferenceH, const char *, char ** );
558
559double CPL_DLL OSRGetPrimeMeridian( OGRSpatialReferenceH, char ** );
560
562int CPL_DLL OSRIsLocal( OGRSpatialReferenceH );
570
571OGRErr CPL_DLL OSRSetLocalCS( OGRSpatialReferenceH hSRS, const char *pszName );
572OGRErr CPL_DLL OSRSetProjCS( OGRSpatialReferenceH hSRS, const char * pszName );
573OGRErr CPL_DLL OSRSetGeocCS( OGRSpatialReferenceH hSRS, const char * pszName );
575 const char * pszName );
576OGRErr CPL_DLL CPL_STDCALL OSRSetFromUserInput( OGRSpatialReferenceH hSRS,
577 const char * );
579 const OGRSpatialReferenceH hSrcSRS );
581 double, double, double,
582 double, double, double, double );
583OGRErr CPL_DLL OSRGetTOWGS84( OGRSpatialReferenceH hSRS, double *, int );
584
586 const char *pszName,
587 OGRSpatialReferenceH hHorizSRS,
588 OGRSpatialReferenceH hVertSRS );
590 const char * pszGeogName,
591 const char * pszDatumName,
592 const char * pszEllipsoidName,
593 double dfSemiMajor, double dfInvFlattening,
594 const char * pszPMName /* = NULL */,
595 double dfPMOffset /* = 0.0 */,
596 const char * pszUnits /* = NULL */,
597 double dfConvertToRadians /* = 0.0 */ );
598
600 const char * pszVertCSName,
601 const char * pszVertDatumName,
602 int nVertDatumType );
603
604double CPL_DLL OSRGetSemiMajor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
605double CPL_DLL OSRGetSemiMinor( OGRSpatialReferenceH, OGRErr * /* = NULL */ );
606double CPL_DLL OSRGetInvFlattening( OGRSpatialReferenceH, OGRErr * /*=NULL*/);
607
609 const char * pszTargetKey,
610 const char * pszAuthority,
611 int nCode );
612const char CPL_DLL *OSRGetAuthorityCode( OGRSpatialReferenceH hSRS,
613 const char * pszTargetKey );
614const char CPL_DLL *OSRGetAuthorityName( OGRSpatialReferenceH hSRS,
615 const char * pszTargetKey );
616OGRErr CPL_DLL OSRSetProjection( OGRSpatialReferenceH, const char * );
617OGRErr CPL_DLL OSRSetProjParm( OGRSpatialReferenceH, const char *, double );
618double CPL_DLL OSRGetProjParm( OGRSpatialReferenceH hSRS,
619 const char * pszParmName,
620 double dfDefault /* = 0.0 */,
621 OGRErr * /* = NULL */ );
622OGRErr CPL_DLL OSRSetNormProjParm( OGRSpatialReferenceH, const char *, double);
623double CPL_DLL OSRGetNormProjParm( OGRSpatialReferenceH hSRS,
624 const char * pszParmName,
625 double dfDefault /* = 0.0 */,
626 OGRErr * /* = NULL */ );
627
628OGRErr CPL_DLL OSRSetUTM( OGRSpatialReferenceH hSRS, int nZone, int bNorth );
629int CPL_DLL OSRGetUTMZone( OGRSpatialReferenceH hSRS, int *pbNorth );
631 int nZone, int bNAD83 );
633 int nZone, int bNAD83,
634 const char *pszOverrideUnitName,
635 double dfOverrideUnit );
637
639 char** papszOptions,
640 int* pnEntries,
641 int** ppanMatchConfidence );
642void CPL_DLL OSRFreeSRSArray(OGRSpatialReferenceH* pahSRS);
643
646const char CPL_DLL *OSRGetAxis( OGRSpatialReferenceH hSRS,
647 const char *pszTargetKey, int iAxis,
648 OGRAxisOrientation *peOrientation );
650 const char *pszTargetKey,
651 const char *pszXAxisName,
652 OGRAxisOrientation eXAxisOrientation,
653 const char *pszYAxisName,
654 OGRAxisOrientation eYAxisOrientation );
656OGRErr CPL_DLL OSRSetACEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
657 double dfCenterLat, double dfCenterLong,
658 double dfFalseEasting, double dfFalseNorthing );
659
661OGRErr CPL_DLL OSRSetAE( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
662 double dfFalseEasting, double dfFalseNorthing );
663
666 double dfStandardParallel, double dfCentralMeridian,
667 double dfFalseEasting, double dfFalseNorthing );
668
670OGRErr CPL_DLL OSRSetCEA( OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian,
671 double dfFalseEasting, double dfFalseNorthing );
672
674OGRErr CPL_DLL OSRSetCS( OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong,
675 double dfFalseEasting, double dfFalseNorthing );
676
678OGRErr CPL_DLL OSRSetEC( OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2,
679 double dfCenterLat, double dfCenterLong,
680 double dfFalseEasting, double dfFalseNorthing );
681
683OGRErr CPL_DLL OSRSetEckert( OGRSpatialReferenceH hSRS, int nVariation,
684 double dfCentralMeridian,
685 double dfFalseEasting, double dfFalseNorthing );
686
688OGRErr CPL_DLL OSRSetEckertIV( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
689 double dfFalseEasting, double dfFalseNorthing );
690
692OGRErr CPL_DLL OSRSetEckertVI( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
693 double dfFalseEasting, double dfFalseNorthing );
694
697 double dfCenterLat, double dfCenterLong,
698 double dfFalseEasting, double dfFalseNorthing );
699
702 double dfCenterLat, double dfCenterLong,
703 double dfPseudoStdParallel1,
704 double dfFalseEasting,
705 double dfFalseNorthing );
706
708OGRErr CPL_DLL OSRSetGS( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
709 double dfFalseEasting, double dfFalseNorthing );
710
712OGRErr CPL_DLL OSRSetGH( OGRSpatialReferenceH hSRS, double dfCentralMeridian,
713 double dfFalseEasting, double dfFalseNorthing );
714
717
720 double dfCentralMeridian, double dfSatelliteHeight,
721 double dfFalseEasting, double dfFalseNorthing );
722
725 double dfCenterLat, double dfCenterLong,
726 double dfScale,
727 double dfFalseEasting,
728 double dfFalseNorthing );
731 double dfCenterLat, double dfCenterLong,
732 double dfFalseEasting, double dfFalseNorthing );
733
734#ifdef undef
736OGRErr CPL_DLL OSRSetOM( OGRSpatialReferenceH hSRS,
737 double dfCenterLat, double dfCenterLong,
738 double dfAzimuth, double dfRectToSkew,
739 double dfScale,
740 double dfFalseEasting, double dfFalseNorthing );
741#endif
742
745 double dfCenterLat, double dfCenterLong,
746 double dfAzimuth, double dfRectToSkew,
747 double dfScale,
748 double dfFalseEasting, double dfFalseNorthing );
749
751 double dfCenterLat, double dfCenterLong,
752 double dfAzimuth, double dfRectToSkew,
753 double dfScale,
754 double dfFalseEasting,
755 double dfFalseNorthing );
756
758OGRErr CPL_DLL OSRSetHOM2PNO( OGRSpatialReferenceH hSRS, double dfCenterLat,
759 double dfLat1, double dfLong1,
760 double dfLat2, double dfLong2,
761 double dfScale,
762 double dfFalseEasting, double dfFalseNorthing );
763
766 double dfLat1, double dfLat2,
767 double dfCenterLong,
768 double dfFalseEasting,
769 double dfFalseNorthing );
770
773 double dfCenterLat, double dfCenterLong,
774 double dfAzimuth, double dfPseudoStdParallelLat,
775 double dfScale,
776 double dfFalseEasting, double dfFalseNorthing );
777
780 double dfCenterLat, double dfCenterLong,
781 double dfFalseEasting, double dfFalseNorthing );
782
785 double dfStdP1, double dfStdP2,
786 double dfCenterLat, double dfCenterLong,
787 double dfFalseEasting, double dfFalseNorthing );
788
791 double dfCenterLat, double dfCenterLong,
792 double dfScale,
793 double dfFalseEasting, double dfFalseNorthing );
794
797 double dfStdP1, double dfStdP2,
798 double dfCenterLat, double dfCenterLong,
799 double dfFalseEasting, double dfFalseNorthing );
800
803 double dfCenterLat, double dfCenterLong,
804 double dfFalseEasting, double dfFalseNorthing );
805
808 double dfCenterLat, double dfCenterLong,
809 double dfScale,
810 double dfFalseEasting, double dfFalseNorthing );
811
814 double dfStdP1,
815 double dfCenterLat, double dfCenterLong,
816 double dfFalseEasting, double dfFalseNorthing );
817
820 double dfCentralMeridian,
821 double dfFalseEasting,
822 double dfFalseNorthing );
823
826 double dfCenterLat, double dfCenterLong,
827 double dfFalseEasting, double dfFalseNorthing );
828
831 double dfOriginLat, double dfCMeridian,
832 double dfScale,
833 double dfFalseEasting,double dfFalseNorthing);
834
837 double dfCenterLat, double dfCenterLong,
838 double dfFalseEasting,
839 double dfFalseNorthing);
840
843 double dfCenterLat, double dfCenterLong,
844 double dfFalseEasting, double dfFalseNorthing );
845
848 double dfCenterLat, double dfCenterLong,
849 double dfScale,
850 double dfFalseEasting, double dfFalseNorthing);
851
854 double dfCenterLong,
855 double dfFalseEasting, double dfFalseNorthing );
856
859 double dfCenterLong,
860 double dfFalseEasting,
861 double dfFalseNorthing );
862
865 double dfCenterLat, double dfCenterLong,
866 double dfScale,
867 double dfFalseEasting,
868 double dfFalseNorthing);
869
872 double dfLatitudeOfOrigin, double dfCentralMeridian,
873 double dfFalseEasting, double dfFalseNorthing );
874
882 double dfCenterLat, double dfCenterLong,
883 double dfScale,
884 double dfFalseEasting, double dfFalseNorthing );
885
887OGRErr CPL_DLL OSRSetTMVariant(
888 OGRSpatialReferenceH hSRS, const char *pszVariantName,
889 double dfCenterLat, double dfCenterLong,
890 double dfScale,
891 double dfFalseEasting, double dfFalseNorthing );
892
895 double dfCenterLat, double dfCenterLong,
896 double dfFalseEasting, double dfFalseNorthing );
897
900 double dfCenterLat, double dfCenterLong,
901 double dfScale,
902 double dfFalseEasting, double dfFalseNorthing );
903
906 double dfLat1, double dfLong1,
907 double dfLat2, double dfLong2,
908 double dfFalseEasting, double dfFalseNorthing );
909
912 double dfCenterLong,
913 double dfFalseEasting, double dfFalseNorthing );
914
916OGRErr CPL_DLL OSRSetWagner( OGRSpatialReferenceH hSRS, int nVariation,
917 double dfCenterLat,
918 double dfFalseEasting,
919 double dfFalseNorthing );
920
923 double dfCenterLat, double dfCenterLong );
924
927 double dfPegLat, double dfPegLong,
928 double dfPegHeading, double dfPegHgt);
929
930double CPL_DLL OSRCalcInvFlattening( double dfSemiMajor, double dfSemiMinor );
931double CPL_DLL OSRCalcSemiMinorFromInvFlattening( double dfSemiMajor, double dfInvFlattening );
932
933void CPL_DLL OSRCleanup( void );
934
935/* -------------------------------------------------------------------- */
936/* OGRCoordinateTransform C API. */
937/* -------------------------------------------------------------------- */
938OGRCoordinateTransformationH CPL_DLL CPL_STDCALL
940 OGRSpatialReferenceH hTargetSRS );
941void CPL_DLL CPL_STDCALL
943
944int CPL_DLL CPL_STDCALL
946 int nCount, double *x, double *y, double *z );
947
948int CPL_DLL CPL_STDCALL
950 int nCount, double *x, double *y, double *z,
951 int *pabSuccess );
952
954/* this is really private to OGR. */
955char *OCTProj4Normalize( const char *pszProj4Src );
956
957void OCTCleanupProjMutex( void );
960/* -------------------------------------------------------------------- */
961/* Projection transform dictionary query. */
962/* -------------------------------------------------------------------- */
963
964char CPL_DLL ** OPTGetProjectionMethods( void );
965char CPL_DLL ** OPTGetParameterList( const char * pszProjectionMethod,
966 char ** ppszUserName );
967int CPL_DLL OPTGetParameterInfo( const char * pszProjectionMethod,
968 const char * pszParameterName,
969 char ** ppszUserName,
970 char ** ppszType,
971 double *pdfDefaultValue );
972
974
975#endif /* ndef SWIG */
976
977#endif /* ndef OGR_SRS_API_H_INCLUDED */
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_api.h:76
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:74
Core portability services for cross-platform OGR code.
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:290
int OSREPSGTreatsAsLatLong(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2848
OGRErr OSRSetTM(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator.
Definition: ogrspatialreference.cpp:4061
OGRErr OSRImportFromEPSG(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2195
OGRErr OSRSetNZMG(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
New Zealand Map Grid.
Definition: ogrspatialreference.cpp:5474
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_srs_api.h:483
OGRErr OSRSetEC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equidistant Conic.
Definition: ogrspatialreference.cpp:4434
const char * OSRAxisEnumToName(OGRAxisOrientation eOrientation)
Return the string representation for the OGRAxisOrientation enumeration.
Definition: ogrspatialreference.cpp:8334
OGRErr OSRSetQSC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong)
Quadrilateralized Spherical Cube.
Definition: ogrspatialreference.cpp:6041
OGRErr OSRGetTOWGS84(OGRSpatialReferenceH hSRS, double *, int)
Fetch TOWGS84 parameters, if available.
Definition: ogrspatialreference.cpp:7848
void OSRFreeSRSArray(OGRSpatialReferenceH *pahSRS)
Free return of OSRIdentifyMatches()
Definition: ogrspatialreference.cpp:7698
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:4218
OGRErr OSRImportFromMICoordSys(OGRSpatialReferenceH, const char *)
Import Mapinfo style CoordSys definition.
Definition: ogrspatialreference.cpp:8515
OGRErr OSRSetGEOS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfSatelliteHeight, double dfFalseEasting, double dfFalseNorthing)
GEOS - Geostationary Satellite View.
Definition: ogrspatialreference.cpp:4768
int OSRIsSame(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:7263
OGRErr OSRSetIGH(OGRSpatialReferenceH hSRS)
Interrupted Goode Homolosine.
Definition: ogrspatialreference.cpp:4737
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:1909
OGRErr OSRImportFromXML(OGRSpatialReferenceH, const char *)
Import coordinate system from XML format (GML only currently).
Definition: ogr_srs_xml.cpp:1314
void * OGRSpatialReferenceH
Opaque type for a Spatial Reference object.
Definition: ogr_srs_api.h:481
OGRErr OSRSetWellKnownGeogCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:2053
OGRErr OSRExportToPrettyWkt(OGRSpatialReferenceH, char **, int)
Convert this SRS into a nicely formatted WKT string for display to a person.
Definition: ogrspatialreference.cpp:695
OGRErr OSRSetVertCS(OGRSpatialReferenceH hSRS, const char *pszVertCSName, const char *pszVertDatumName, int nVertDatumType)
Setup the vertical coordinate system.
Definition: ogrspatialreference.cpp:3468
OGRErr OSRExportToMICoordSys(OGRSpatialReferenceH, char **)
Export coordinate system in Mapinfo style CoordSys format.
Definition: ogrspatialreference.cpp:8460
OGRErr OSRSetPS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Polar Stereographic.
Definition: ogrspatialreference.cpp:5619
OGRErr OSRFixupOrdering(OGRSpatialReferenceH)
Correct parameter ordering to match CT Specification.
Definition: ogrspatialreference.cpp:7981
OGRErr OSRSetTargetLinearUnits(OGRSpatialReferenceH, const char *, const char *, double)
Set the linear units for the target node.
Definition: ogrspatialreference.cpp:1429
OGRErr OSRSetBonne(OGRSpatialReferenceH hSRS, double dfStandardParallel, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Bonne.
Definition: ogrspatialreference.cpp:4328
int OSRIsVertical(OGRSpatialReferenceH)
Check if vertical coordinate system.
Definition: ogrspatialreference.cpp:6654
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:8431
OGRErr OSRSetIWMPolyconic(OGRSpatialReferenceH hSRS, double dfLat1, double dfLat2, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
International Map of the World Polyconic.
Definition: ogrspatialreference.cpp:5089
OGRErr OSRImportFromWkt(OGRSpatialReferenceH, char **)
Import from WKT string.
Definition: ogrspatialreference.cpp:888
void OCTDestroyCoordinateTransformation(OGRCoordinateTransformationH)
OGRCoordinateTransformation destructor.
Definition: ogrct.cpp:440
double OSRGetAngularUnits(OGRSpatialReferenceH, char **)
Fetch angular geographic coordinate system units.
Definition: ogrspatialreference.cpp:1189
OGRErr OSRMorphFromESRI(OGRSpatialReferenceH)
Convert in place from ESRI WKT format.
Definition: ogr_srs_esri.cpp:2496
OGRErr OSRImportFromProj4(OGRSpatialReferenceH, const char *)
Import PROJ.4 coordinate string.
Definition: ogr_srs_proj4.cpp:362
double OSRGetSemiMinor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi minor axis.
Definition: ogrspatialreference.cpp:3227
double OSRGetPrimeMeridian(OGRSpatialReferenceH, char **)
Fetch prime meridian info.
Definition: ogrspatialreference.cpp:1713
OGRErr OSRCopyGeogCSFrom(OGRSpatialReferenceH hSRS, const OGRSpatialReferenceH hSrcSRS)
Copy GEOGCS from another OGRSpatialReference.
Definition: ogrspatialreference.cpp:2151
OGRErr OSRSetAttrValue(OGRSpatialReferenceH hSRS, const char *pszNodePath, const char *pszNewNodeValue)
Set attribute value in spatial reference.
Definition: ogrspatialreference.cpp:983
OGRErr OSRSetSCH(OGRSpatialReferenceH hSRS, double dfPegLat, double dfPegLong, double dfPegHeading, double dfPegHgt)
Spherical, Cross-track, Height.
Definition: ogrspatialreference.cpp:6072
double OSRGetLinearUnits(OGRSpatialReferenceH, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1503
void OSRCleanup(void)
Cleanup cached SRS related memory.
Definition: ogrspatialreference.cpp:8192
OGRErr OSRSetProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter value.
Definition: ogrspatialreference.cpp:3760
int OCTTransformEx(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z, int *pabSuccess)
Transform an array of points.
Definition: ogrct.cpp:1430
int OCTTransform(OGRCoordinateTransformationH hCT, int nCount, double *x, double *y, double *z)
Transform an array of points.
Definition: ogrct.cpp:1048
OGRErr OSRFixup(OGRSpatialReferenceH)
Fixup as needed.
Definition: ogrspatialreference.cpp:8054
OGRErr OSRSetCEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Cylindrical Equal Area.
Definition: ogrspatialreference.cpp:4362
OGRErr OSRImportFromUSGS(OGRSpatialReferenceH, long, long, double *, long)
Import coordinate system from USGS projection definition.
Definition: ogr_srs_usgs.cpp:165
OGRErr OSRSetProjection(OGRSpatialReferenceH, const char *)
Set a projection name.
Definition: ogrspatialreference.cpp:3677
OGRErr OSRSetStatePlane(OGRSpatialReferenceH hSRS, int nZone, int bNAD83)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2527
double OSRGetNormProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
This function is the same as OGRSpatialReference::
Definition: ogrspatialreference.cpp:3962
OGRErr OSRSetACEA(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Albers Conic Equal Area.
Definition: ogrspatialreference.cpp:4256
OGRErr OSRExportToUSGS(OGRSpatialReferenceH, long *, long *, double **, long *)
Export coordinate system in USGS GCTP projection definition.
Definition: ogr_srs_usgs.cpp:801
int OSRIsProjected(OGRSpatialReferenceH)
Check if projected coordinate system.
Definition: ogrspatialreference.cpp:6478
OGRErr OSRSetLAEA(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Azimuthal Equal-Area.
Definition: ogrspatialreference.cpp:5174
double OSRGetInvFlattening(OGRSpatialReferenceH, OGRErr *)
Get spheroid inverse flattening.
Definition: ogrspatialreference.cpp:3130
OGRErr OSRSetEckertVI(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert VI.
Definition: ogrspatialreference.cpp:4563
OGRErr OSRSetProjCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3619
OGRErr OSRSetLCCB(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic (Belgium)
Definition: ogrspatialreference.cpp:5288
OGRErr OSRSetGaussSchreiberTMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Gauss Schreiber Transverse Mercator.
Definition: ogrspatialreference.cpp:4807
OGRSpatialReferenceH OSRNewSpatialReference(const char *)
Constructor.
Definition: ogrspatialreference.cpp:151
int OSRReference(OGRSpatialReferenceH)
Increments the reference count by one.
Definition: ogrspatialreference.cpp:328
OGRErr OSRSetMercator2SP(OGRSpatialReferenceH hSRS, double dfStdP1, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Mercator 2SP.
Definition: ogrspatialreference.cpp:5405
OGRErr OSRImportFromPanorama(OGRSpatialReferenceH, long, long, long, double *)
Import coordinate system from "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:158
OGRErr OSRSetOS(OGRSpatialReferenceH hSRS, double dfOriginLat, double dfCMeridian, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Oblique Stereographic.
Definition: ogrspatialreference.cpp:5510
OGRErr OSRAutoIdentifyEPSG(OGRSpatialReferenceH hSRS)
Set EPSG authority info if possible.
Definition: ogr_fromepsg.cpp:2785
OGRErr OSRSetLCC1SP(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic 1SP.
Definition: ogrspatialreference.cpp:5249
OGRErr OSRSetGeocCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible PROJCS name.
Definition: ogrspatialreference.cpp:3357
int OSRIsCompound(OGRSpatialReferenceH)
Check if the coordinate system is compound.
Definition: ogrspatialreference.cpp:6434
OGRErr OSRSetAE(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Azimuthal Equidistant.
Definition: ogrspatialreference.cpp:4293
int OSRIsSameGeogCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the GeogCS'es match?
Definition: ogrspatialreference.cpp:6902
int OSRIsGeocentric(OGRSpatialReferenceH)
Check if geocentric coordinate system.
Definition: ogrspatialreference.cpp:6523
OGRErr OSRSetNormProjParm(OGRSpatialReferenceH, const char *, double)
Set a projection parameter with a normalized value.
Definition: ogrspatialreference.cpp:4027
OGRErr OSRSetFromUserInput(OGRSpatialReferenceH hSRS, const char *)
Set spatial reference from various text formats.
Definition: ogrspatialreference.cpp:2410
const char * OSRGetAttrValue(OGRSpatialReferenceH hSRS, const char *pszName, int iChild)
Fetch indicated attribute of named node.
Definition: ogrspatialreference.cpp:568
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:4910
double OSRGetTargetLinearUnits(OGRSpatialReferenceH, const char *, char **)
Fetch linear projection units.
Definition: ogrspatialreference.cpp:1620
OGRErr OSRSetTMSO(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator (South Oriented)
Definition: ogrspatialreference.cpp:4181
OGRErr OSRValidate(OGRSpatialReferenceH)
Validate SRS tokens.
Definition: ogr_srs_validate.cpp:1152
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:4978
OGRErr OSRSetMC(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Miller Cylindrical.
Definition: ogrspatialreference.cpp:5324
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 (currently EPSG only)
Definition: ogrspatialreference.cpp:7672
void OSRDestroySpatialReference(OGRSpatialReferenceH)
OGRSpatialReference destructor.
Definition: ogrspatialreference.cpp:242
OGRErr OSRStripCTParms(OGRSpatialReferenceH)
Strip OGC CT Parameters.
Definition: ogrspatialreference.cpp:6396
OGRErr OSRSetEckert(OGRSpatialReferenceH hSRS, int nVariation, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert I-VI.
Definition: ogrspatialreference.cpp:4490
OGRErr OSRSetEckertIV(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Eckert IV.
Definition: ogrspatialreference.cpp:4527
const char * OSRGetAxis(OGRSpatialReferenceH hSRS, const char *pszTargetKey, int iAxis, OGRAxisOrientation *peOrientation)
Fetch the orientation of one axis.
Definition: ogrspatialreference.cpp:8312
OGRErr OSRExportToWkt(OGRSpatialReferenceH, char **)
Convert this SRS into WKT format.
Definition: ogrspatialreference.cpp:753
double OSRGetSemiMajor(OGRSpatialReferenceH, OGRErr *)
Get spheroid semi major axis.
Definition: ogrspatialreference.cpp:3079
OGRErr OSRSetTOWGS84(OGRSpatialReferenceH hSRS, double, double, double, double, double, double, double)
Set the Bursa-Wolf conversion to WGS84.
Definition: ogrspatialreference.cpp:7794
OGRErr OSRSetPolyconic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Polyconic.
Definition: ogrspatialreference.cpp:5583
const char * OSRGetAuthorityCode(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority code for a node.
Definition: ogrspatialreference.cpp:6224
int OSRIsSameVertCS(OGRSpatialReferenceH, OGRSpatialReferenceH)
Do the VertCS'es match?
Definition: ogrspatialreference.cpp:6965
OGRErr OSRExportToPCI(OGRSpatialReferenceH, char **, char **, double **)
Export coordinate system in PCI projection definition.
Definition: ogr_srs_pci.cpp:731
OGRErr OSRSetLocalCS(OGRSpatialReferenceH hSRS, const char *pszName)
Set the user visible LOCAL_CS name.
Definition: ogrspatialreference.cpp:3279
OGRSpatialReferenceH OSRConvertToOtherProjection(OGRSpatialReferenceH hSRS, const char *pszTargetProjection, const char *const *papszOptions)
Convert to another equivalent projection.
Definition: ogrspatialreference.cpp:7617
int OSRDereference(OGRSpatialReferenceH)
Decrements the reference count by one.
Definition: ogrspatialreference.cpp:368
OGRErr OSRSetEquirectangular2(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfPseudoStdParallel1, double dfFalseEasting, double dfFalseNorthing)
Equirectangular generalized form.
Definition: ogrspatialreference.cpp:4638
OGRErr OSRSetCS(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Cassini-Soldner.
Definition: ogrspatialreference.cpp:4396
OGRErr OSRSetGH(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Goode Homolosine.
Definition: ogrspatialreference.cpp:4708
OGRErr OSRSetGnomonic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Gnomonic.
Definition: ogrspatialreference.cpp:4844
OGRErr OSRSetTMVariant(OGRSpatialReferenceH hSRS, const char *pszVariantName, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Transverse Mercator variant.
Definition: ogrspatialreference.cpp:4102
char ** OPTGetProjectionMethods(void)
Fetch list of possible projection methods.
Definition: ogr_opt.cpp:511
int OSRIsLocal(OGRSpatialReferenceH)
Check if local coordinate system.
Definition: ogrspatialreference.cpp:6606
OGRErr OSRSetVDG(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
VanDerGrinten.
Definition: ogrspatialreference.cpp:5800
int OSREPSGTreatsAsNorthingEasting(OGRSpatialReferenceH hSRS)
This function returns TRUE if EPSG feels this geographic coordinate system should be treated as havin...
Definition: ogr_fromepsg.cpp:2914
OGRErr OSRSetGS(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Gall Stereograpic.
Definition: ogrspatialreference.cpp:4674
const char * OSRGetAuthorityName(OGRSpatialReferenceH hSRS, const char *pszTargetKey)
Get the authority name for a node.
Definition: ogrspatialreference.cpp:6299
OGRErr OSRSetSOC(OGRSpatialReferenceH hSRS, double dfLatitudeOfOrigin, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Swiss Oblique Cylindrical.
Definition: ogrspatialreference.cpp:5767
OGRErr OSRImportFromEPSGA(OGRSpatialReferenceH, int)
Initialize SRS based on EPSG GCS or PCS code.
Definition: ogr_fromepsg.cpp:2383
OGRErr OSRSetAuthority(OGRSpatialReferenceH hSRS, const char *pszTargetKey, const char *pszAuthority, int nCode)
Set the authority for a node.
Definition: ogrspatialreference.cpp:6148
OGRErr OSRSetCompoundCS(OGRSpatialReferenceH hSRS, const char *pszName, OGRSpatialReferenceH hHorizSRS, OGRSpatialReferenceH hVertSRS)
Setup a compound coordinate system.
Definition: ogrspatialreference.cpp:3547
double OSRCalcSemiMinorFromInvFlattening(double dfSemiMajor, double dfInvFlattening)
Compute semi-minor axis from semi-major axis and inverse flattening.
Definition: ogrspatialreference.cpp:8604
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:5135
char ** OPTGetParameterList(const char *pszProjectionMethod, char **ppszUserName)
Fetch the parameters for a given projection method.
Definition: ogr_opt.cpp:545
OGRErr OSRSetLinearUnits(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1320
double OSRCalcInvFlattening(double dfSemiMajor, double dfSemiMinor)
Compute inverse flattening from semi-major and semi-minor axis.
Definition: ogrspatialreference.cpp:8576
OGRErr OSRImportFromDict(OGRSpatialReferenceH, const char *, const char *)
Read SRS from WKT dictionary.
Definition: ogr_srs_dict.cpp:160
OGRErr OSRSetRobinson(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Robinson.
Definition: ogrspatialreference.cpp:5654
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:5047
OGRErr OSRImportFromESRI(OGRSpatialReferenceH, char **)
Import coordinate system from ESRI .prj format(s).
Definition: ogr_srs_esri.cpp:510
OGRErr OSRSetAngularUnits(OGRSpatialReferenceH, const char *, double)
Set the angular units for the geographic coordinate system.
Definition: ogrspatialreference.cpp:1094
OGRErr OSRSetUTM(OGRSpatialReferenceH hSRS, int nZone, int bNorth)
Set UTM projection definition.
Definition: ogrspatialreference.cpp:5881
int OSRGetUTMZone(OGRSpatialReferenceH hSRS, int *pbNorth)
Get utm zone information.
Definition: ogrspatialreference.cpp:5959
OGRErr OSRSetOrthographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Orthographic.
Definition: ogrspatialreference.cpp:5546
OGRErr OSRExportToPanorama(OGRSpatialReferenceH, long *, long *, long *, long *, double *)
Export coordinate system in "Panorama" GIS projection definition.
Definition: ogr_srs_panorama.cpp:503
OGRErr OSRSetLCC(OGRSpatialReferenceH hSRS, double dfStdP1, double dfStdP2, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Lambert Conformal Conic.
Definition: ogrspatialreference.cpp:5211
OGRCoordinateTransformationH OCTNewCoordinateTransformation(OGRSpatialReferenceH hSourceSRS, OGRSpatialReferenceH hTargetSRS)
Create transformation object.
Definition: ogrct.cpp:544
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
OGRErr OSRSetMercator(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Mercator.
Definition: ogrspatialreference.cpp:5363
void OSRRelease(OGRSpatialReferenceH)
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:414
int OPTGetParameterInfo(const char *pszProjectionMethod, const char *pszParameterName, char **ppszUserName, char **ppszType, double *pdfDefaultValue)
Fetch information about a single parameter of a projection method.
Definition: ogr_opt.cpp:608
OGRErr OSRSetSinusoidal(OGRSpatialReferenceH hSRS, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Sinusoidal.
Definition: ogrspatialreference.cpp:5687
int OSRIsGeographic(OGRSpatialReferenceH)
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:6568
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:147
OGRErr OSRExportToProj4(OGRSpatialReferenceH, char **)
Export coordinate system in PROJ.4 format.
Definition: ogr_srs_proj4.cpp:1429
double OSRGetProjParm(OGRSpatialReferenceH hSRS, const char *pszParmName, double dfDefault, OGRErr *)
Fetch a projection parameter value.
Definition: ogrspatialreference.cpp:3891
OGRErr OSRSetEquirectangular(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfFalseEasting, double dfFalseNorthing)
Equirectangular.
Definition: ogrspatialreference.cpp:4599
OGRErr OSRMorphToESRI(OGRSpatialReferenceH)
Convert in place to ESRI WKT format.
Definition: ogr_srs_esri.cpp:1920
OGRErr OSRSetStereographic(OGRSpatialReferenceH hSRS, double dfCenterLat, double dfCenterLong, double dfScale, double dfFalseEasting, double dfFalseNorthing)
Stereographic.
Definition: ogrspatialreference.cpp:5724
OGRSpatialReferenceH OSRCloneGeogCS(OGRSpatialReferenceH)
Make a duplicate of the GEOGCS node of this OGRSpatialReference object.
Definition: ogrspatialreference.cpp:6723
OGRSpatialReferenceH OSRClone(OGRSpatialReferenceH)
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:610
OGRErr OSRSetWagner(OGRSpatialReferenceH hSRS, int nVariation, double dfCenterLat, double dfFalseEasting, double dfFalseNorthing)
Wagner I – VII.
Definition: ogrspatialreference.cpp:6011
OGRErr OSRSetLinearUnitsAndUpdateParameters(OGRSpatialReferenceH, const char *, double)
Set the linear units for the projection.
Definition: ogrspatialreference.cpp:1269
OGRErr OSRSetStatePlaneWithUnits(OGRSpatialReferenceH hSRS, int nZone, int bNAD83, const char *pszOverrideUnitName, double dfOverrideUnit)
Set State Plane projection definition.
Definition: ogr_fromepsg.cpp:2546
OGRErr OSRSetTPED(OGRSpatialReferenceH hSRS, double dfLat1, double dfLong1, double dfLat2, double dfLong2, double dfFalseEasting, double dfFalseNorthing)
TPED (Two Point Equi Distant)
Definition: ogrspatialreference.cpp:4164
OGRErr OSRImportFromUrl(OGRSpatialReferenceH, const char *)
Set spatial reference from a URL.
Definition: ogrspatialreference.cpp:2518
OGRErr OSRSetMollweide(OGRSpatialReferenceH hSRS, double dfCentralMeridian, double dfFalseEasting, double dfFalseNorthing)
Mollweide.
Definition: ogrspatialreference.cpp:5440

Generated for GDAL by doxygen 1.9.4.