Namespace: Esri::GameEngine::Geometry
Class: Esri/GameEngine/Geometry/ArcGISTransformationCatalog
Since: 1.0.0
Summary
Allows discovery and management of the transformations used to convert coordinates between different datums.
Properties
Property | Type | Nullable | Readonly | Summary |
---|---|---|---|---|
Yes | No | The directory of the Projection Engine files on the local file system. |
ProjectionEngineDirectory
static FString GetProjectionEngineDirectory()
static void SetProjectionEngineDirectory(const FString& projectionEngineDirectory)
The directory of the Projection Engine files on the local file system.
This method should only be called immediately upon process startup before any other API method calls.
Projection Engine data files are available in the downloads area of developers.arcgis.com (requires login).
Methods
Signature | Return Type | Summary |
---|---|---|
GetTransformation(const ArcGISSpatialReference&, const ArcGISSpatialReference&) | Returns the best usable (default) transformation to transform between the input and output spatial references, without taking into account an area of interest. | |
GetTransformation(const ArcGISSpatialReference&, const ArcGISSpatialReference&, const ArcGISEnvelope&) | Returns the best usable transformation to transform between the input and output spatial references, taking into account the area of interest, if specified. | |
GetTransformation(const ArcGISSpatialReference&, const ArcGISSpatialReference&, const ArcGISEnvelope&, bool) | Returns the best usable transformation used to transform between the input and output spatial references, taking into account the area of interest, if specified. Optionally disregards any vertical transformations. | |
GetTransformationsBySuitability(const ArcGISSpatialReference&, const ArcGISSpatialReference&) | ArcGISImmutableArray<ArcGISDatumTransformation> | Returns a list representing the datum transformations suitable for projecting between spatial references without taking into account an area of interest. |
GetTransformationsBySuitability(const ArcGISSpatialReference&, const ArcGISSpatialReference&, const ArcGISEnvelope&) | ArcGISImmutableArray<ArcGISDatumTransformation> | Returns a list representing the datum transformations suitable for projecting between spatial references and takes into account the area of interest. |
GetTransformationsBySuitability(const ArcGISSpatialReference&, const ArcGISSpatialReference&, const ArcGISEnvelope&, bool) | ArcGISImmutableArray<ArcGISDatumTransformation> | Returns a collection of transformations suitable for projecting between the input and output spatial references, taking into account the area of interest, if specified. Optionally checks for suitable vertical transformations. |
GetTransformation
static ArcGISDatumTransformation GetTransformation(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference)
Returns the best usable (default) transformation to transform between the input and output spatial references, without taking into account an area of interest.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. |
Returns ArcGISDatumTransformation
A ArcGISDatumTransformation instance that represents the best choice given the parameters. Always returns a usable transformation where ArcGISDatumTransformation::IsMissingProjectionEngineFiles is false. Returns null if no usable transformation is available for the given input parameters, or if no transformation is required.
If both inputSpatialReference and outputSpatialReference have a vertical coordinate system, this method returns a ArcGISHorizontalVerticalTransformation instance. If either ArcGISSpatialReference does not have a vertical coordinate system, a ArcGISGeographicTransformation is returned.
GetTransformation
static ArcGISDatumTransformation GetTransformation(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference, const ArcGISEnvelope& areaOfInterest)
Returns the best usable transformation to transform between the input and output spatial references, taking into account the area of interest, if specified.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. | |
area | Yes | The bounding box of coordinates to be transformed, or null to consider the entire world extent. |
Returns ArcGISDatumTransformation
A ArcGISDatumTransformation instance that represents the best choice given the parameters. Always returns a usable transformation where ArcGISDatumTransformation::IsMissingProjectionEngineFiles is false. Returns null if no usable transformation is available for the given input parameters, or if no transformation is required.
If both inputSpatialReference and outputSpatialReference have a vertical coordinate system, this method returns a ArcGISHorizontalVerticalTransformation instance. If either ArcGISSpatialReference does not have a vertical coordinate system, a ArcGISGeographicTransformation is returned.
GetTransformation
static ArcGISDatumTransformation GetTransformation(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference, const ArcGISEnvelope& areaOfInterest, bool ignoreVertical)
Returns the best usable transformation used to transform between the input and output spatial references, taking into account the area of interest, if specified. Optionally disregards any vertical transformations.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. | |
area | Yes | The bounding box of coordinates to be transformed, or null to consider the entire world extent. | |
ignore | No | True if ArcGISTransformationCatalog should ignore any vertical coordinate system set on the inputSpatialReference or outputSpatialReference, and only consider horizontal (geographic) transformations; false otherwise. |
Returns ArcGISDatumTransformation
A ArcGISDatumTransformation instance that represents the best choice given the parameters. Always returns a usable transformation where ArcGISDatumTransformation::IsMissingProjectionEngineFiles is false. The specific type returned depends on the given value of the ignoreVertical parameter.
Returns null if no transformation is required for the given input parameters, or if no usable transformation is available.
GetTransformationsBySuitability
static ArcGISImmutableArray<ArcGISDatumTransformation> GetTransformationsBySuitability(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference)
Returns a list representing the datum transformations suitable for projecting between spatial references without taking into account an area of interest.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. |
Returns ArcGISImmutableArray<ArcGISDatumTransformation>
An ArcGISImmutableArray<T> containing ArcGISDatumTransformation objects, each suitable for transforming between the given input and output spatial references.
If both inputSpatialReference and outputSpatialReference have a vertical coordinate system, this method returns a ArcGISHorizontalVerticalTransformation instance. If either ArcGISSpatialReference does not have a vertical coordinate system, a ArcGISGeographicTransformation is returned.
A geographic transformation is not needed when input and output spatial references have the same underlying geographic (horizontal) coordinate system. A vertical transformation is not needed if both datums (for ellipsoidal heights) or vertical datums (for gravity-related heights) are the same. If neither type of transformation is needed, an empty collection is returned.
GetTransformationsBySuitability
static ArcGISImmutableArray<ArcGISDatumTransformation> GetTransformationsBySuitability(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference, const ArcGISEnvelope& areaOfInterest)
Returns a list representing the datum transformations suitable for projecting between spatial references and takes into account the area of interest.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. | |
area | Yes | The bounding box of coordinates to be transformed, or null to consider the entire world extent. |
Returns ArcGISImmutableArray<ArcGISDatumTransformation>
An ArcGISImmutableArray<T> containing ArcGISDatumTransformation objects, each suitable for transforming between the given input and output spatial references, taking in to account the given area of interest.
If both inputSpatialReference and outputSpatialReference have a vertical coordinate system, this method returns a ArcGISHorizontalVerticalTransformation instance. If either ArcGISSpatialReference does not have a vertical coordinate system, a ArcGISGeographicTransformation is returned.
A geographic transformation is not needed when input and output spatial references have the same underlying geographic (horizontal) coordinate system. A vertical transformation is not needed if both datums (for ellipsoidal heights) or vertical datums (for gravity-related heights) are the same. If neither type of transformation is needed, an empty collection is returned.
GetTransformationsBySuitability
static ArcGISImmutableArray<ArcGISDatumTransformation> GetTransformationsBySuitability(const ArcGISSpatialReference& inputSpatialReference, const ArcGISSpatialReference& outputSpatialReference, const ArcGISEnvelope& areaOfInterest, bool ignoreVertical)
Returns a collection of transformations suitable for projecting between the input and output spatial references, taking into account the area of interest, if specified. Optionally checks for suitable vertical transformations.
Since 1.0.0
Arguments
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | The spatial reference to use as the input. | |
output | Yes | The spatial reference to use as the output. | |
area | Yes | The bounding box of coordinates to be transformed, or null to consider the entire world extent. | |
ignore | No | True if ArcGISTransformationCatalog should ignore any vertical coordinate systems set on the inputSpatialReference or outputSpatialReference, and only consider horizontal (geographic) transformations; false otherwise. |
Returns ArcGISImmutableArray<ArcGISDatumTransformation>
A collection of ArcGISDatumTransformation objects suitable for the given parameters, ordered by suitability, or an empty collection if no transformation is required.