UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 1.32 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/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{geodesicLength as r}from"../../geometry/geometryEngine.js";import{inverseGeodeticSolver as n,geodesicLengths as s,InverseGeodeticSolverResult as o}from"../../geometry/support/geodesicUtils.js";import{equals as i}from"../../geometry/support/spatialReferenceUtils.js";import{geodesicMeasure as c}from"./geodesicMeasurementUtils.js";function m(e){const{spatialReference:t}=e;return c(t,l,g,e)}function f(e,t){if(!i(e.spatialReference,t.spatialReference))return null;const{spatialReference:r}=e;return R[0]=e.x,R[1]=e.y,R[2]=e.hasZ?e.z:0,d[0]=t.x,d[1]=t.y,d[2]=t.hasZ?t.z:0,u(R,d,r)}function u(e,t,r){return c(r,a,p,e,t,r)}function a(t,r,s){return e(n(j,t,r,s).distance,"meters")}function p(t,n,s){return e(r(y(t,n,s),"meters"),"meters")}function l(t){return e(s([t],"meters")[0],"meters")}function g(t){return e(r(t,"meters"),"meters")}function y(e,t,r){return{type:"polyline",spatialReference:r,paths:[[[...e],[...t]]]}}const j=new o,R=t(),d=t();export{u as geodesicDistance,f as geodesicDistanceBetweenPoints,m as geodesicLength};