@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.44 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{createLength as e}from"../../core/quantityUtils.js";import{create as t}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import r from"../../geometry/Polyline.js";import{l as n,e as s}from"../../chunks/geodeticLengthOperator.js";import{inverseGeodeticSolver as i,InverseGeodeticSolverResult as o,geodesicLengths as c}from"../../geometry/support/geodesicUtils.js";import{equals as a}from"../../geometry/support/spatialReferenceUtils.js";import{geodesicMeasure as u}from"./geodesicMeasurementUtils.js";function m(e){const{spatialReference:t}=e;return u(t,j,h,e)}function f(e,t){if(!a(e.spatialReference,t.spatialReference))return null;const{spatialReference:r}=e;return x[0]=e.x,x[1]=e.y,x[2]=e.hasZ?e.z:0,U[0]=t.x,U[1]=t.y,U[2]=t.hasZ?t.z:0,p(x,U,r)}function p(e,t,r){return u(r,y,d,e,t,r)}const l={geodesicLength:m,geodesicDistanceBetweenPoints:f,geodesicDistance:p};async function g(){return await n(),l}function y(t,r,n){return e(i(w,t,r,n).distance,"meters")}function d(t,r,n){return e(s(R(t,r,n),{unit:"meters"}),"meters")}function j(t){return e(c([t],"meters")[0],"meters")}function h(t){return e(s(t,{unit:"meters"}),"meters")}function R(e,t,n){return new r({spatialReference:n,paths:[[[...e],[...t]]]})}const w=new o,x=t(),U=t();export{g as loadGeodesicLengthMeasurementUtils};