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

A single (not concatenated) coordinate operation (CoordinateOperation) More...

#include <coordinateoperation.hpp>

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

Public Member Functions

const std::vector< GeneralParameterValueNNPtr > & parameterValues () PROJ_CONST_DECL
 Return the parameter values. More...
 
const OperationMethodNNPtrmethod () PROJ_CONST_DECL
 Return the operation method associated to the operation. More...
 
const ParameterValuePtrparameterValue (const std::string &paramName, int epsg_code=0) const noexcept
 Return the parameter value corresponding to a parameter name or EPSG code. More...
 
const common::MeasureparameterValueMeasure (const std::string &paramName, int epsg_code=0) const noexcept
 Return the parameter value, as a measure, corresponding to a parameter name or EPSG code. 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...
 
virtual CoordinateOperationNNPtr inverse () const =0
 Return the inverse of the coordinate operation. 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 SingleOperationNNPtr createPROJBased (const util::PropertyMap &properties, const std::string &PROJString, const crs::CRSPtr &sourceCRS, const crs::CRSPtr &targetCRS, const std::vector< metadata::PositionalAccuracyNNPtr > &accuracies=std::vector< metadata::PositionalAccuracyNNPtr >())
 Instanciate a PROJ-based single 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

A single (not concatenated) coordinate operation (CoordinateOperation)

Remarks
Implements SingleOperation from ISO 19111:2018

Member Function Documentation

SingleOperationNNPtr osgeo::proj::operation::SingleOperation::createPROJBased ( const util::PropertyMap properties,
const std::string &  PROJString,
const crs::CRSPtr sourceCRS,
const crs::CRSPtr targetCRS,
const std::vector< metadata::PositionalAccuracyNNPtr > &  accuracies = std::vector<metadata::PositionalAccuracyNNPtr>() 
)
static

Instanciate a PROJ-based single operation;.

Parameters
propertiesProperties
PROJStringthe PROJ string.
sourceCRSsource CRS (might be null).
targetCRStarget CRS (might be null).
accuraciesVector of positional accuracy (might be empty).
Returns
the new instance
bool osgeo::proj::operation::SingleOperation::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 OperationMethodNNPtr & osgeo::proj::operation::SingleOperation::method ( )

Return the operation method associated to the operation.

Returns
the operation method.
const ParameterValuePtr & osgeo::proj::operation::SingleOperation::parameterValue ( const std::string &  paramName,
int  epsg_code = 0 
) const
noexcept

Return the parameter value corresponding to a parameter name or EPSG code.

Parameters
paramNamethe parameter name (or empty, in which case epsg_code should be non zero)
epsg_codethe parameter EPSG code (possibly zero)
Returns
the value, or nullptr if not found.
const common::Measure & osgeo::proj::operation::SingleOperation::parameterValueMeasure ( const std::string &  paramName,
int  epsg_code = 0 
) const
noexcept

Return the parameter value, as a measure, corresponding to a parameter name or EPSG code.

Parameters
paramNamethe parameter name (or empty, in which case epsg_code should be non zero)
epsg_codethe parameter EPSG code (possibly zero)
Returns
the measure, or the empty Measure() object if not found.
const std::vector< GeneralParameterValueNNPtr > & osgeo::proj::operation::SingleOperation::parameterValues ( )

Return the parameter values.

Returns
the parameter values.

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