A step in the process of transforming between datums. More...
Header | #include <Geographic |
Since | Esri |
Public Functions
Geographic | |
Geographic | |
Geographic | |
Geographic | |
Geographic | |
~ | |
Esri | inverse |
bool | is |
bool | is |
bool | is |
Q | projection |
Q | wk |
int | wkid() const |
bool | operator!=(const Esri |
Esri | operator=( |
Esri | operator=(const Esri |
bool | operator==(const Esri |
Detailed Description
Each GeographicTransformationStep can be constructed from a well-known ID (WKID) that represents a geographic transformation. Because the Projection Engine supports thousands of transformations, WKIDs are not presented in the SDK as enumerations. Instead, they are documented in the ArcGIS Maps SDK for Qt documentation.
The list of supported WKIDs includes a transformation from every supported datum to WGS 1984. Additionally, there is more limited list of transformations that transform directly between two non-WGS84 datums, such as 4461, which is NAD_1983_HARN_To_NAD_1983_NSRS2007_1
.
Transformations with more than one step typically go via WGS84, with one forward and one inverse geographic transformation chained together to get the required geographic coordinates.
A GeographicTransformationStep
object is immutable.
Relevant samples:
- List transformations by suitability: Get a list of suitable transformations for projecting a geometry between two spatial references with different horizontal datums.
Member Function Documentation
GeographicTransformationStep::GeographicTransformationStep ()
Default constructor.
[explicit]
GeographicTransformationStep::GeographicTransformationStep (const QString &wkText )
Constructor that accepts the WKT (wkText) for the geographic transformation.
Use this constructor to specify a custom transformation, using WKT notation.
[explicit]
GeographicTransformationStep::GeographicTransformationStep (int wkid)
Constructor that accepts the WKID (wkid) for the geographic transformation.
Occasionally, WKIDs may change, and older codes may be deprecated in favor of a new code. Both old (deprecated) and new (latest) WKIDs continue to work for instantiation, as long as they are supported by the Projection Engine. The GeographicTransformationStep::wkid property returns the new (latest) WKID code.
GeographicTransformationStep::GeographicTransformationStep (const Esri::ArcGISRuntime::GeographicTransformationStep &other)
Copy constructor from other GeographicTransformationStep.
[noexcept]
GeographicTransformationStep::GeographicTransformationStep (Esri::ArcGISRuntime::GeographicTransformationStep &&other)
Move constructor from other GeographicTransformationStep.
[noexcept]
GeographicTransformationStep::~GeographicTransformationStep ()
Destructor.
Esri::ArcGISRuntime::GeographicTransformationStep GeographicTransformationStep::inverseTransformation () const
Returns a GeographicTransformationStep that is the inverse of this GeographicTransformationStep.
Returns empty
GeographicTransformationStep if there is no inverse of this GeographicTransformationStep.
bool GeographicTransformationStep::isEmpty () const
Returns true
if this geographic transformation step is empty.
bool GeographicTransformationStep::isInverse () const
Returns whether this geographic transformation step instance is an inverted transformation.
Returns true
if this step uses the inverse of the geographic transformation contained in this step. If this transformation step is empty, returns false
.
Transformations have a specific direction that is indicated by the wkText value. An inverted transformation is used to transform geometries in the opposite direction to that indicated by the well-known text. GeographicTransformation has DatumTransformation::inputSpatialReference and DatumTransformation::outputSpatialReference properties that respect the inverse value of the contained transformation(s).
This API supports a large number of transformation WKIDs, including transformations from every supported datum to the World Geodetic System 1984 (WGS84) datum. To transform coordinates between two non-WGS84 datums, typically one forward and one inverse GeographicTransformationStep are added to a GeographicTransformation, to get the required inputs and outputs.
See also GeographicTransformationStep::inverseTransformation.
bool GeographicTransformationStep::isMissingProjectionEngineFiles () const
Returns true
if any files needed by the Projection Engine for this transformation step are missing from the local file system. projectionEngineFilenames indicates the required files.
Return value is meaningless if transformation step is empty.
QStringList GeographicTransformationStep::projectionEngineFilenames () const
Returns a list of the Projection Engine files required to support this geographic transformation step. Each name in the list includes the full path.
Datum transformations can be mathematically defined (equation-based transformations), or may rely on external supporting files (grid-based transformations). For a grid-based transformation step, this returns a list of the files required to use this transformation, prefixed by an expected subpath of the file(s) underneath TransformationCatalog::projectionEngineDirectory. For an equation-based transformation, this returns an empty list.
{isMissingProjectionEngineFiles}, {Esri::ArcGISRuntime::TransformationCatalog::projectionEngineDirectory} {TransformationCatalog::projectionEngineDirectory}
See also Esri::ArcGISRuntime::GeographicTransformationStep::isMissingProjectionEngineFiles.
QString GeographicTransformationStep::wkText () const
Returns the well-known text of this geographic transformation step instance.
If this transformation step can only be represented in WKT2 format this property returns an empty string.
This value does not respect the isInverse property.
int GeographicTransformationStep::wkid() const
Returns the well-known Identifier (WKID) of the geographic transformation in this step.
Occasionally, WKIDs may change, and an older code may be deprecated in favor of a new code. This property returns the new (latest) WKID code.
Returns -1 if no WKID has been specified.
bool GeographicTransformationStep::operator!=(const Esri::ArcGISRuntime::GeographicTransformationStep &other) const
Inequality operator. Returns true
if this object and other are not equal.
See also GeographicTransformationStep::operator==.
[noexcept]
Esri::ArcGISRuntime::GeographicTransformationStep &GeographicTransformationStep::operator=(Esri::ArcGISRuntime::GeographicTransformationStep &&other)
Move operator from other GeographicTransformationStep.
Esri::ArcGISRuntime::GeographicTransformationStep &GeographicTransformationStep::operator=(const Esri::ArcGISRuntime::GeographicTransformationStep &other)
Assignment operator from other object.
bool GeographicTransformationStep::operator==(const Esri::ArcGISRuntime::GeographicTransformationStep &other) const
Tests and returns true
if this object is equal to a second GeographicTransformationStep object.
- other - The geographic transformation step to compare.
This is the only valid way to compare two geographic transformation steps. Comparing individual attributes for two objects can return misleading results and should be avoided.