A step in the process of transforming between datums. More...
Header: | #include <GeographicTransformationStep.h> |
Since: | Esri::ArcGISRuntime 100.2 |
Public Functions
GeographicTransformationStep() | |
GeographicTransformationStep(int wkid) | |
GeographicTransformationStep(const QString &wkText) | |
GeographicTransformationStep(const Esri::ArcGISRuntime::GeographicTransformationStep &other) | |
GeographicTransformationStep(Esri::ArcGISRuntime::GeographicTransformationStep &&other) | |
~GeographicTransformationStep() | |
Esri::ArcGISRuntime::GeographicTransformationStep | inverseTransformation() const |
bool | isEmpty() const |
bool | isInverse() const |
bool | isMissingProjectionEngineFiles() const |
QStringList | projectionEngineFilenames() const |
QString | wkText() const |
int | wkid() const |
bool | operator!=(const Esri::ArcGISRuntime::GeographicTransformationStep &other) const |
Esri::ArcGISRuntime::GeographicTransformationStep & | operator=(const Esri::ArcGISRuntime::GeographicTransformationStep &other) |
Esri::ArcGISRuntime::GeographicTransformationStep & | operator=(Esri::ArcGISRuntime::GeographicTransformationStep &&other) |
bool | operator==(const Esri::ArcGISRuntime::GeographicTransformationStep &other) const |
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 (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.
[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.
GeographicTransformationStep::GeographicTransformationStep (const Esri::ArcGISRuntime::GeographicTransformationStep &other)
Copy constructor from other GeographicTransformationStep.
GeographicTransformationStep::GeographicTransformationStep (Esri::ArcGISRuntime::GeographicTransformationStep &&other)
Move constructor from other GeographicTransformationStep.
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 whether any files needed by the Projection Engine for this GeographicTransformationStep are missing from the local file system.
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 step.
Each name in the list includes the full path.
Projection Engine datasets are used in grid-based transforms.
QString GeographicTransformationStep::wkText () const
Returns the well-known well-known (WKT) representation of the geographic transformation in this step.
Returns an empty string if no WKT has been specified or if the geographic transformation is invalid. This method always returns the minimal text representation that uniquely identifies a given geographic transformation. 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==.
Esri::ArcGISRuntime::GeographicTransformationStep &GeographicTransformationStep::operator=(const Esri::ArcGISRuntime::GeographicTransformationStep &other)
Assignment operator from other object.
Esri::ArcGISRuntime::GeographicTransformationStep &GeographicTransformationStep::operator=(Esri::ArcGISRuntime::GeographicTransformationStep &&other)
Move operator from other GeographicTransformationStep.
bool GeographicTransformationStep::operator==(const Esri::ArcGISRuntime::GeographicTransformationStep &other) const
Equivalency operator. Returns true
if this object and other are equal.
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.