import { isLoaded, load, getTransformation, getTransformations } from "@arcgis/core/geometry/operators/support/geographicTransformationUtils.js";const { isLoaded, load, getTransformation, getTransformations } = await $arcgis.import("@arcgis/core/geometry/operators/support/geographicTransformationUtils.js");- Since
- ArcGIS Maps SDK for JavaScript 4.32
A set of utilities for working with geographic transformations.
Notes
Verify that isLoaded() returns true before using this module.
Use load() to load this module's dependencies.
Functions
| Name | Return Type | Object |
|---|---|---|
| | ||
| | ||
| | ||
| |
isLoaded
Indicates if all dependencies of this module have been loaded.
- Signature
-
isLoaded (): boolean
- Returns
- boolean
Returns
trueif this module's dependencies have been loaded.
load
Loads this module's dependencies. This method must be called first if isLoaded returns false.
- See also
- Signature
-
load (): Promise<void>
getTransformation
Returns the default equation-based, geographic transformation used to convert a geometry
from the input spatial reference to the output spatial reference.
The default transformation is used when projecting geometries using the projectOperator
where the datum transformation is required but not specified in the operator's geographicTransformation parameter.
Known Limitations
This method returns only equation-based geographic transformations. Geographic transformations are returned with their maximum number of GeographicTransformation.steps. Currently, the number of steps is limited to 2.
- Signature
-
getTransformation (inSpatialReference: SpatialReference, outSpatialReference: SpatialReference, areaOfInterestExtent?: Extent | null): GeographicTransformation | null | undefined
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| inSpatialReference | The input spatial reference from which to project geometries. This is the spatial reference of the input geometries. | | |
| outSpatialReference | The spatial reference to which you are converting the geometries. | | |
| areaOfInterestExtent | An extent used to determine the suitability of the returned transformation.
The extent's spatial reference should be the same as | |
- Returns
- GeographicTransformation | null | undefined
Returns the default geographic transformation for the given parameters. If no transformation is required or there are no suitable transformations, then
nullis returned.
Example
const cs1 = new SpatialReference({ wkid: 4272 //PE_GCS_ED_1950});
const cs2 = new SpatialReference({ wkid: 4167});
const extent = new Extent({ xmin: -186.0, ymin: -42.0, xmax: -179.0, ymax: -38.0, spatialReference: cs1});
if (!geographicTransformationUtils.isLoaded()) { await geographicTransformationUtils.load();}
const geogtrans = projection.getTransformation(cs1, cs2, extent); getTransformations
Returns a list of all equation-based, geographic transformations suitable to convert geometries from the input spatial reference to the specified output spatial reference. The list is ordered in descending order by suitability, with the most suitable being first in the list.
Known Limitations
This method returns only equation-based geographic transformations. Geographic transformations are returned with their maximum number of GeographicTransformation.steps. Currently, number of steps is limited to 2.
- Signature
-
getTransformations (inSpatialReference: SpatialReference, outSpatialReference: SpatialReference, areaOfInterestExtent?: Extent | null): GeographicTransformation[]
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| inSpatialReference | The spatial reference that the geometries are currently using. | | |
| outSpatialReference | The spatial reference to which you are converting the geometries to. | | |
| areaOfInterestExtent | An extent used to help pick the correct transform.
The extent's spatial reference should be the same as | |
- Returns
- GeographicTransformation[]
Returns an array containing the maximum number the suitable geographic transformations that can be used to convert geometries between input and output spatial references. The list will be empty if the provided extent lies out of the area of use for the input spatial reference, or if no transformation is required, or there are no suitable transformations.
Example
const cs1 = new SpatialReference({ wkid: 4272 //PE_GCS_ED_1950});
const cs2 = new SpatialReference({ wkid: 4167});
const extent = new Extent({ xmin: -186.0, ymin: -42.0, xmax: -179.0, ymax: -38.0, spatialReference: cs1});
if (!geographicTransformationUtils.isLoaded()) { await geographicTransformationUtils.load();}
const geogtrans = projection.getTransformations(cs1, cs2, extent);geogtrans.forEach((geogtran, index) => { geogtran.steps.forEach((step, index) => { console.log("step wkid: ", step.wkid); });});