@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.22 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import e from"../Extent.js";import{getExtentForScale as t}from"./scaleUtils.js";function n(e){switch(e?.type){case"point":return e;case"extent":return e.center;case"polygon":return e.centroid;case"multipoint":case"polyline":return e.extent?.center;default:return null}}async function r(e,t){if(e.hasZ||"2d"===t.type)return e;const n=t.map?.ground;if(!n?.layers.length)return e;const{geometry:r}=await n.queryElevation(e,{cache:t.basemapTerrain?.elevationQueryCache});return r}function a(e,t,n){return i(e.center,t,n)}function c(e,t,n){switch(e?.type){case"extent":return e;case"multipoint":case"polygon":case"polyline":return e.extent;case"point":return i(e,t,n);default:return null}}function i(n,r,a){const c=n.hasZ?n.z:void 0;if(r?.map){return(null!=a?t(r,a):r.extent).clone().centerAt(n).set({zmax:c,zmin:c})}const{x:i,y:o,spatialReference:u}=n;return new e({xmin:i-.25,ymin:o-.25,xmax:i+.25,ymax:o+.25,spatialReference:u,zmin:c,zmax:c})}export{c as createExtentFromGeometry,i as createExtentFromPoint,n as getPointFromGeometry,r as getPointWithElevation,a as scaleExtent};