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

Description

Used to transform coordinates of geometries between spatial references that have two different geographic coordinate systems.

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

The inverse of the geographic transformation, if any, used to transform in the opposite direction, may be accessed using inverse (AGSDatumTransformation).

A geographic transformation can be constructed from a single geographic transformation step object, or from a list of geographic transformation steps objects 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 geographic transformation object with two geographic transformation steps: 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 AGSGeographicTransformation. You can get a list of suitable transformations for a given input and output spatial reference using one of the functions on the AGSTransformationCatalog.

A geographic transformation object is immutable.

See also
AGSTransformationCatalog to find a list of suitable tranformations between two spatial references
Since
100.2
Inheritance diagram for AGSGeographicTransformation:
AGSDatumTransformation AGSObject

Instance Methods

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

Class Methods

(instancetype) + geographicTransformationWithStep:
 
(instancetype) + geographicTransformationWithSteps:
 

Properties

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

Method Documentation

◆ geographicTransformationWithStep:

+ (instancetype) geographicTransformationWithStep: (AGSGeographicTransformationStep *)  step

Initialize this transformation with a single step

Parameters
stepin the process of transforming between datums
Returns
Initialized geographic transformation
Since
100.2

◆ geographicTransformationWithSteps:

+ (instancetype) geographicTransformationWithSteps: (NSArray< AGSGeographicTransformationStep * > *)  steps

Initialize this transformation with multiple steps. Use this 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.

Parameters
stepsAn array containing AGSGeographicTransformationStep instances.
Returns
Initialized geographic transformation
Since
100.2

◆ initWithStep:

- (instancetype) initWithStep: (AGSGeographicTransformationStep *)  step

Initialize this transformation with a single step

Parameters
stepin the process of transforming between datums
Returns
Initialized geographic transformation
Since
100.2

◆ initWithSteps:

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

Initialize this transformation with multiple steps. Use this 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.

Parameters
stepsAn array containing AGSGeographicTransformationStep instances.
Returns
Initialized geographic transformation
Since
100.2

◆ 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<AGSGeographicTransformationStep*>*) steps
readnonatomiccopy

One or more steps used in the transformation.

Since
100.2