PROJ C++ API
Public Member Functions | List of all members
osgeo::proj::operation::CoordinateOperation Class Referenceabstract

Abstract class for a mathematical operation on coordinates. More...

#include <coordinateoperation.hpp>

Inheritance diagram for osgeo::proj::operation::CoordinateOperation:
Inheritance graph
[legend]
Collaboration diagram for osgeo::proj::operation::CoordinateOperation:
Collaboration graph
[legend]

Public Member Functions

const util::optional< std::string > & operationVersion () const
 Return the version of the coordinate transformation (i.e. instantiation due to the stochastic nature of the parameters). More...
 
const std::vector< metadata::PositionalAccuracyNNPtr > & coordinateOperationAccuracies () const
 Return estimate(s) of the impact of this coordinate operation on point accuracy. More...
 
const crs::CRSPtr sourceCRS () const
 Return the source CRS of this coordinate operation. More...
 
const crs::CRSPtr targetCRS () const
 Return the target CRS of this coordinate operation. More...
 
const crs::CRSPtrinterpolationCRS () const
 Return the interpolation CRS of this coordinate operation. More...
 
const util::optional< common::DataEpoch > & sourceCoordinateEpoch () const
 Return the source epoch of coordinates. More...
 
const util::optional< common::DataEpoch > & targetCoordinateEpoch () const
 Return the target epoch of coordinates. More...
 
virtual CoordinateOperationNNPtr inverse () const =0
 Return the inverse of the coordinate operation. More...
 
virtual std::set< GridDescriptiongridsNeeded (const io::DatabaseContextPtr &databaseContext) const =0
 Return grids needed by an operation.
 
bool isPROJInstanciable (const io::DatabaseContextPtr &databaseContext) const
 Return whether a coordinate operation can be instanciated as a PROJ pipeline, checking in particular that referenced grids are available.
 
- 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.
 
- 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...
 

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 for a mathematical operation on coordinates.

A mathematical operation:

Many but not all coordinate operations (from CRS A to CRS B) also uniquely define the inverse coordinate operation (from CRS B to CRS A). In some cases, the coordinate operation method algorithm for the inverse coordinate operation is the same as for the forward algorithm, but the signs of some coordinate operation parameter values have to be reversed. In other cases, different algorithms are required for the forward and inverse coordinate operations, but the same coordinate operation parameter values are used. If (some) entirely different parameter values are needed, a different coordinate operation shall be defined.

Remarks
Implements CoordinateOperation from ISO 19111:2018

Member Function Documentation

const std::vector< metadata::PositionalAccuracyNNPtr > & osgeo::proj::operation::CoordinateOperation::coordinateOperationAccuracies ( ) const

Return estimate(s) of the impact of this coordinate operation on point accuracy.

Gives position error estimates for target coordinates of this coordinate operation, assuming no errors in source coordinates.

Returns
estimate(s) or empty vector.
const crs::CRSPtr & osgeo::proj::operation::CoordinateOperation::interpolationCRS ( ) const

Return the interpolation CRS of this coordinate operation.

Returns
interpolation CRS, or null.
virtual CoordinateOperationNNPtr osgeo::proj::operation::CoordinateOperation::inverse ( ) const
pure virtual
const util::optional< std::string > & osgeo::proj::operation::CoordinateOperation::operationVersion ( ) const

Return the version of the coordinate transformation (i.e. instantiation due to the stochastic nature of the parameters).

Mandatory when describing a coordinate transformation or point motion operation, and should not be supplied for a coordinate conversion.

Returns
version or empty.
const util::optional< common::DataEpoch > & osgeo::proj::operation::CoordinateOperation::sourceCoordinateEpoch ( ) const

Return the source epoch of coordinates.

Returns
source epoch of coordinates, or empty.
const crs::CRSPtr osgeo::proj::operation::CoordinateOperation::sourceCRS ( ) const

Return the source CRS of this coordinate operation.

This should not be null, expect for of a derivingConversion of a DerivedCRS when the owning DerivedCRS has been destroyed.

Returns
source CRS, or null.
const util::optional< common::DataEpoch > & osgeo::proj::operation::CoordinateOperation::targetCoordinateEpoch ( ) const

Return the target epoch of coordinates.

Returns
target epoch of coordinates, or empty.
const crs::CRSPtr osgeo::proj::operation::CoordinateOperation::targetCRS ( ) const

Return the target CRS of this coordinate operation.

This should not be null, expect for of a derivingConversion of a DerivedCRS when the owning DerivedCRS has been destroyed.

Returns
target CRS, or null.

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