import * as projectOperator from "@arcgis/core/geometry/operators/projectOperator.js";
            const projectOperator = await $arcgis.import("@arcgis/core/geometry/operators/projectOperator.js");
            @arcgis/core/geometry/operators/projectOperator
        Projects 2D geometries from one SpatialReference to another. You can specify a geographic (datum) transformation for this operation, accept the default transformation if one is needed, or set the area of interest.
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 methods which return the default geographic transformation for the given projection or a list of suitable geographic transformations.
Known Limitations
- This operator currently only supports equation-based geographic transformations.
 - The result geometry is not guaranteed to be simple. Apply the simplifyOperator to ensure the result is topologically simple.
 - Projecting an Extent may return an Extent with a larger area than the input.
 
Notes
- Verify that 
isLoaded()returnstruebefore 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.  | projectOperator | 
Property Details
- 
  
    
Indicates if the operator supports input geometries that contain curves. The value is
nullorundefineduntil the operator is loaded, then it will always betrue. This will produce densified output geometries. 
Method Overview
| Name | Return Type | Summary | Object | 
|---|---|---|---|
Projects a geometry to the specified output spatial reference.  | projectOperator | ||
Projects an array of geometries to the specified output spatial reference.  | projectOperator | ||
Indicates if all dependencies of this module have been loaded.  | projectOperator | ||
Promise  | Loads this module's dependencies.  | projectOperator | 
Method Details
- 
  
  
execute
Methodexecute(geometry, outSpatialReference, options){GeometryUnion |null |undefined} - 
  
  
    
Projects a geometry to the specified output spatial reference.
ParametersSpecificationgeometry GeometryUnionThe geometry to project.
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
geographicTransformationoption is provided. The extent's spatial reference should be the same as the spatial reference of the input geometry.geographicTransformation GeographicTransformationoptionalThe geographic transformation used to transform the geometries. Specify this parameter to project a geometry when the default transformation is not appropriate for your requirements.
ReturnsType Description GeometryUnion | null | undefined Returns the projected geometry or null. Exampleif (!projectOperator.isLoaded()) { await projectOperator.load(); } const outSpatialReference = new SpatialReference({ wkid: 53008 //Sphere_Sinusoidal projection }); // Project a geometry to a different spatial reference const geometry = projectOperator.execute(polygon, outSpatialReference); 
- 
  
  
executeMany
MethodexecuteMany(geometries, outSpatialReference, options){Array<(GeometryUnion|null|undefined)>} - 
  
  
    
Projects an array of geometries to the specified output spatial reference.
ParametersSpecificationgeometries GeometryUnion[]An array of geometries to project. All the geometries must have the same spatial reference.
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
geographicTransformationoption is provided. The extent's spatial reference should be the same as thegeometriesspatial reference.geographicTransformation GeographicTransformationoptionalThe geographic transformation used to transform the geometries. Specify this parameter to project a geometry when the default transformation is not appropriate for your requirements.
ReturnsType Description Array<(GeometryUnion|null|undefined)> Returns the projected geometries or null.  
- 
  
  
    
Loads this module's dependencies. This method must be called first if
isLoadedreturnsfalse.ReturnsType Description Promise Resolves when the dependencies have been loaded. - See also