ArcGIS Developers

DatumTransformation Class

class Esri::ArcGISRuntime::DatumTransformation

A class to convert between two coordinate systems. More...

Header: #include <DatumTransformation>
Since: Esri::ArcGISRuntime 100.2
Inherits: Esri::ArcGISRuntime::Object
Inherited By:

Esri::ArcGISRuntime::GeographicTransformation and Esri::ArcGISRuntime::HorizontalVerticalTransformation

This class was introduced in Esri::ArcGISRuntime 100.2.

Public Functions

virtual ~DatumTransformation() override
Esri::ArcGISRuntime::DatumTransformationType datumTransformationType() const
Esri::ArcGISRuntime::SpatialReference inputSpatialReference() const
Esri::ArcGISRuntime::DatumTransformation *inverse() const
bool isMissingProjectionEngineFiles() const
QString name() const
Esri::ArcGISRuntime::SpatialReference outputSpatialReference() const
bool operator!=(const Esri::ArcGISRuntime::DatumTransformation *other) const
bool operator==(const Esri::ArcGISRuntime::DatumTransformation *other) const

Detailed Description

This is the base class for classes used to transform coordinates between spatial references that have different datums. The inverse of the DatumTransformation, used to transform in the opposite direction, may be accessed using a member function.

A DatumTransformation has a name property intended to be suitable for display, such as when displaying a list of available transformations to an end user.

You can get a list of suitable transformations for a given input and output spatial reference using methods of the TransformationCatalog class. Some transformations require that certain Projection Engine data files be present on the local file system. The property DatumTransformation::isMissingProjectionEngineFiles indicates if any of the files are missing. The complete list of necessary files is available using the GeographicTransformationStep::projectionEngineFilenames property of the GeographicTransformationStep class.

In order for any Projection Engine files to be found, the data location must be set first using the TransformationCatalog::projectionEngineDirectory property.

A DatumTransformation object is immutable.

Member Function Documentation

[override virtual] DatumTransformation::~DatumTransformation()


Esri::ArcGISRuntime::DatumTransformationType DatumTransformation::datumTransformationType() const

Returns the type of this datum transformation.

Esri::ArcGISRuntime::SpatialReference DatumTransformation::inputSpatialReference() const

Returns the input SpatialReference of the DatumTransformation.

Returns the spatial reference of the coordinates to be projected.

Esri::ArcGISRuntime::DatumTransformation *DatumTransformation::inverse() const

Returns the datum transformation that is the inverse of this datum transformation.

Returns nullptr if there is no inverse transformation.

bool DatumTransformation::isMissingProjectionEngineFiles() const

Returns whether any files needed by the Projection Engine for this datum transformation are missing from the local file system.

QString DatumTransformation::name() const

Returns the name of the DatumTransformation.

For multi-step transformations, the name contains the concatenated names of each step's transformation, separated by plus signs (+). If the transformation is inverted, the name starts with a tilde (~).

Esri::ArcGISRuntime::SpatialReference DatumTransformation::outputSpatialReference() const

Returns the output SpatialReference of the DatumTransformation.

Returns the spatial reference of the destination coordinates.

bool DatumTransformation::operator!=(const Esri::ArcGISRuntime::DatumTransformation *other) const

Inequality operator.

Returns whether this object and other are not equivalent.

bool DatumTransformation::operator==(const Esri::ArcGISRuntime::DatumTransformation *other) const

Equivalency operator.

Returns whether this object and other are equivalent.

Feedback on this topic?