crs namespace¶
-
namespace
crs
¶ CRS (coordinate reference system = coordinate system with a datum).
osgeo.proj.crs namespace
Typedefs
-
typedef std::shared_ptr<GeographicCRS>
GeographicCRSPtr
¶ Shared pointer of GeographicCRS
-
typedef util::nn<GeographicCRSPtr>
GeographicCRSNNPtr
¶ Non-null shared pointer of GeographicCRS
-
typedef std::shared_ptr<VerticalCRS>
VerticalCRSPtr
¶ Shared pointer of VerticalCRS
-
typedef util::nn<VerticalCRSPtr>
VerticalCRSNNPtr
¶ Non-null shared pointer of VerticalCRS
-
using
BoundCRSNNPtr
= util::nn<BoundCRSPtr>¶ Non-null shared pointer of BoundCRS
-
using
SingleCRSNNPtr
= util::nn<SingleCRSPtr>¶ Non-null shared pointer of SingleCRS
-
typedef std::shared_ptr<GeodeticCRS>
GeodeticCRSPtr
¶ Shared pointer of GeodeticCRS
-
typedef util::nn<GeodeticCRSPtr>
GeodeticCRSNNPtr
¶ Non-null shared pointer of GeodeticCRS
-
using
DerivedCRSPtr
= std::shared_ptr<DerivedCRS>¶ Shared pointer of DerivedCRS
-
using
DerivedCRSNNPtr
= util::nn<DerivedCRSPtr>¶ Non-null shared pointer of DerivedCRS
-
typedef std::shared_ptr<ProjectedCRS>
ProjectedCRSPtr
¶ Shared pointer of ProjectedCRS
-
typedef util::nn<ProjectedCRSPtr>
ProjectedCRSNNPtr
¶ Non-null shared pointer of ProjectedCRS
-
using
TemporalCRSPtr
= std::shared_ptr<TemporalCRS>¶ Shared pointer of TemporalCRS
-
using
TemporalCRSNNPtr
= util::nn<TemporalCRSPtr>¶ Non-null shared pointer of TemporalCRS
-
using
EngineeringCRSPtr
= std::shared_ptr<EngineeringCRS>¶ Shared pointer of EngineeringCRS
-
using
EngineeringCRSNNPtr
= util::nn<EngineeringCRSPtr>¶ Non-null shared pointer of EngineeringCRS
-
using
ParametricCRSPtr
= std::shared_ptr<ParametricCRS>¶ Shared pointer of ParametricCRS
-
using
ParametricCRSNNPtr
= util::nn<ParametricCRSPtr>¶ Non-null shared pointer of ParametricCRS
-
typedef std::shared_ptr<CompoundCRS>
CompoundCRSPtr
¶ Shared pointer of CompoundCRS
-
typedef util::nn<CompoundCRSPtr>
CompoundCRSNNPtr
¶ Non-null shared pointer of CompoundCRS
-
using
DerivedGeodeticCRSPtr
= std::shared_ptr<DerivedGeodeticCRS>¶ Shared pointer of DerivedGeodeticCRS
-
using
DerivedGeodeticCRSNNPtr
= util::nn<DerivedGeodeticCRSPtr>¶ Non-null shared pointer of DerivedGeodeticCRS
-
using
DerivedGeographicCRSPtr
= std::shared_ptr<DerivedGeographicCRS>¶ Shared pointer of DerivedGeographicCRS
-
using
DerivedGeographicCRSNNPtr
= util::nn<DerivedGeographicCRSPtr>¶ Non-null shared pointer of DerivedGeographicCRS
-
using
DerivedProjectedCRSPtr
= std::shared_ptr<DerivedProjectedCRS>¶ Shared pointer of DerivedProjectedCRS
-
using
DerivedProjectedCRSNNPtr
= util::nn<DerivedProjectedCRSPtr>¶ Non-null shared pointer of DerivedProjectedCRS
-
using
DerivedVerticalCRSPtr
= std::shared_ptr<DerivedVerticalCRS>¶ Shared pointer of DerivedVerticalCRS
-
using
DerivedVerticalCRSNNPtr
= util::nn<DerivedVerticalCRSPtr>¶ Non-null shared pointer of DerivedVerticalCRS
-
using
DerivedEngineeringCRSPtr
= std::shared_ptr<DerivedEngineeringCRS>¶ Shared pointer of DerivedEngineeringCRS
-
using
DerivedEngineeringCRSNNPtr
= util::nn<DerivedEngineeringCRSPtr>¶ Non-null shared pointer of DerivedEngineeringCRS
-
using
DerivedParametricCRSPtr
= std::shared_ptr<DerivedParametricCRS>¶ Shared pointer of DerivedParametricCRS
-
using
DerivedParametricCRSNNPtr
= util::nn<DerivedParametricCRSPtr>¶ Non-null shared pointer of DerivedParametricCRS
-
using
DerivedTemporalCRSPtr
= std::shared_ptr<DerivedTemporalCRS>¶ Shared pointer of DerivedTemporalCRS
-
using
DerivedTemporalCRSNNPtr
= util::nn<DerivedTemporalCRSPtr>¶ Non-null shared pointer of DerivedTemporalCRS
-
class
BoundCRS
: public osgeo::proj::crs::CRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
A coordinate reference system with an associated transformation to a target/hub CRS.
The definition of a CRS is not dependent upon any relationship to an independent CRS. However in an implementation that merges datasets referenced to differing CRSs, it is sometimes useful to associate the definition of the transformation that has been used with the CRS definition. This facilitates the interrelationship of CRS by concatenating transformations via a common or hub CRS. This is sometimes referred to as “early-binding”. WKT2 permits the association of an abridged coordinate transformation description with a coordinate reference system description in a single text string. In a BoundCRS, the abridged coordinate transformation is applied to the source CRS with the target CRS being the common or hub system.
Coordinates referring to a BoundCRS are expressed into its source/base CRS.
This abstraction can for example model the concept of TOWGS84 datum shift present in WKT1.
- Note
- Contrary to other CRS classes of this package, there is no ISO_19111_2018 modelling of a BoundCRS.
- Remark
- Implements BoundCRS from WKT2
Public Functions
-
const CRSNNPtr &
baseCRS
()¶ Return the base CRS.
This is the CRS into which coordinates of the BoundCRS are expressed.
- Return
- the base CRS.
-
CRSNNPtr
baseCRSWithCanonicalBoundCRS
() const¶ Return a shallow clone of the base CRS that points to a shallow clone of this BoundCRS.
The base CRS is the CRS into which coordinates of the BoundCRS are expressed.
The returned CRS will actually be a shallow clone of the actual base CRS, with the extra property that CRS::canonicalBoundCRS() will point to a shallow clone of this BoundCRS. Use this only if you want to work with the base CRS object rather than the BoundCRS, but wanting to be able to retrieve the BoundCRS later.
- Return
- the base CRS.
-
const operation::TransformationNNPtr &
transformation
()¶ Return the transformation to the hub RS.
- Return
- transformation.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
BoundCRSNNPtr
create
(const CRSNNPtr &baseCRSIn, const CRSNNPtr &hubCRSIn, const operation::TransformationNNPtr &transformationIn)¶ Instanciate a BoundCRS from a base CRS, a hub CRS and a transformation.
-
BoundCRSNNPtr
createFromTOWGS84
(const CRSNNPtr &baseCRSIn, const std::vector<double> &TOWGS84Parameters)¶ Instanciate a BoundCRS from a base CRS and TOWGS84 parameters.
-
class
CompoundCRS
: public osgeo::proj::crs::CRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
A coordinate reference system describing the position of points through two or more independent single coordinate reference systems.
- Note
- Two coordinate reference systems are independent of each other if coordinate values in one cannot be converted or transformed into coordinate values in the other.
- Note
- As a departure to ISO_19111_2018, we allow to build a CompoundCRS from CRS objects, whereas ISO19111:2018 restricts the components to SingleCRS.
- Remark
- Implements CompoundCRS from ISO_19111_2018
Public Functions
-
const std::vector<CRSNNPtr> &
componentReferenceSystems
()¶ Return the components of a CompoundCRS.
- Return
- the components.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
CompoundCRSNNPtr
create
(const util::PropertyMap &properties, const std::vector<CRSNNPtr> &components)¶ Instanciate a CompoundCRS from a vector of CRS.
- Return
- new CompoundCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.components
: the component CRS of the CompoundCRS.
-
class
CRS
: public osgeo::proj::common::ObjectUsage, public osgeo::proj::io::IWKTExportable¶ - #include <crs.hpp>
Abstract class modelling a coordinate reference system which is usually single but may be compound.
- Remark
- Implements CRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::BoundCRS, osgeo::proj::crs::CompoundCRS, osgeo::proj::crs::SingleCRS
Public Functions
-
GeodeticCRSPtr
extractGeodeticCRS
() const¶ Return the GeodeticCRS of the CRS.
Returns the GeodeticCRS contained in a CRS. This works currently with input parameters of type GeodeticCRS or derived, ProjectedCRS, CompoundCRS or BoundCRS.
- Return
- a GeodeticCRSPtr, that might be null.
-
GeographicCRSPtr
extractGeographicCRS
() const¶ Return the GeographicCRS of the CRS.
Returns the GeographicCRS contained in a CRS. This works currently with input parameters of type GeographicCRS or derived, ProjectedCRS, CompoundCRS or BoundCRS.
- Return
- a GeographicCRSPtr, that might be null.
-
VerticalCRSPtr
extractVerticalCRS
() const¶ Return the VerticalCRS of the CRS.
Returns the VerticalCRS contained in a CRS. This works currently with input parameters of type VerticalCRS or derived, CompoundCRS or BoundCRS.
- Return
- a VerticalCRSPtr, that might be null.
-
CRSNNPtr
createBoundCRSToWGS84IfPossible
(io::DatabaseContextPtr dbContext) const¶ Returns potentially a BoundCRS, with a transformation to EPSG:4326, wrapping this CRS.
If no such BoundCRS is possible, the object will be returned.
The purpose of this method is to be able to format a PROJ.4 string with a +towgs84 parameter or a WKT1:GDAL string with a TOWGS node.
This method will fetch the GeographicCRS of this CRS and find a transformation to EPSG:4326 using the domain of the validity of the main CRS.
- Return
- a CRS.
-
CRSNNPtr
stripVerticalComponent
() const¶ Returns a CRS whose coordinate system does not contain a vertical component.
- Return
- a CRS.
-
const BoundCRSPtr &
canonicalBoundCRS
()¶ Return the BoundCRS potentially attached to this CRS.
In the case this method is called on a object returned by BoundCRS::baseCRSWithCanonicalBoundCRS(), this method will return this BoundCRS
- Return
- a BoundCRSPtr, that might be null.
-
class
DerivedCRS
: public virtual osgeo::proj::crs::SingleCRS¶ - #include <crs.hpp>
Abstract class modelling a single coordinate reference system that is defined through the application of a specified coordinate conversion to the definition of a previously established single coordinate reference system referred to as the base CRS.
A derived coordinate reference system inherits its datum (or datum ensemble) from its base CRS. The coordinate conversion between the base and derived coordinate reference system is implemented using the parameters and formula(s) specified in the definition of the coordinate conversion.
- Remark
- Implements DerivedCRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::DerivedCRSTemplate< DerivedEngineeringCRSTraits >, osgeo::proj::crs::DerivedCRSTemplate< DerivedParametricCRSTraits >, osgeo::proj::crs::DerivedCRSTemplate< DerivedTemporalCRSTraits >, osgeo::proj::crs::DerivedCRSTemplate< DerivedCRSTraits >, osgeo::proj::crs::DerivedGeodeticCRS, osgeo::proj::crs::DerivedGeographicCRS, osgeo::proj::crs::DerivedProjectedCRS, osgeo::proj::crs::DerivedVerticalCRS, osgeo::proj::crs::ProjectedCRS
Public Functions
-
const SingleCRSNNPtr &
baseCRS
()¶ Return the base CRS of a DerivedCRS.
- Return
- the base CRS.
-
const operation::ConversionNNPtr
derivingConversion
() const¶ Return the deriving conversion from the base CRS to this CRS.
- Return
- the deriving conversion.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
-
template <class DerivedCRSTraits>
classDerivedCRSTemplate
: public BaseType, public osgeo::proj::crs::DerivedCRS¶ - #include <crs.hpp>
Template representing a derived coordinate reference system.
Public Types
-
typedef util::nn<std::shared_ptr<DerivedCRSTemplate>>
NNPtr
¶ Non-null shared pointer of DerivedCRSTemplate
Public Functions
-
const DerivedCRSTemplate<DerivedCRSTraits>::BaseNNPtr
baseCRS
() const¶ Return the base CRS of a DerivedCRSTemplate.
- Return
- the base CRS.
Public Static Functions
-
static NNPtr
create
(const util::PropertyMap &properties, const BaseNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const CSNNPtr &csIn)¶ Instanciate a DerivedCRSTemplate from a base CRS, a deriving conversion and a cs::CoordinateSystem.
- Return
- new DerivedCRSTemplate.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
typedef util::nn<std::shared_ptr<DerivedCRSTemplate>>
-
class
DerivedEngineeringCRS
: public osgeo::proj::crs::DerivedCRSTemplate<DerivedEngineeringCRSTraits>¶ - #include <crs.hpp>
A derived coordinate reference system which has an engineering coordinate reference system as its base CRS, thereby inheriting an engineering datum, and is associated with one of the coordinate system types for an EngineeringCRS.
- Remark
- Implements DerivedEngineeringCRS from ISO_19111_2018
-
class
DerivedGeodeticCRS
: public osgeo::proj::crs::GeodeticCRS, public osgeo::proj::crs::DerivedCRS¶ - #include <crs.hpp>
A derived coordinate reference system which has either a geodetic or a geographic coordinate reference system as its base CRS, thereby inheriting a geodetic reference frame, and associated with a 3D Cartesian or spherical coordinate system.
- Remark
- Implements DerivedGeodeticCRS from ISO_19111_2018
Public Functions
-
const GeodeticCRSNNPtr
baseCRS
() const¶ Return the base CRS (a GeodeticCRS) of a DerivedGeodeticCRS.
- Return
- the base CRS.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
DerivedGeodeticCRSNNPtr
create
(const util::PropertyMap &properties, const GeodeticCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::CartesianCSNNPtr &csIn)¶ Instanciate a DerivedGeodeticCRS from a base CRS, a deriving conversion and a cs::CartesianCS.
- Return
- new DerivedGeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
DerivedGeodeticCRSNNPtr
create
(const util::PropertyMap &properties, const GeodeticCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::SphericalCSNNPtr &csIn)¶ Instanciate a DerivedGeodeticCRS from a base CRS, a deriving conversion and a cs::SphericalCS.
- Return
- new DerivedGeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
class
DerivedGeographicCRS
: public osgeo::proj::crs::GeographicCRS, public osgeo::proj::crs::DerivedCRS¶ - #include <crs.hpp>
A derived coordinate reference system which has either a geodetic or a geographic coordinate reference system as its base CRS, thereby inheriting a geodetic reference frame, and an ellipsoidal coordinate system.
A derived geographic CRS can be based on a geodetic CRS only if that geodetic CRS definition includes an ellipsoid.
- Remark
- Implements DerivedGeographicCRS from ISO_19111_2018
Public Functions
-
const GeodeticCRSNNPtr
baseCRS
() const¶ Return the base CRS (a GeodeticCRS) of a DerivedGeographicCRS.
- Return
- the base CRS.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
DerivedGeographicCRSNNPtr
create
(const util::PropertyMap &properties, const GeodeticCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::EllipsoidalCSNNPtr &csIn)¶ Instanciate a DerivedGeographicCRS from a base CRS, a deriving conversion and a cs::EllipsoidalCS.
- Return
- new DerivedGeographicCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
class
DerivedParametricCRS
: public osgeo::proj::crs::DerivedCRSTemplate<DerivedParametricCRSTraits>¶ - #include <crs.hpp>
A derived coordinate reference system which has a parametric coordinate reference system as its base CRS, thereby inheriting a parametric datum, and a parametric coordinate system.
- Remark
- Implements DerivedParametricCRS from ISO_19111_2018
-
class
DerivedProjectedCRS
: public osgeo::proj::crs::DerivedCRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
A derived coordinate reference system which has a projected coordinate reference system as its base CRS, thereby inheriting a geodetic reference frame, but also inheriting the distortion characteristics of the base projected CRS.
A DerivedProjectedCRS is not a ProjectedCRS.
- Remark
- Implements DerivedProjectedCRS from ISO_19111_2018
Public Functions
-
const ProjectedCRSNNPtr
baseCRS
() const¶ Return the base CRS (a ProjectedCRS) of a DerivedProjectedCRS.
- Return
- the base CRS.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
DerivedProjectedCRSNNPtr
create
(const util::PropertyMap &properties, const ProjectedCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::CoordinateSystemNNPtr &csIn)¶ Instanciate a DerivedProjectedCRS from a base CRS, a deriving conversion and a cs::CS.
- Return
- new DerivedProjectedCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
class
DerivedTemporalCRS
: public osgeo::proj::crs::DerivedCRSTemplate<DerivedTemporalCRSTraits>¶ - #include <crs.hpp>
A derived coordinate reference system which has a temporal coordinate reference system as its base CRS, thereby inheriting a temporal datum, and a temporal coordinate system.
- Remark
- Implements DerivedTemporalCRS from ISO_19111_2018
-
class
DerivedVerticalCRS
: public osgeo::proj::crs::VerticalCRS, public osgeo::proj::crs::DerivedCRS¶ - #include <crs.hpp>
A derived coordinate reference system which has a vertical coordinate reference system as its base CRS, thereby inheriting a vertical reference frame, and a vertical coordinate system.
- Remark
- Implements DerivedVerticalCRS from ISO_19111_2018
Public Functions
-
const VerticalCRSNNPtr
baseCRS
() const¶ Return the base CRS (a VerticalCRS) of a DerivedVerticalCRS.
- Return
- the base CRS.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
DerivedVerticalCRSNNPtr
create
(const util::PropertyMap &properties, const VerticalCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::VerticalCSNNPtr &csIn)¶ Instanciate a DerivedVerticalCRS from a base CRS, a deriving conversion and a cs::VerticalCS.
- Return
- new DerivedVerticalCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: base CRS.derivingConversionIn
: the deriving conversion from the base CRS to this CRS.csIn
: the coordinate system.
-
class
EngineeringCRS
: public virtual osgeo::proj::crs::SingleCRS¶ - #include <crs.hpp>
Contextually local coordinate reference system associated with an engineering datum.
It is applied either to activities on or near the surface of the Earth without geodetic corrections, or on moving platforms such as road vehicles, vessels, aircraft or spacecraft, or as the internal CRS of an image.
In WKT2, it maps to a ENGINEERINGCRS / ENGCRS keyword. In WKT1, it maps to a LOCAL_CS keyword.
- Remark
- Implements EngineeringCRS from ISO_19111_2018
Public Functions
-
const datum::EngineeringDatumNNPtr
datum
() const¶ Return the datum::EngineeringDatum associated with the CRS.
- Return
- a EngineeringDatum
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
EngineeringCRSNNPtr
create
(const util::PropertyMap &properties, const datum::EngineeringDatumNNPtr &datumIn, const cs::CoordinateSystemNNPtr &csIn)¶ Instanciate a EngineeringCRS from a datum and a coordinate system.
- Return
- new EngineeringCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datumIn
: the datum.csIn
: the coordinate system.
-
class
GeodeticCRS
: public virtual osgeo::proj::crs::SingleCRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
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.
- Remark
- Implements GeodeticCRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::DerivedGeodeticCRS, osgeo::proj::crs::GeographicCRS
Public Functions
-
const datum::GeodeticReferenceFramePtr &
datum
()¶ Return the datum::GeodeticReferenceFrame associated with the CRS.
- Return
- a GeodeticReferenceFrame or null (in which case datumEnsemble() should return a non-null pointer.)
-
const datum::PrimeMeridianNNPtr &
primeMeridian
()¶ Return the PrimeMeridian associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble().
- Return
- the PrimeMeridian.
-
const datum::EllipsoidNNPtr &
ellipsoid
()¶ Return the ellipsoid associated with the GeodeticReferenceFrame or with one of the GeodeticReferenceFrame of the datumEnsemble().
- Return
- the PrimeMeridian.
-
const std::vector<operation::PointMotionOperationNNPtr> &
velocityModel
()¶ Return the velocity model associated with the CRS.
- Return
- a velocity model. might be null.
-
bool
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.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
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.
- Return
- new GeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS.cs
: a SphericalCS.
-
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.
- Return
- new GeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS.cs
: a CartesianCS.
-
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.
One and only one of datum or datumEnsemble should be set to a non-null value.
- Return
- new GeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS, or nullptrdatumEnsemble
: The datum ensemble of the CRS, or nullptr.cs
: a SphericalCS.
-
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.
One and only one of datum or datumEnsemble should be set to a non-null value.
- Return
- new GeodeticCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS, or nullptrdatumEnsemble
: The datum ensemble of the CRS, or nullptr.cs
: a CartesianCS
Public Static Attributes
-
const GeodeticCRSNNPtr
EPSG_4978
¶ EPSG:4978 / “WGS 84” Geocentric.
-
class
GeographicCRS
: public osgeo::proj::crs::GeodeticCRS¶ - #include <crs.hpp>
A coordinate reference system associated with a geodetic reference frame and a two- or three-dimensional ellipsoidal coordinate system.
If the geodetic reference frame is dynamic or if the geographic CRS has an association to a velocity model then the geodetic CRS is dynamic, else it is static.
- Remark
- Implements GeographicCRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::DerivedGeographicCRS
Public Functions
-
const cs::EllipsoidalCSNNPtr &
coordinateSystem
()¶ Return the cs::EllipsoidalCS associated with the CRS.
- Return
- a EllipsoidalCS.
-
bool
is2DPartOf3D
(const GeographicCRSNNPtr &other)¶ Return whether the current GeographicCRS is the 2D part of the other 3D GeographicCRS.
Public Static Functions
-
GeographicCRSNNPtr
create
(const util::PropertyMap &properties, const datum::GeodeticReferenceFrameNNPtr &datum, const cs::EllipsoidalCSNNPtr &cs)¶ Instanciate a GeographicCRS from a datum::GeodeticReferenceFrameNNPtr and a cs::EllipsoidalCS.
- Return
- new GeographicCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS.cs
: a EllipsoidalCS.
-
GeographicCRSNNPtr
create
(const util::PropertyMap &properties, const datum::GeodeticReferenceFramePtr &datum, const datum::DatumEnsemblePtr &datumEnsemble, const cs::EllipsoidalCSNNPtr &cs)¶ Instanciate a GeographicCRS from a datum::GeodeticReferenceFramePtr or datum::DatumEnsemble and a cs::EllipsoidalCS.
One and only one of datum or datumEnsemble should be set to a non-null value.
- Return
- new GeographicCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datum
: The datum of the CRS, or nullptrdatumEnsemble
: The datum ensemble of the CRS, or nullptr.cs
: a EllipsoidalCS.
Public Static Attributes
-
const GeographicCRSNNPtr
EPSG_4267
¶ EPSG:4267 / “NAD27” 2D GeographicCRS.
-
const GeographicCRSNNPtr
EPSG_4269
¶ EPSG:4269 / “NAD83” 2D GeographicCRS.
-
const GeographicCRSNNPtr
EPSG_4326
¶ EPSG:4326 / “WGS 84” 2D GeographicCRS.
-
const GeographicCRSNNPtr
OGC_CRS84
¶ OGC:CRS84 / “CRS 84” 2D GeographicCRS (long, lat)
-
const GeographicCRSNNPtr
EPSG_4807
¶ EPSG:4807 / “NTF (Paris)” 2D GeographicCRS.
-
const GeographicCRSNNPtr
EPSG_4979
¶ EPSG:4979 / “WGS 84” 3D GeographicCRS.
-
class
ParametricCRS
: public virtual osgeo::proj::crs::SingleCRS¶ - #include <crs.hpp>
Contextually local coordinate reference system associated with an engineering datum.
This is applied either to activities on or near the surface of the Earth without geodetic corrections, or on moving platforms such as road vehicles vessels, aircraft or spacecraft, or as the internal CRS of an image.
- Remark
- Implements ParametricCRS from ISO_19111_2018
Public Functions
-
const datum::ParametricDatumNNPtr
datum
() const¶ Return the datum::ParametricDatum associated with the CRS.
- Return
- a ParametricDatum
-
const cs::ParametricCSNNPtr
coordinateSystem
() const¶ Return the cs::TemporalCS associated with the CRS.
- Return
- a TemporalCS
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
ParametricCRSNNPtr
create
(const util::PropertyMap &properties, const datum::ParametricDatumNNPtr &datumIn, const cs::ParametricCSNNPtr &csIn)¶ Instanciate a ParametricCRS from a datum and a coordinate system.
- Return
- new ParametricCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datumIn
: the datum.csIn
: the coordinate system.
-
class
ProjectedCRS
: public osgeo::proj::crs::DerivedCRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
A derived coordinate reference system which has a geodetic (usually geographic) coordinate reference system as its base CRS, thereby inheriting a geodetic reference frame, and is converted using a map projection.
It has a Cartesian coordinate system, usually two-dimensional but may be three-dimensional; in the 3D case the base geographic CRSs ellipsoidal height is passed through unchanged and forms the vertical axis of the projected CRS’s Cartesian coordinate system.
- Remark
- Implements ProjectedCRS from ISO_19111_2018
Public Functions
-
const GeodeticCRSNNPtr &
baseCRS
()¶ Return the base CRS (a GeodeticCRS, which is generally a GeographicCRS) of the ProjectedCRS.
- Return
- the base CRS.
-
const cs::CartesianCSNNPtr &
coordinateSystem
()¶ Return the cs::CartesianCS associated with the CRS.
- Return
- a CartesianCS
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
ProjectedCRSNNPtr
create
(const util::PropertyMap &properties, const GeodeticCRSNNPtr &baseCRSIn, const operation::ConversionNNPtr &derivingConversionIn, const cs::CartesianCSNNPtr &csIn)¶ Instanciate a ProjectedCRS from a base CRS, a deriving operation::Conversion and a coordinate system.
- Return
- new ProjectedCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.baseCRSIn
: The base CRS, a GeodeticCRS that is generally a GeographicCRS.derivingConversionIn
: The deriving operation::Conversion (typically using a map projection method)csIn
: The coordniate system.
-
class
SingleCRS
: public osgeo::proj::crs::CRS¶ - #include <crs.hpp>
Abstract class modelling a coordinate reference system consisting of one Coordinate System and either one datum::Datum or one datum::DatumEnsemble.
- Remark
- Implements SingleCRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::DerivedCRS, osgeo::proj::crs::EngineeringCRS, osgeo::proj::crs::GeodeticCRS, osgeo::proj::crs::ParametricCRS, osgeo::proj::crs::TemporalCRS, osgeo::proj::crs::VerticalCRS
Public Functions
-
const datum::DatumPtr &
datum
()¶ Return the datum::Datum associated with the CRS.
This might be null, in which case datumEnsemble() return will not be null.
- Return
- a Datum that might be null.
-
const datum::DatumEnsemblePtr &
datumEnsemble
()¶ Return the datum::DatumEnsemble associated with the CRS.
This might be null, in which case datum() return will not be null.
- Return
- a DatumEnsemble that might be null.
-
const cs::CoordinateSystemNNPtr &
coordinateSystem
()¶ Return the cs::CoordinateSystem associated with the CRS.
This might be null, in which case datumEnsemble() return will not be null.
- Return
- a CoordinateSystem that might be null.
-
class
TemporalCRS
: public virtual osgeo::proj::crs::SingleCRS¶ - #include <crs.hpp>
A coordinate reference system associated with a temporal datum and a one-dimensional temporal coordinate system.
- Remark
- Implements TemporalCRS from ISO_19111_2018
Public Functions
-
const datum::TemporalDatumNNPtr
datum
() const¶ Return the datum::TemporalDatum associated with the CRS.
- Return
- a TemporalDatum
-
const cs::TemporalCSNNPtr
coordinateSystem
() const¶ Return the cs::TemporalCS associated with the CRS.
- Return
- a TemporalCS
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
TemporalCRSNNPtr
create
(const util::PropertyMap &properties, const datum::TemporalDatumNNPtr &datumIn, const cs::TemporalCSNNPtr &csIn)¶ Instanciate a TemporalCRS from a datum and a coordinate system.
- Return
- new TemporalCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datumIn
: the datum.csIn
: the coordinate system.
-
class
VerticalCRS
: public virtual osgeo::proj::crs::SingleCRS, public osgeo::proj::io::IPROJStringExportable¶ - #include <crs.hpp>
A coordinate reference system having a vertical reference frame and a one-dimensional vertical coordinate system used for recording gravity-related heights or depths.
Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. If the vertical reference frame is dynamic or if the vertical CRS has an association to a velocity model then the CRS is dynamic, else it is static.
- Note
- Ellipsoidal heights cannot be captured in a vertical coordinate reference system. They exist only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system.
- Remark
- Implements VerticalCRS from ISO_19111_2018
Subclassed by osgeo::proj::crs::DerivedVerticalCRS
Public Functions
-
const datum::VerticalReferenceFramePtr
datum
() const¶ Return the datum::VerticalReferenceFrame associated with the CRS.
- Return
- a VerticalReferenceFrame.
-
const cs::VerticalCSNNPtr
coordinateSystem
() const¶ Return the cs::VerticalCS associated with the CRS.
- Return
- a VerticalCS.
-
const std::vector<operation::TransformationNNPtr> &
geoidModel
()¶ Return the geoid model associated with the CRS.
Geoid height model or height correction model linked to a geoid-based vertical CRS.
- Return
- a geoid model. might be null
-
const std::vector<operation::PointMotionOperationNNPtr> &
velocityModel
()¶ Return the velocity model associated with the CRS.
- Return
- a velocity model. might be null.
-
bool
isEquivalentTo
(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other
: other object to compare tocriterion
: comparaison criterion.
Public Static Functions
-
VerticalCRSNNPtr
create
(const util::PropertyMap &properties, const datum::VerticalReferenceFrameNNPtr &datumIn, const cs::VerticalCSNNPtr &csIn)¶ Instanciate a VerticalCRS from a datum::VerticalReferenceFrame and a cs::VerticalCS.
- Return
- new VerticalCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datumIn
: The datum of the CRS.csIn
: a VerticalCS.
-
VerticalCRSNNPtr
create
(const util::PropertyMap &properties, const datum::VerticalReferenceFramePtr &datumIn, const datum::DatumEnsemblePtr &datumEnsembleIn, const cs::VerticalCSNNPtr &csIn)¶ Instanciate a VerticalCRS from a datum::VerticalReferenceFrame or datum::DatumEnsemble and a cs::VerticalCS.
One and only one of datum or datumEnsemble should be set to a non-null value.
- Return
- new VerticalCRS.
- Parameters
properties
: See general_properties. At minimum the name should be defined.datumIn
: The datum of the CRS, or nullptrdatumEnsembleIn
: The datum ensemble of the CRS, or nullptr.csIn
: a VerticalCS.
-
typedef std::shared_ptr<GeographicCRS>