ArcGIS Runtime SDK for iOS
100.15
|
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.
AGSGeographicTransformation
Instance Methods | |
(instancetype) | - initWithStep: |
(instancetype) | - initWithSteps: |
(nullable AGSDatumTransformation *) | - inverse |
(BOOL) | - isEqualToDatumTransformation: |
Class Methods | |
(instancetype) | + horizontalVerticalTransformationWithStep: |
(instancetype) | + horizontalVerticalTransformationWithSteps: |
Properties | |
AGSSpatialReference * | inputSpatialReference |
BOOL | missingProjectionEngineFiles |
NSString * | name |
AGSSpatialReference * | outputSpatialReference |
NSArray< AGSHorizontalVerticalTransformationStep * > * | steps |
+ (instancetype) horizontalVerticalTransformationWithStep: | (AGSHorizontalVerticalTransformationStep *) | step |
Create a single step transformation.
step | An AGSHorizontalVerticalTransformationStep instance. |
+ (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.
steps | An NSArray containing AGSHorizontalVerticalTransformationStep instances. |
- (instancetype) initWithStep: | (AGSHorizontalVerticalTransformationStep *) | step |
Create a single step transformation.
step | An AGSHorizontalVerticalTransformationStep instance. |
- (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.
steps | An NSArray containing AGSHorizontalVerticalTransformationStep instances. |
- (nullable AGSDatumTransformation *) inverse |
Returns the inverse of this datum transformation.
- (BOOL) isEqualToDatumTransformation: | (AGSDatumTransformation *) | other |
Compares this spatial reference with the provided one for equality.
other | transformation to compare this one to. |
|
readnonatomicstronginherited |
The input spatial reference this transformation can be applied on.
|
readnonatomicassigninherited |
Indicates whether any data files needed by the Projection Engine is missing from the local file system.
setProjectionEngineDirectory:error: (AGSTransformationCatalog)
before using any other Runtime API.
|
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 (~).
|
readnonatomicstronginherited |
The output spatial reference this transformation produces
|
readnonatomiccopy |
An NSArray
of transformation steps that define this transformation.