ArcGIS Runtime SDK for iOS: AGSHorizontalVerticalTransformation Class Reference
ArcGIS Runtime SDK for iOS  100.15
AGSHorizontalVerticalTransformation Class Reference

Description

Used to transform coordinates of z-aware geometries between spatial references that have different geographic and/or vertical coordinate systems.

A AGSHorizontalVerticalTransformation is an ordered list of AGSHorizontalVerticalTransformationStep objects. Each AGSHorizontalVerticalTransformation has an input and an output AGSSpatialReference, and this AGSHorizontalVerticalTransformation object can be used to convert coordinates between the horizontal (geographic) and vertical datums of these spatial references using the series of steps it contains. Use the AGSGeometryEngine::projectWithGeometry:outputSpatialReference:datumTransformation: method to transform the coordinates of a specific AGSGeometry.

A horizontal transformation step is not needed when the input and output spatial references have the same underlying geographic coordinate systems. A vertical transformation is not needed if both datums (for ellipsoidal heights) or vertical datums (for gravity-related heights) are the same. To transform coordinates only between different horizontal (geographic) coordinate systems, you can use an AGSGeographicTransformation instead.

The inverse of this transformation, used to transform in the opposite direction, is returned from the inverse (AGSDatumTransformation) method.

A AGSHorizontalVerticalTransformation can be constructed from a single AGSHorizontalVerticalTransformationStep object, or from a number of transformation step objects that are chained together.

You can get a list of suitable transformations for a given input and output spatial reference using one of the methods on the AGSTransformationCatalog class.

Some transformations require that certain Projection Engine data files be present on the local file system, and vertical transformation steps are especially likely to use such files, which can be very large in size. The AGSDatumTransformation::missingProjectionEngineFiles property indicates whether any of the files are missing. The complete list of necessary files for each specific step is available using the AGSHorizontalVerticalTransformationStep::projectionEngineFilenames property.

An AGSHorizontalVerticalTransformation object is immutable.

See also
AGSGeographicTransformation
Since
100.9
Inheritance diagram for AGSHorizontalVerticalTransformation:
AGSDatumTransformation AGSObject

Instance Methods

(instancetype) - initWithStep:
 
(instancetype) - initWithSteps:
 
(nullable AGSDatumTransformation *) - inverse
 
(BOOL) - isEqualToDatumTransformation:
 

Class Methods

(instancetype) + horizontalVerticalTransformationWithStep:
 
(instancetype) + horizontalVerticalTransformationWithSteps:
 

Properties

AGSSpatialReferenceinputSpatialReference
 
BOOL missingProjectionEngineFiles
 
NSString * name
 
AGSSpatialReferenceoutputSpatialReference
 
NSArray< AGSHorizontalVerticalTransformationStep * > * steps
 

Method Documentation

◆ horizontalVerticalTransformationWithStep:

+ (instancetype) horizontalVerticalTransformationWithStep: (AGSHorizontalVerticalTransformationStep *)  step

Create a single step transformation.

Parameters
stepAn AGSHorizontalVerticalTransformationStep instance.
Since
100.9

◆ horizontalVerticalTransformationWithSteps:

+ (instancetype) horizontalVerticalTransformationWithSteps: (NSArray< AGSHorizontalVerticalTransformationStep * > *)  steps

Create a multi-step transformation from one or more AGSHorizontalVerticalTransformationStep instances.

Use this constructor to create a horizontal-vertical transformation that has multiple steps. The output AGSSpatialReference of each step should match the input AGSSpatialReference of the following step.

Parameters
stepsAn NSArray containing AGSHorizontalVerticalTransformationStep instances.
Since
100.9

◆ initWithStep:

- (instancetype) initWithStep: (AGSHorizontalVerticalTransformationStep *)  step

Create a single step transformation.

Parameters
stepAn AGSHorizontalVerticalTransformationStep instance.
Since
100.9

◆ initWithSteps:

- (instancetype) initWithSteps: (NSArray< AGSHorizontalVerticalTransformationStep * > *)  steps

Create a multi-step transformation from one or more AGSHorizontalVerticalTransformationStep instances.

Use this constructor to create a horizontal-vertical transformation that has multiple steps. The output AGSSpatialReference of each step should match the input AGSSpatialReference of the following step.

Parameters
stepsAn NSArray containing AGSHorizontalVerticalTransformationStep instances.
Since
100.9

◆ inverse

- (nullable AGSDatumTransformation *) inverse

Returns the inverse of this datum transformation.

Since
100.2

◆ isEqualToDatumTransformation:

- (BOOL) isEqualToDatumTransformation: (AGSDatumTransformation *)  other

Compares this spatial reference with the provided one for equality.

Parameters
othertransformation to compare this one to.
Returns
boolean indicating whether the two transformation are equal
Since
100.2

Property Documentation

◆ inputSpatialReference

- (AGSSpatialReference*) inputSpatialReference
readnonatomicstronginherited

The input spatial reference this transformation can be applied on.

Since
100.2

◆ missingProjectionEngineFiles

- (BOOL) missingProjectionEngineFiles
readnonatomicassigninherited

Indicates whether any data files needed by the Projection Engine is missing from the local file system.

Note
In order for any Projection Engine files to be found, the location must be set upon application startup using setProjectionEngineDirectory:error: (AGSTransformationCatalog) before using any other Runtime API.
Since
100.2

◆ name

- (NSString*) name
readnonatomiccopyinherited

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

Since
100.2

◆ outputSpatialReference

- (AGSSpatialReference*) outputSpatialReference
readnonatomicstronginherited

The output spatial reference this transformation produces

Since
100.2

◆ steps

- (NSArray<AGSHorizontalVerticalTransformationStep *>*) steps
readnonatomiccopy

An NSArray of transformation steps that define this transformation.

Since
100.9