PROJ C++ API
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
osgeo::proj::crs::GeodeticCRS Class Reference

A coordinate reference system associated with a geodetic reference frame and a three-dimensional Cartesian or spherical coordinate system. More...

#include <crs.hpp>

Inheritance diagram for osgeo::proj::crs::GeodeticCRS:
Inheritance graph
[legend]
Collaboration diagram for osgeo::proj::crs::GeodeticCRS:
Collaboration graph
[legend]

Public Member Functions

const datum::GeodeticReferenceFramePtrdatum () PROJ_CONST_DECL
 Return the datum::GeodeticReferenceFrame associated with the CRS. More...
 
const datum::PrimeMeridianNNPtrprimeMeridian () PROJ_CONST_DECL
 Return the PrimeMeridian associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble(). More...
 
const datum::EllipsoidNNPtrellipsoid () PROJ_CONST_DECL
 Return the ellipsoid associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble(). More...
 
const std::vector< operation::PointMotionOperationNNPtr > & velocityModel () PROJ_CONST_DECL
 Return the velocity model associated with the CRS. More...
 
bool isGeocentric () PROJ_CONST_DECL
 Return whether the CRS is a geocentric one. More...
 
bool isEquivalentTo (const util::IComparable *other, util::IComparable::Criterion criterion=util::IComparable::Criterion::STRICT) const override
 Returns whether an object is equivalent to another one. More...
 
CRSNNPtr shallowClone () const override
 Return a shallow clone of this object.
 
- Public Member Functions inherited from osgeo::proj::crs::SingleCRS
const datum::DatumPtrdatum () PROJ_CONST_DECL
 Return the datum::Datum associated with the CRS. More...
 
const datum::DatumEnsemblePtrdatumEnsemble () PROJ_CONST_DECL
 Return the datum::DatumEnsemble associated with the CRS. More...
 
const cs::CoordinateSystemNNPtrcoordinateSystem () PROJ_CONST_DECL
 Return the cs::CoordinateSystem associated with the CRS. More...
 
- Public Member Functions inherited from osgeo::proj::crs::CRS
GeodeticCRSPtr extractGeodeticCRS () const
 Return the GeodeticCRS of the CRS. More...
 
GeographicCRSPtr extractGeographicCRS () const
 Return the GeographicCRS of the CRS. More...
 
VerticalCRSPtr extractVerticalCRS () const
 Return the VerticalCRS of the CRS. More...
 
CRSNNPtr createBoundCRSToWGS84IfPossible (io::DatabaseContextPtr dbContext) const
 Returns potentially a BoundCRS, with a transformation to EPSG:4326, wrapping this CRS. More...
 
CRSNNPtr stripVerticalComponent () const
 Returns a CRS whose coordinate system does not contain a vertical component. More...
 
const BoundCRSPtrcanonicalBoundCRS () PROJ_CONST_DECL
 Return the BoundCRS potentially attached to this CRS. More...
 
- Public Member Functions inherited from osgeo::proj::common::ObjectUsage
const std::vector< ObjectDomainNNPtr > & domains () PROJ_CONST_DECL
 Return the domains of the object.
 
- Public Member Functions inherited from osgeo::proj::common::IdentifiedObject
const metadata::IdentifierNNPtrname () PROJ_CONST_DECL
 Return the name of the object. More...
 
const std::string & nameStr () PROJ_CONST_DECL
 Return the name of the object. More...
 
const std::vector< metadata::IdentifierNNPtr > & identifiers () PROJ_CONST_DECL
 Return the identifier(s) of the object. More...
 
const std::vector< util::GenericNameNNPtr > & aliases () PROJ_CONST_DECL
 Return the alias(es) of the object.
 
const std::string & remarks () PROJ_CONST_DECL
 Return the remarks.
 
bool isDeprecated () PROJ_CONST_DECL
 Return whether the object is deprecated. More...
 
std::string alias () PROJ_CONST_DECL
 Return the (first) alias of the object as a string. More...
 
int getEPSGCode () PROJ_CONST_DECL
 Return the EPSG code. More...
 
bool isEPSG (int code) PROJ_CONST_DECL
 Return whether the object has a identifiers() in the EPSG code space.
 
- Public Member Functions inherited from osgeo::proj::io::IWKTExportable
std::string exportToWKT (WKTFormatter *formatter) const
 
- Public Member Functions inherited from osgeo::proj::io::IPROJStringExportable
std::string exportToPROJString (PROJStringFormatter *formatter) const
 Builds a PROJ string representation. More...
 

Static Public Member Functions

static GeodeticCRSNNPtr create (const util::PropertyMap &properties, const datum::GeodeticReferenceFrameNNPtr &datum, const cs::SphericalCSNNPtr &cs)
 Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame and a cs::SphericalCS. More...
 
static GeodeticCRSNNPtr create (const util::PropertyMap &properties, const datum::GeodeticReferenceFrameNNPtr &datum, const cs::CartesianCSNNPtr &cs)
 Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame and a cs::CartesianCS. More...
 
static GeodeticCRSNNPtr create (const util::PropertyMap &properties, const datum::GeodeticReferenceFramePtr &datum, const datum::DatumEnsemblePtr &datumEnsemble, const cs::SphericalCSNNPtr &cs)
 Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame or datum::DatumEnsemble and a cs::SphericalCS. More...
 
static GeodeticCRSNNPtr create (const util::PropertyMap &properties, const datum::GeodeticReferenceFramePtr &datum, const datum::DatumEnsemblePtr &datumEnsemble, const cs::CartesianCSNNPtr &cs)
 Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame or datum::DatumEnsemble and a cs::CartesianCS. More...
 
- Static Public Member Functions inherited from osgeo::proj::common::IdentifiedObject
static IdentifiedObjectNNPtr create (const util::PropertyMap &properties)
 Instanciate a new IdentifiedObject. More...
 

Static Public Attributes

static const GeodeticCRSNNPtr EPSG_4978
 EPSG:4978 / "WGS 84" Geocentric.
 
- Static Public Attributes inherited from osgeo::proj::common::ObjectUsage
static const std::string SCOPE_KEY
 Key to set the scope of a common::ObjectUsage. More...
 
static const std::string DOMAIN_OF_VALIDITY_KEY
 Key to set the domain of validity of a common::ObjectUsage. More...
 
static const std::string OBJECT_DOMAIN_KEY
 Key to set the object domain(s) of a common::ObjectUsage. More...
 
- Static Public Attributes inherited from osgeo::proj::common::IdentifiedObject
static const std::string NAME_KEY
 Key to set the name of a common::IdentifiedObject. More...
 
static const std::string IDENTIFIERS_KEY
 Key to set the identifier(s) of a common::IdentifiedObject. More...
 
static const std::string ALIAS_KEY
 Key to set the alias(es) of a common::IdentifiedObject. More...
 
static const std::string REMARKS_KEY
 Key to set the remarks of a common::IdentifiedObject. More...
 
static const std::string DEPRECATED_KEY
 Key to set the deprecation flag of a common::IdentifiedObject. More...
 

Additional Inherited Members

- Public Types inherited from osgeo::proj::util::IComparable
enum  Criterion { Criterion::STRICT, Criterion::EQUIVALENT }
 Comparison criterion. More...
 

Detailed Description

A coordinate reference system associated with a geodetic reference frame and a three-dimensional Cartesian or spherical coordinate system.

If the geodetic reference frame is dynamic or if the geodetic CRS has an association to a velocity model then the geodetic CRS is dynamic, else it is static.

Remarks
Implements GeodeticCRS from ISO 19111:2018

Member Function Documentation

GeodeticCRSNNPtr osgeo::proj::crs::GeodeticCRS::create ( const util::PropertyMap properties,
const datum::GeodeticReferenceFrameNNPtr datum,
const cs::SphericalCSNNPtr cs 
)
static

Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame and a cs::SphericalCS.

Parameters
propertiesSee General properties. At minimum the name should be defined.
datumThe datum of the CRS.
csa SphericalCS.
Returns
new GeodeticCRS.
GeodeticCRSNNPtr osgeo::proj::crs::GeodeticCRS::create ( const util::PropertyMap properties,
const datum::GeodeticReferenceFrameNNPtr datum,
const cs::CartesianCSNNPtr cs 
)
static

Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame and a cs::CartesianCS.

Parameters
propertiesSee General properties. At minimum the name should be defined.
datumThe datum of the CRS.
csa CartesianCS.
Returns
new GeodeticCRS.
GeodeticCRSNNPtr osgeo::proj::crs::GeodeticCRS::create ( const util::PropertyMap properties,
const datum::GeodeticReferenceFramePtr datum,
const datum::DatumEnsemblePtr datumEnsemble,
const cs::SphericalCSNNPtr cs 
)
static

Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame or datum::DatumEnsemble and a cs::SphericalCS.

One and only one of datum or datumEnsemble should be set to a non-null value.

Parameters
propertiesSee General properties. At minimum the name should be defined.
datumThe datum of the CRS, or nullptr
datumEnsembleThe datum ensemble of the CRS, or nullptr.
csa SphericalCS.
Returns
new GeodeticCRS.
GeodeticCRSNNPtr osgeo::proj::crs::GeodeticCRS::create ( const util::PropertyMap properties,
const datum::GeodeticReferenceFramePtr datum,
const datum::DatumEnsemblePtr datumEnsemble,
const cs::CartesianCSNNPtr cs 
)
static

Instanciate a GeodeticCRS from a datum::GeodeticReferenceFrame or datum::DatumEnsemble and a cs::CartesianCS.

One and only one of datum or datumEnsemble should be set to a non-null value.

Parameters
propertiesSee General properties. At minimum the name should be defined.
datumThe datum of the CRS, or nullptr
datumEnsembleThe datum ensemble of the CRS, or nullptr.
csa CartesianCS
Returns
new GeodeticCRS.
const datum::GeodeticReferenceFramePtr & osgeo::proj::crs::GeodeticCRS::datum ( )

Return the datum::GeodeticReferenceFrame associated with the CRS.

Returns
a GeodeticReferenceFrame or null (in which case datumEnsemble() should return a non-null pointer.)
const datum::EllipsoidNNPtr & osgeo::proj::crs::GeodeticCRS::ellipsoid ( )

Return the ellipsoid associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble().

Returns
the PrimeMeridian.
bool osgeo::proj::crs::GeodeticCRS::isEquivalentTo ( const util::IComparable other,
util::IComparable::Criterion  criterion = util::IComparable::Criterion::STRICT 
) const
overridevirtual

Returns whether an object is equivalent to another one.

Parameters
otherother object to compare to
criterioncomparaison criterion.
Returns
true if objects are equivalent.

Reimplemented from osgeo::proj::common::ObjectUsage.

Reimplemented in osgeo::proj::crs::DerivedGeographicCRS, and osgeo::proj::crs::DerivedGeodeticCRS.

bool osgeo::proj::crs::GeodeticCRS::isGeocentric ( )

Return whether the CRS is a geocentric one.

A geocentric CRS is a geodetic CRS that has a Cartesian coordinate system with three axis, whose direction is respectively cs::AxisDirection::GEOCENTRIC_X, cs::AxisDirection::GEOCENTRIC_Y and cs::AxisDirection::GEOCENTRIC_Z.

Returns
true if the CRS is a geocentric CRS.
const datum::PrimeMeridianNNPtr & osgeo::proj::crs::GeodeticCRS::primeMeridian ( )

Return the PrimeMeridian associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble().

Returns
the PrimeMeridian.
const std::vector< operation::PointMotionOperationNNPtr > & osgeo::proj::crs::GeodeticCRS::velocityModel ( )

Return the velocity model associated with the CRS.

Returns
a velocity model. might be null.

The documentation for this class was generated from the following files: