15#ifndef OGR_SPATIALREF_H_INCLUDED
16#define OGR_SPATIALREF_H_INCLUDED
64 void RegisterListener(
const std::shared_ptr<Listener> &listener);
71 return nChildren == 0;
87 int FindChild(
const char *)
const;
88 void DestroyChild(
int);
90 void StripNodes(
const char *);
97 void SetValue(
const char *);
103 OGRErr importFromWkt(
char **)
105 CPL_WARN_DEPRECATED(
"Use importFromWkt(const char**)")
108 OGRErr importFromWkt(
const char **);
109 OGRErr exportToWkt(
char **)
const;
110 OGRErr exportToPrettyWkt(
char **,
int = 1)
const;
120 int NeedsQuoting()
const;
121 OGRErr importFromWkt(
const char **,
int nRecLevel,
int *pnNodes);
123 std::weak_ptr<Listener> m_listener{};
154 std::unique_ptr<Private> d;
156 void GetNormInfo()
const;
159 OGRErr importFromURNPart(
const char *pszAuthority,
const char *pszCode,
162 static CPLString lookupInDict(
const char *pszDictFile,
const char *pszCode);
164 OGRErr GetWKT2ProjectionMethod(
const char **ppszMethodName,
165 const char **ppszMethodAuthName =
nullptr,
166 const char **ppszMethodCode =
nullptr)
const;
182#ifdef DEPRECATE_OGRSPATIALREFERENCE_REF_COUNTING
184 CPL_WARN_DEPRECATED(
"Use OGRSpatialReferenceRefCountedPtr instead");
186 CPL_WARN_DEPRECATED(
"Use OGRSpatialReferenceRefCountedPtr instead");
187 int GetReferenceCount()
const
188 CPL_WARN_DEPRECATED(
"Use OGRSpatialReferenceRefCountedPtr instead");
190 CPL_WARN_DEPRECATED(
"Use OGRSpatialReferenceRefCountedPtr instead");
194 int GetReferenceCount()
const;
198 const char *GetName()
const;
204 OGRErr exportToWkt(
char **)
const;
205 OGRErr exportToWkt(
char **ppszWKT,
const char *
const *papszOptions)
const;
206 std::string exportToWkt(
const char *
const *papszOptions =
nullptr)
const;
207 OGRErr exportToPrettyWkt(
char **,
int = FALSE)
const;
209 OGRErr exportToPROJJSON(
char **,
const char *
const *papszOptions)
const;
210 OGRErr exportToProj4(
char **)
const;
211 OGRErr exportToPCI(
char **,
char **,
double **)
const;
212 OGRErr exportToUSGS(
long *,
long *,
double **,
long *)
const;
213 OGRErr exportToXML(
char **,
const char * =
nullptr)
const;
214 OGRErr exportToPanorama(
long *,
long *,
long *,
long *,
double *)
const;
215 OGRErr exportVertCSToPanorama(
int *)
const;
216 OGRErr exportToERM(
char *pszProj,
char *pszDatum,
char *pszUnits);
217 OGRErr exportToMICoordSys(
char **)
const;
218 OGRErr exportToCF1(
char **ppszGridMappingName,
char ***ppapszKeyValues,
221 OGRErr importFromWkt(
char **)
224 "Use importFromWkt(const char**) or importFromWkt(const char*)")
228 OGRErr importFromWkt(
const char **);
233 OGRErr importFromWkt(
const char *);
234 OGRErr importFromProj4(
const char *);
235 OGRErr importFromEPSG(
int);
236 OGRErr importFromEPSGA(
int);
237 OGRErr importFromESRI(
char **);
238 OGRErr importFromPCI(
const char *,
const char * =
nullptr,
239 const double * =
nullptr);
241#define USGS_ANGLE_DECIMALDEGREES 0
242#define USGS_ANGLE_PACKEDDMS \
244#define USGS_ANGLE_RADIANS 2
245 OGRErr importFromUSGS(
long iProjSys,
long iZone,
double *padfPrjParams,
248 OGRErr importFromPanorama(
long,
long,
long,
double *,
bool bNorth =
true);
249 OGRErr importVertCSFromPanorama(
int);
250 OGRErr importFromOzi(
const char *
const *papszLines);
251 OGRErr importFromWMSAUTO(
const char *pszAutoDef);
252 OGRErr importFromXML(
const char *);
253 OGRErr importFromDict(
const char *pszDict,
const char *pszCode);
254 OGRErr importFromURN(
const char *);
255 OGRErr importFromCRSURL(
const char *);
256 OGRErr importFromERM(
const char *pszProj,
const char *pszDatum,
257 const char *pszUnits);
258 OGRErr importFromUrl(
const char *);
259 OGRErr importFromMICoordSys(
const char *);
266 convertToOtherProjection(
const char *pszTargetProjection,
267 const char *
const *papszOptions =
nullptr)
const;
272 bool StripTOWGS84IfKnownDatumAndAllowed();
273 bool StripTOWGS84IfKnownDatum();
275 int EPSGTreatsAsLatLong()
const;
276 int EPSGTreatsAsNorthingEasting()
const;
277 int GetAxesCount()
const;
278 const char *GetAxis(
const char *pszTargetKey,
int iAxis,
280 double *pdfConvFactor =
nullptr)
const;
281 OGRErr SetAxes(
const char *pszTargetKey,
const char *pszXAxisName,
283 const char *pszYAxisName,
288 const std::vector<int> &GetDataAxisToSRSAxisMapping()
const;
289 OGRErr SetDataAxisToSRSAxisMapping(
const std::vector<int> &mapping);
300 const OGR_SRSNode *GetAttrNode(
const char *)
const;
301 const char *GetAttrValue(
const char *,
int = 0)
const;
303 OGRErr SetNode(
const char *,
const char *);
305 OGRErr SetNode(
const char *,
double);
308 SetLinearUnitsAndUpdateParameters(
const char *pszName,
double dfInMeters,
309 const char *pszUnitAuthority =
nullptr,
310 const char *pszUnitCode =
nullptr);
311 OGRErr SetLinearUnits(
const char *pszName,
double dfInMeters);
312 OGRErr SetTargetLinearUnits(
const char *pszTargetKey,
const char *pszName,
314 const char *pszUnitAuthority =
nullptr,
315 const char *pszUnitCode =
nullptr);
317 double GetLinearUnits(
char **)
const
319 CPL_WARN_DEPRECATED(
"Use GetLinearUnits(const char**) instead")
322 double GetLinearUnits(
const char ** =
nullptr)
const;
325 double GetLinearUnits(std::nullptr_t)
const
327 return GetLinearUnits(
static_cast<const char **
>(
nullptr));
332 double GetTargetLinearUnits(
const char *pszTargetKey,
333 char **ppszRetName)
const
336 "Use GetTargetLinearUnits(const char*, const char**)")
339 double GetTargetLinearUnits(
const char *pszTargetKey,
340 const char **ppszRetName =
nullptr)
const;
343 double GetTargetLinearUnits(
const char *pszTargetKey, std::nullptr_t)
const
345 return GetTargetLinearUnits(pszTargetKey,
346 static_cast<const char **
>(
nullptr));
351 OGRErr SetAngularUnits(
const char *pszName,
double dfInRadians);
352 double GetAngularUnits(
char **)
const
354 CPL_WARN_DEPRECATED(
"Use GetAngularUnits(const char**) instead")
357 double GetAngularUnits(
const char ** =
nullptr)
const;
360 double GetAngularUnits(std::nullptr_t)
const
362 return GetAngularUnits(
static_cast<const char **
>(
nullptr));
367 double GetPrimeMeridian(
char **)
const
369 CPL_WARN_DEPRECATED(
"Use GetPrimeMeridian(const char**) instead")
372 double GetPrimeMeridian(
const char ** =
nullptr)
const;
375 double GetPrimeMeridian(std::nullptr_t)
const
377 return GetPrimeMeridian(
static_cast<const char **
>(
nullptr));
382 bool IsEmpty()
const;
383 int IsGeographic()
const;
384 int IsDerivedGeographic()
const;
385 int IsProjected()
const;
386 int IsDerivedProjected()
const;
387 int IsGeocentric()
const;
388 bool IsDynamic()
const;
391 bool HasPointMotionOperation()
const;
394 int IsVertical()
const;
395 int IsCompound()
const;
398 const char *
const *papszOptions)
const;
402 const char *
const *papszOptions)
const;
404 const char *GetCelestialBodyName()
const;
407 OGRErr SetLocalCS(
const char *);
408 OGRErr SetProjCS(
const char *);
409 OGRErr SetProjection(
const char *);
410 OGRErr SetGeocCS(
const char *pszGeocName);
411 OGRErr SetGeogCS(
const char *pszGeogName,
const char *pszDatumName,
412 const char *pszEllipsoidName,
double dfSemiMajor,
413 double dfInvFlattening,
const char *pszPMName =
nullptr,
414 double dfPMOffset = 0.0,
const char *pszUnits =
nullptr,
415 double dfConvertToRadians = 0.0);
416 OGRErr SetWellKnownGeogCS(
const char *);
418 OGRErr SetVertCS(
const char *pszVertCSName,
const char *pszVertDatumName,
419 int nVertDatumClass = 2005);
420 OGRErr SetCompoundCS(
const char *pszName,
424 void SetCoordinateEpoch(
double dfCoordinateEpoch);
425 double GetCoordinateEpoch()
const;
428 OGRErr PromoteTo3D(
const char *pszName);
430 OGRErr DemoteTo2D(
const char *pszName);
432 OGRErr SetFromUserInput(
const char *);
434 static const char *
const SET_FROM_USER_INPUT_LIMITATIONS[];
435 static CSLConstList SET_FROM_USER_INPUT_LIMITATIONS_get();
439 OGRErr SetTOWGS84(
double,
double,
double,
double = 0.0,
double = 0.0,
440 double = 0.0,
double = 0.0);
441 OGRErr GetTOWGS84(
double *padfCoef,
int nCoeff = 7)
const;
442 OGRErr AddGuessedTOWGS84();
444 double GetSemiMajor(
OGRErr * =
nullptr)
const;
445 double GetSemiMinor(
OGRErr * =
nullptr)
const;
446 double GetInvFlattening(
OGRErr * =
nullptr)
const;
447 double GetEccentricity()
const;
448 double GetSquaredEccentricity()
const;
450 OGRErr SetAuthority(
const char *pszTargetKey,
const char *pszAuthority,
453 OGRErr AutoIdentifyEPSG();
455 int **ppanMatchConfidence)
const;
457 FindBestMatch(
int nMinimumMatchConfidence = 90,
458 const char *pszPreferredAuthority =
"EPSG",
461 int GetEPSGGeogCS()
const;
463 const char *GetAuthorityCode(
const char *pszTargetKey =
nullptr)
const;
464 const char *GetAuthorityName(
const char *pszTargetKey =
nullptr)
const;
465 char *GetOGCURN()
const;
467 bool GetAreaOfUse(
double *pdfWestLongitudeDeg,
double *pdfSouthLatitudeDeg,
468 double *pdfEastLongitudeDeg,
double *pdfNorthLatitudeDeg,
469 const char **ppszAreaName)
const;
471 const char *GetExtension(
const char *pszTargetKey,
const char *pszName,
472 const char *pszDefault =
nullptr)
const;
473 OGRErr SetExtension(
const char *pszTargetKey,
const char *pszName,
474 const char *pszValue);
476 int FindProjParm(
const char *pszParameter,
478 OGRErr SetProjParm(
const char *,
double);
479 double GetProjParm(
const char *,
double = 0.0,
OGRErr * =
nullptr)
const;
481 OGRErr SetNormProjParm(
const char *,
double);
482 double GetNormProjParm(
const char *,
double = 0.0,
483 OGRErr * =
nullptr)
const;
485 static int IsAngularParameter(
const char *);
486 static int IsLongitudeParameter(
const char *);
487 static int IsLinearParameter(
const char *);
490 OGRErr SetACEA(
double dfStdP1,
double dfStdP2,
double dfCenterLat,
491 double dfCenterLong,
double dfFalseEasting,
492 double dfFalseNorthing);
495 OGRErr SetAE(
double dfCenterLat,
double dfCenterLong,
double dfFalseEasting,
496 double dfFalseNorthing);
499 OGRErr SetBonne(
double dfStdP1,
double dfCentralMeridian,
500 double dfFalseEasting,
double dfFalseNorthing);
503 OGRErr SetCEA(
double dfStdP1,
double dfCentralMeridian,
504 double dfFalseEasting,
double dfFalseNorthing);
507 OGRErr SetCS(
double dfCenterLat,
double dfCenterLong,
double dfFalseEasting,
508 double dfFalseNorthing);
511 OGRErr SetEC(
double dfStdP1,
double dfStdP2,
double dfCenterLat,
512 double dfCenterLong,
double dfFalseEasting,
513 double dfFalseNorthing);
516 OGRErr SetEckert(
int nVariation,
double dfCentralMeridian,
517 double dfFalseEasting,
double dfFalseNorthing);
520 OGRErr SetEckertIV(
double dfCentralMeridian,
double dfFalseEasting,
521 double dfFalseNorthing);
524 OGRErr SetEckertVI(
double dfCentralMeridian,
double dfFalseEasting,
525 double dfFalseNorthing);
528 OGRErr SetEquirectangular(
double dfCenterLat,
double dfCenterLong,
529 double dfFalseEasting,
double dfFalseNorthing);
531 OGRErr SetEquirectangular2(
double dfCenterLat,
double dfCenterLong,
532 double dfPseudoStdParallel1,
533 double dfFalseEasting,
double dfFalseNorthing);
536 OGRErr SetGEOS(
double dfCentralMeridian,
double dfSatelliteHeight,
537 double dfFalseEasting,
double dfFalseNorthing);
540 OGRErr SetGH(
double dfCentralMeridian,
double dfFalseEasting,
541 double dfFalseNorthing);
547 OGRErr SetGS(
double dfCentralMeridian,
double dfFalseEasting,
548 double dfFalseNorthing);
551 OGRErr SetGaussSchreiberTMercator(
double dfCenterLat,
double dfCenterLong,
552 double dfScale,
double dfFalseEasting,
553 double dfFalseNorthing);
556 OGRErr SetGnomonic(
double dfCenterLat,
double dfCenterLong,
557 double dfFalseEasting,
double dfFalseNorthing);
560 OGRErr SetHOM(
double dfCenterLat,
double dfCenterLong,
double dfAzimuth,
561 double dfRectToSkew,
double dfScale,
double dfFalseEasting,
562 double dfFalseNorthing);
565 OGRErr SetHOM2PNO(
double dfCenterLat,
double dfLat1,
double dfLong1,
566 double dfLat2,
double dfLong2,
double dfScale,
567 double dfFalseEasting,
double dfFalseNorthing);
570 OGRErr SetHOMAC(
double dfCenterLat,
double dfCenterLong,
double dfAzimuth,
571 double dfRectToSkew,
double dfScale,
double dfFalseEasting,
572 double dfFalseNorthing);
575 OGRErr SetLOM(
double dfCenterLat,
double dfCenterLong,
double dfAzimuth,
576 double dfScale,
double dfFalseEasting,
577 double dfFalseNorthing);
580 OGRErr SetIWMPolyconic(
double dfLat1,
double dfLat2,
double dfCenterLong,
581 double dfFalseEasting,
double dfFalseNorthing);
584 OGRErr SetKrovak(
double dfCenterLat,
double dfCenterLong,
double dfAzimuth,
585 double dfPseudoStdParallelLat,
double dfScale,
586 double dfFalseEasting,
double dfFalseNorthing);
589 OGRErr SetLAEA(
double dfCenterLat,
double dfCenterLong,
590 double dfFalseEasting,
double dfFalseNorthing);
593 OGRErr SetLCC(
double dfStdP1,
double dfStdP2,
double dfCenterLat,
594 double dfCenterLong,
double dfFalseEasting,
595 double dfFalseNorthing);
598 OGRErr SetLCC1SP(
double dfCenterLat,
double dfCenterLong,
double dfScale,
599 double dfFalseEasting,
double dfFalseNorthing);
602 OGRErr SetLCCB(
double dfStdP1,
double dfStdP2,
double dfCenterLat,
603 double dfCenterLong,
double dfFalseEasting,
604 double dfFalseNorthing);
607 OGRErr SetMC(
double dfCenterLat,
double dfCenterLong,
double dfFalseEasting,
608 double dfFalseNorthing);
611 OGRErr SetMercator(
double dfCenterLat,
double dfCenterLong,
double dfScale,
612 double dfFalseEasting,
double dfFalseNorthing);
615 OGRErr SetMercator2SP(
double dfStdP1,
double dfCenterLat,
616 double dfCenterLong,
double dfFalseEasting,
617 double dfFalseNorthing);
620 OGRErr SetMollweide(
double dfCentralMeridian,
double dfFalseEasting,
621 double dfFalseNorthing);
624 OGRErr SetNZMG(
double dfCenterLat,
double dfCenterLong,
625 double dfFalseEasting,
double dfFalseNorthing);
628 OGRErr SetOS(
double dfOriginLat,
double dfCMeridian,
double dfScale,
629 double dfFalseEasting,
double dfFalseNorthing);
632 OGRErr SetOrthographic(
double dfCenterLat,
double dfCenterLong,
633 double dfFalseEasting,
double dfFalseNorthing);
636 OGRErr SetPolyconic(
double dfCenterLat,
double dfCenterLong,
637 double dfFalseEasting,
double dfFalseNorthing);
640 OGRErr SetPS(
double dfCenterLat,
double dfCenterLong,
double dfScale,
641 double dfFalseEasting,
double dfFalseNorthing);
644 OGRErr SetRobinson(
double dfCenterLong,
double dfFalseEasting,
645 double dfFalseNorthing);
648 OGRErr SetSinusoidal(
double dfCenterLong,
double dfFalseEasting,
649 double dfFalseNorthing);
652 OGRErr SetStereographic(
double dfCenterLat,
double dfCenterLong,
653 double dfScale,
double dfFalseEasting,
654 double dfFalseNorthing);
657 OGRErr SetSOC(
double dfLatitudeOfOrigin,
double dfCentralMeridian,
658 double dfFalseEasting,
double dfFalseNorthing);
661 OGRErr SetTM(
double dfCenterLat,
double dfCenterLong,
double dfScale,
662 double dfFalseEasting,
double dfFalseNorthing);
665 OGRErr SetTMVariant(
const char *pszVariantName,
double dfCenterLat,
666 double dfCenterLong,
double dfScale,
667 double dfFalseEasting,
double dfFalseNorthing);
670 OGRErr SetTMG(
double dfCenterLat,
double dfCenterLong,
671 double dfFalseEasting,
double dfFalseNorthing);
674 OGRErr SetTMSO(
double dfCenterLat,
double dfCenterLong,
double dfScale,
675 double dfFalseEasting,
double dfFalseNorthing);
678 OGRErr SetTPED(
double dfLat1,
double dfLong1,
double dfLat2,
double dfLong2,
679 double dfFalseEasting,
double dfFalseNorthing);
682 OGRErr SetVDG(
double dfCenterLong,
double dfFalseEasting,
683 double dfFalseNorthing);
686 OGRErr SetUTM(
int nZone,
int bNorth = TRUE);
687 int GetUTMZone(
int *pbNorth =
nullptr)
const;
690 OGRErr SetWagner(
int nVariation,
double dfCenterLat,
double dfFalseEasting,
691 double dfFalseNorthing);
694 OGRErr SetQSC(
double dfCenterLat,
double dfCenterLong);
697 OGRErr SetSCH(
double dfPegLat,
double dfPegLong,
double dfPegHeading,
702 SetVerticalPerspective(
double dfTopoOriginLat,
double dfTopoOriginLon,
703 double dfTopoOriginHeight,
double dfViewPointHeight,
704 double dfFalseEasting,
double dfFalseNorthing);
707 OGRErr SetDerivedGeogCRSWithPoleRotationGRIBConvention(
708 const char *pszCRSName,
double dfSouthPoleLat,
double dfSouthPoleLon,
709 double dfAxisRotation);
712 OGRErr SetDerivedGeogCRSWithPoleRotationNetCDFCFConvention(
713 const char *pszCRSName,
double dfGridNorthPoleLat,
714 double dfGridNorthPoleLon,
double dfNorthPoleGridLon);
717 OGRErr SetStatePlane(
int nZone,
int bNAD83 = TRUE,
718 const char *pszOverrideUnitName =
nullptr,
719 double dfOverrideUnit = 0.0);
722 OGRErr ImportFromESRIStatePlaneWKT(
int nCode,
const char *pszDatumName,
723 const char *pszUnitsName,
int nPCSCode,
724 const char *pszCRSName =
nullptr);
727 OGRErr ImportFromESRIWisconsinWKT(
const char *pszPrjName,
728 double dfCentralMeridian,
729 double dfLatOfOrigin,
730 const char *pszUnitsName,
731 const char *pszCRSName =
nullptr);
734 void UpdateCoordinateSystemFromGeogCRS();
756#include "ogr_refcountedptr.h"
760 :
public OGRRefCountedPtrBase<OGRSpatialReference>
776 inline OGRRefCountedPtr()
783 inline OGRRefCountedPtr(std::nullptr_t)
790 inline static OGRRefCountedPtr makeInstance(
const char *pszWKT =
nullptr)
801 return OGRRefCountedPtr(poSRS ? poSRS->
Clone() : nullptr,
809 return OGRRefCountedPtr(oSRS.
Clone(),
819 OGRRefCountedPtrBase<OGRSpatialReference>::reset(
nullptr,
false);
830 OGRRefCountedPtrBase<OGRSpatialReference>::reset(poRawPtr, add_ref);
846using OGRSpatialReferenceRefCountedPtr = OGRRefCountedPtr<OGRSpatialReference>;
914 int Transform(
size_t nCount,
double *x,
double *y,
double *z =
nullptr,
915 int *pabSuccess =
nullptr);
941 virtual int Transform(
size_t nCount,
double *x,
double *y,
double *z,
942 double *t,
int *pabSuccess) = 0;
970 double *z,
double *t,
1010 const double xmax,
const double ymax,
1011 double *out_xmin,
double *out_ymin,
1012 double *out_xmax,
double *out_ymax,
1013 const int densify_pts)
1020 *out_xmin = HUGE_VAL;
1021 *out_ymin = HUGE_VAL;
1022 *out_xmax = HUGE_VAL;
1023 *out_ymax = HUGE_VAL;
1025 "TransformBounds not implemented.");
1089 friend class OGRProjCT;
1091 std::unique_ptr<Private> d;
1102 bool SetAreaOfInterest(
double dfWestLongitudeDeg,
double dfSouthLatitudeDeg,
1103 double dfEastLongitudeDeg,
1104 double dfNorthLatitudeDeg);
1105 bool SetDesiredAccuracy(
double dfAccuracy);
1106 bool SetBallparkAllowed(
bool bAllowBallpark);
1107 bool SetOnlyBest(
bool bOnlyBest);
1109 bool SetCoordinateOperation(
const char *pszCT,
bool bReverseCT);
1111 void SetSourceCenterLong(
double dfCenterLong);
1112 void SetTargetCenterLong(
double dfCenterLong);
Convenient string class based on std::string.
Definition cpl_string.h:338
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition ogr_spatialref.h:152
static OGRSpatialReferenceH ToHandle(OGRSpatialReference *poSRS)
Convert a OGRSpatialReference* to a OGRSpatialReferenceH.
Definition ogr_spatialref.h:741
static OGRSpatialReference * FromHandle(OGRSpatialReferenceH hSRS)
Convert a OGRSpatialReferenceH to a OGRSpatialReference*.
Definition ogr_spatialref.h:748
OGRSpatialReference * Clone() const
Make a duplicate of this OGRSpatialReference.
Definition ogrspatialreference.cpp:1516
Objects of this class are used to represent value nodes in the parsed representation of the WKT SRS f...
Definition ogr_spatialref.h:50
int GetChildCount() const
Get number of children nodes.
Definition ogr_spatialref.h:74
const char * GetValue() const
Fetch value string for this node.
Definition ogr_spatialref.h:92
int IsLeafNode() const
Return whether this is a leaf node.
Definition ogr_spatialref.h:69
@ CE_Failure
Error that prevents the current operation to succeed.
Definition cpl_error.h:60
#define CPLE_AppDefined
Application defined error.
Definition cpl_error.h:108
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition cpl_port.h:1101
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1252
Various convenience functions for working with strings and string lists.
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition gdal_fwd.h:197
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition gdal_fwd.h:195
int OGRErr
Type for a OGR error.
Definition ogr_core.h:388
#define USGS_ANGLE_PACKEDDMS
Angle is in packed degree minute second.
Definition ogr_spatialref.h:242
OGRCoordinateTransformation * OGRCreateCoordinateTransformation(const OGRSpatialReference *poSource, const OGRSpatialReference *poTarget)
Create transformation object.
Definition ogrct.cpp:1027
C spatial reference system services and defines.
OSRAxisMappingStrategy
Data axis to CRS axis mapping strategy.
Definition ogr_srs_api.h:637
OGRAxisOrientation
Axis orientations (corresponds to CS_AxisOrientationEnum).
Definition ogr_srs_api.h:35
Listener that is notified of modification to nodes.
Definition ogr_spatialref.h:54
virtual void notifyChange(OGR_SRSNode *)=0
Method triggered when a node is modified.