require(["esri/geometry/operators/shapePreservingProjectOperator"], (shapePreservingProjectOperator) => { /* code goes here */ });
import * as shapePreservingProjectOperator from "@arcgis/core/geometry/operators/shapePreservingProjectOperator.js";
esri/geometry/operators/shapePreservingProjectOperator
Transforms 2D geometry segment end points and interior points, thus preserving the geographic location of the segment interior and more accurately maintaining its original shape. A maximum offset deviation parameter controls how much the result of the projection is allowed to deviate from the true preserved shape.
Projecting your data between coordinate systems sometimes requires transforming between geographic coordinate systems. Geographic transformations are used to transform coordinates between spatial references that have different geographic coordinate systems, and thus different datums. Using the most suitable transformation ensures the best possible accuracy when converting geometries from one spatial reference to another.
The geographicTransformationUtils
module provides the getTransformation() and
getTransformations() methods which return the default geographic transformation
for the given projection or a list of suitable geographic transformations.
Notes
- Verify that
isLoaded()
returnstrue
before using this module. - Use
load()
to load this module's dependencies.
Property Overview
Name | Type | Summary | Object |
---|---|---|---|
Indicates if the operator supports input geometries that contain curves. | shapePreservingProjectOperator |
Property Details
-
Indicates if the operator supports input geometries that contain curves.
- Default Value:false
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Performs the shape preserving project operation on a single geometry. | shapePreservingProjectOperator | ||
Performs the shape preserving project operation on multiple geometries. | shapePreservingProjectOperator | ||
Indicates if all dependencies of this module have been loaded. | shapePreservingProjectOperator | ||
Promise | Loads this module's dependencies. | shapePreservingProjectOperator |
Method Details
-
execute
execute(geometry, outSpatialReference, options){GeometryUnion}
-
Performs the shape preserving project operation on a single geometry.
ParametersSpecificationgeometry GeometryUnionThe geometry to be projected.
outSpatialReference SpatialReferenceThe spatial reference to which the input geometry is projected.
options ObjectoptionalAdditional options.
SpecificationareaOfInterestExtent ExtentoptionalAn extent used to help pick the correct transform. This is not used if the
geographicTransformation
option is provided. The extent's spatial reference should be the same as the spatial reference of the input geometry.geographicTransformation GeographicTransformationoptionalThe geographic transformation to use in the projection.
minSegmentLengthInDegrees NumberoptionalDefault Value: 0A lower bound controlling the densification in the input coordinate system. The default setting of 0 represents 1e-5 degrees. If the input coordinate system is a projected coordinate system, then this value is translated to length in linear units at the equator.
maxDeviationInSrTo NumberoptionalDefault Value: 0Controls how much the result of the projection is allowed to deviate from the true preserved shape. The default setting of 0 represents 100 * output tolerance.
ReturnsType Description GeometryUnion The projected geometry. Exampleif (!shapePreservingProjectOperator.isLoaded()) { await shapePreservingProjectOperator.load(); } // Project a geometry to a different spatial reference while preserving its shape. const geometry = shapePreservingProjectOperator.execute(polyline, spatialReference);
-
executeMany
executeMany(geometries, outSpatialReference, options){GeometryUnion[]}
-
Performs the shape preserving project operation on multiple geometries.
ParametersSpecificationgeometries GeometryUnion[]The geometries to be projected. All the geometries must have the same spatial reference.
outSpatialReference SpatialReferenceThe spatial reference to which the input geometries are projected.
options ObjectoptionalAdditional options.
SpecificationareaOfInterestExtent ExtentoptionalAn extent used to help pick the correct transform. This is not used if the
geographicTransformation
option is provided. The extent's spatial reference should be the same as thegeometries
spatial reference.geographicTransformation GeographicTransformationoptionalThe geographic transformation to use in the projections.
minSegmentLengthInDegrees NumberoptionalDefault Value: 0A lower bound controlling the densification in the input coordinate system. The default setting of 0 represents 1e-5 degrees. If the input coordinate system is a projected coordinate system, then this value is translated to length in linear units at the equator.
maxDeviationInSrTo NumberoptionalDefault Value: 0Controls how much the result of the projectios are allowed to deviate from the true preserved shape. The default setting of 0 represents 100 * output tolerance.
ReturnsType Description GeometryUnion[] Returns the projected geometries.
-
Loads this module's dependencies. This method must be called first if
isLoaded
returnsfalse
.ReturnsType Description Promise Resolves when the dependencies have been loaded. - See also