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

The definition of the position, scale and orientation of a geocentric Cartesian 3D coordinate system relative to the Earth. More...

#include <datum.hpp>

Inheritance diagram for osgeo::proj::datum::GeodeticReferenceFrame:
Inheritance graph
[legend]
Collaboration diagram for osgeo::proj::datum::GeodeticReferenceFrame:
Collaboration graph
[legend]

Public Member Functions

const PrimeMeridianNNPtrprimeMeridian () PROJ_CONST_DECL
 Return the PrimeMeridian associated with a GeodeticReferenceFrame. More...
 
const EllipsoidNNPtrellipsoid () PROJ_CONST_DECL
 Return the Ellipsoid associated with a GeodeticReferenceFrame. 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...
 
- Public Member Functions inherited from osgeo::proj::datum::Datum
const util::optional< std::string > & anchorDefinition () const
 Return the anchor definition. More...
 
const util::optional< common::DateTime > & publicationDate () const
 Return the date on which the datum definition was published. More...
 
const common::IdentifiedObjectPtrconventionalRS () const
 Return the conventional reference system. 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
 

Static Public Member Functions

static GeodeticReferenceFrameNNPtr create (const util::PropertyMap &properties, const EllipsoidNNPtr &ellipsoid, const util::optional< std::string > &anchor, const PrimeMeridianNNPtr &primeMeridian)
 Instanciate a GeodeticReferenceFrame. 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 GeodeticReferenceFrameNNPtr EPSG_6267
 The EPSG:6267 / "North_American_Datum_1927" GeodeticReferenceFrame.
 
static const GeodeticReferenceFrameNNPtr EPSG_6269
 The EPSG:6269 / "North_American_Datum_1983" GeodeticReferenceFrame.
 
static const GeodeticReferenceFrameNNPtr EPSG_6326
 The EPSG:6326 / "WGS_1984" GeodeticReferenceFrame.
 
- 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

The definition of the position, scale and orientation of a geocentric Cartesian 3D coordinate system relative to the Earth.

It may also identify a defined ellipsoid (or sphere) that approximates the shape of the Earth and which is centred on and aligned to this geocentric coordinate system. Older geodetic datums define the location and orientation of a defined ellipsoid (or sphere) that approximates the shape of the earth.

Note
The terminology "Datum" is often used to mean a GeodeticReferenceFrame.
In ISO 19111:2007, this class was called GeodeticDatum.
Remarks
Implements GeodeticReferenceFrame from ISO 19111:2018

Member Function Documentation

GeodeticReferenceFrameNNPtr osgeo::proj::datum::GeodeticReferenceFrame::create ( const util::PropertyMap properties,
const EllipsoidNNPtr ellipsoid,
const util::optional< std::string > &  anchor,
const PrimeMeridianNNPtr primeMeridian 
)
static

Instanciate a GeodeticReferenceFrame.

Parameters
propertiesSee General properties. At minimum the name should be defined.
ellipsoidthe Ellipsoid.
anchorthe anchor definition, or empty.
primeMeridianthe PrimeMeridian.
Returns
new GeodeticReferenceFrame.
const EllipsoidNNPtr & osgeo::proj::datum::GeodeticReferenceFrame::ellipsoid ( )

Return the Ellipsoid associated with a GeodeticReferenceFrame.

Note
The ISO 19111:2018 modelling allows (but discourages) a GeodeticReferenceFrame to not be associated with a Ellipsoid in the case where it is used by a geocentric crs::GeodeticCRS. We have made the choice of making the ellipsoid specification compulsory.
Returns
the Ellipsoid.
bool osgeo::proj::datum::GeodeticReferenceFrame::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::datum::DynamicGeodeticReferenceFrame.

const PrimeMeridianNNPtr & osgeo::proj::datum::GeodeticReferenceFrame::primeMeridian ( )

Return the PrimeMeridian associated with a GeodeticReferenceFrame.

Returns
the PrimeMeridian.

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