PROJ C++ API
Public Member Functions | Static Public Member Functions | List of all members
osgeo::proj::operation::ConcatenatedOperation Class Referencefinal

An ordered sequence of two or more single coordinate operations (SingleOperation). More...

#include <coordinateoperation.hpp>

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

Public Member Functions

const std::vector< CoordinateOperationNNPtr > & operations () const
 Return the operation steps of the concatenated operation. More...
 
CoordinateOperationNNPtr inverse () const override
 Return the inverse of the coordinate operation. 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...
 
std::set< GridDescriptiongridsNeeded (const io::DatabaseContextPtr &databaseContext) const override
 Return grids needed by an operation.
 
- Public Member Functions inherited from osgeo::proj::operation::CoordinateOperation
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...
 
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.
 
- 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 ConcatenatedOperationNNPtr create (const util::PropertyMap &properties, const std::vector< CoordinateOperationNNPtr > &operationsIn, const std::vector< metadata::PositionalAccuracyNNPtr > &accuracies)
 Instanciate a ConcatenatedOperation. More...
 
static CoordinateOperationNNPtr createComputeMetadata (const std::vector< CoordinateOperationNNPtr > &operationsIn, bool checkExtent)
 Instanciate a ConcatenatedOperation, or return a single coordinate operation. More...
 
- Static Public Member Functions inherited from osgeo::proj::common::IdentifiedObject
static IdentifiedObjectNNPtr create (const util::PropertyMap &properties)
 Instanciate a new IdentifiedObject. More...
 

Additional Inherited Members

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

An ordered sequence of two or more single coordinate operations (SingleOperation).

The sequence of coordinate operations is constrained by the requirement that the source coordinate reference system of step n+1 shall be the same as the target coordinate reference system of step n.

Remarks
Implements ConcatenatedOperation from ISO 19111:2018

Member Function Documentation

ConcatenatedOperationNNPtr osgeo::proj::operation::ConcatenatedOperation::create ( const util::PropertyMap properties,
const std::vector< CoordinateOperationNNPtr > &  operationsIn,
const std::vector< metadata::PositionalAccuracyNNPtr > &  accuracies 
)
static

Instanciate a ConcatenatedOperation.

Parameters
propertiesSee General properties. At minimum the name should be defined.
operationsInVector of the CoordinateOperation steps.
accuraciesVector of positional accuracy (might be empty).
Returns
new Transformation.
Exceptions
InvalidOperation
CoordinateOperationNNPtr osgeo::proj::operation::ConcatenatedOperation::createComputeMetadata ( const std::vector< CoordinateOperationNNPtr > &  operationsIn,
bool  checkExtent 
)
static

Instanciate a ConcatenatedOperation, or return a single coordinate operation.

This computes its accuracy from the sum of its member operations, its extent

Parameters
operationsInVector of the CoordinateOperation steps.
checkExtentWhether we should check the non-emptyness of the intersection of the extents of the operations
Exceptions
InvalidOperation
CoordinateOperationNNPtr osgeo::proj::operation::ConcatenatedOperation::inverse ( ) const
overridevirtual

Return the inverse of the coordinate operation.

Exceptions
util::UnsupportedOperationException

Implements osgeo::proj::operation::CoordinateOperation.

bool osgeo::proj::operation::ConcatenatedOperation::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.

const std::vector< CoordinateOperationNNPtr > & osgeo::proj::operation::ConcatenatedOperation::operations ( ) const

Return the operation steps of the concatenated operation.

Returns
the operation steps.

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