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

Abstract class of the relationship of a coordinate system to an object, thus creating a coordinate reference system. More...

#include <datum.hpp>

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

Public Member Functions

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.
 
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::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.
 

Additional Inherited Members

- Public Types inherited from osgeo::proj::util::IComparable
enum  Criterion { Criterion::STRICT, Criterion::EQUIVALENT }
 Comparison criterion. 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 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...
 

Detailed Description

Abstract class of the relationship of a coordinate system to an object, thus creating a coordinate reference system.

For geodetic and vertical coordinate reference systems, it relates a coordinate system to the Earth (or the celestial body considered). With other types of coordinate reference systems, the datum may relate the coordinate system to another physical or virtual object. A datum uses a parameter or set of parameters that determine the location of the origin of the coordinate reference system. Each datum subtype can be associated with only specific types of coordinate reference systems.

Remarks
Implements Datum from ISO 19111:2018

Member Function Documentation

const util::optional< std::string > & osgeo::proj::datum::Datum::anchorDefinition ( ) const

Return the anchor definition.

A description - possibly including coordinates of an identified point or points - of the relationship used to anchor a coordinate system to the Earth or alternate object.

  • For modern geodetic reference frames the anchor may be a set of station coordinates; if the reference frame is dynamic it will also include coordinate velocities. For a traditional geodetic datum, this anchor may be a point known as the fundamental point, which is traditionally the point where the relationship between geoid and ellipsoid is defined, together with a direction from that point.
  • For a vertical reference frame the anchor may be the zero level at one or more defined locations or a conventionally defined surface.
  • For an engineering datum, the anchor may be an identified physical point with the orientation defined relative to the object.
Returns
the anchor definition, or empty.
const common::IdentifiedObjectPtr & osgeo::proj::datum::Datum::conventionalRS ( ) const

Return the conventional reference system.

This is the name, identifier, alias and remarks for the terrestrial reference system or vertical reference system realized by this reference frame, for example "ITRS" for ITRF88 through ITRF2008 and ITRF2014, or "EVRS" for EVRF2000 and EVRF2007.

Returns
the conventional reference system, or nullptr.
const util::optional< common::DateTime > & osgeo::proj::datum::Datum::publicationDate ( ) const

Return the date on which the datum definition was published.

Note
Departure from ISO 19111:2018 : we return a DateTime instead of a Citation::Date.
Returns
the publication date, or empty.

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