Skip To Content ArcGIS for Developers Sign In Dashboard

GeographicTransformation Class

class Esri::ArcGISRuntime::GeographicTransformation

A class used to transform coordinates of geometries between spatial references that have two different geographic coordinate systems. More...

Header: #include <GeographicTransformation>
Since: Esri::ArcGISRuntime 100.2
Inherits: Esri::ArcGISRuntime::DatumTransformation

This class was introduced in Esri::ArcGISRuntime 100.2.

Public Functions

GeographicTransformation(const QList<Esri::ArcGISRuntime::GeographicTransformationStep> &steps, QObject *parent = nullptr)
GeographicTransformation(const Esri::ArcGISRuntime::GeographicTransformationStep &step, QObject *parent = nullptr)
virtual ~GeographicTransformation() override
QList<Esri::ArcGISRuntime::GeographicTransformationStep> steps() const

Detailed Description

Each GeographicTransformation has an input and an output spatial reference. The transformation operates on the horizontal (geographic) datums in each spatial reference.

The inverse of the GeographicTransformation, if any, used to transform in the opposite direction, may be accessed using the inverse member function.

A GeographicTransformation can be constructed from a single GeographicTransformationStep, or from a list of GeographicTransformationSteps that are chained together. Most transformations between spatial references that do not share the WGS 1984 datum use WGS 1984 as an intermediate datum. Thus, it is common to create a GeographicTransformation with two GeographicTransformationSteps: first to transform from the datum in the input spatial reference to WGS 1984, and then from WGS 1984 to the output spatial reference's datum. There are a limited number of transformations directly between two non-WGS84 datums, such as WKID 4461, which is NAD_1983_HARN_To_NAD_1983_NSRS2007_1. These do not need WGS 1984 as an intermediate datum.

In most cases, you do not need to construct your own GeographicTransformation. You can get a list of suitable transformations for a given input and output spatial reference using one of the TransformationCatalog::transformationsBySuitability functions.

A GeographicTransformation object is immutable.

Member Function Documentation

GeographicTransformation::GeographicTransformation(const QList<Esri::ArcGISRuntime::GeographicTransformationStep> &steps, QObject *parent = nullptr)

Constructor for a multi-step GeographicTransformation.

This constructor accepts a list of GeographicTransformationStep objects (steps) and an optional parent object. Use this constructor when the multi-step transformation is known in advance. The output of each step should match the input of the following step. Then, you can use the new multi-step transformation where you would use a single-step transformation.

GeographicTransformation::GeographicTransformation(const Esri::ArcGISRuntime::GeographicTransformationStep &step, QObject *parent = nullptr)

Constructor for a single-step GeographicTransformation.

This constructor accepts a single GeographicTransformationStep (step) and an optional parent object.

[override virtual] GeographicTransformation::~GeographicTransformation()


QList<Esri::ArcGISRuntime::GeographicTransformationStep> GeographicTransformation::steps() const

Returns the list of GeographicTransformationStep objects in this GeographicTransformation.

Feedback on this topic?