You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10 lines
3.5 KiB
10 lines
3.5 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../../core/quantityUtils ../../core/unitUtils ../../chunks/vec32 ../../core/libs/gl-matrix-2/factories/vec3f64 ../../geometry/projection/projectVectorToVector ../../geometry/support/spatialReferenceUtils ./measurementUtils".split(" "),function(f,k,y,r,p,z,t,D){function E(a,b){const {hasZ:c,spatialReference:n}=a;var l=D.computeEuclideanMeasurementSR(n);let m=0;l=y.lengthUnitFromSpatialReference(l);if(null==l)return null;b=b===h.Direct?A:B;for(const u of a.paths)if(!(2>u.length)){a= |
|
u.length-1;for(let v=0;v<a;++v){var g=u[v];d[0]=g[0];d[1]=g[1];d[2]=c?g[2]:0;g=u[v+1];e[0]=g[0];e[1]=g[1];e[2]=c?g[2]:0;g=b(d,e,n);if(null==g)return null;m+=g.value}}return k.createLength(m,l)}function F(a,b){b=y.verticalLengthUnitFromSpatialReference(b);return null!=b?k.createLength(a??0,b):null}function G(a,b,c){a=q(a,b,c);return null!=a?{direct:k.createLength(a.direct,a.unit),horizontal:k.createLength(a.horizontal,a.unit),vertical:k.createLength(a.vertical,a.unit)}:null}function A(a,b,c){a=q(a, |
|
b,c,h.Direct);return null!=a?k.createLength(a.direct,a.unit):null}function B(a,b,c){a=q(a,b,c,h.Horizontal);return null!=a?k.createLength(a.horizontal,a.unit):null}function H(a,b,c){a=q(a,b,c,h.Vertical);return null!=a?k.createLength(a.verticalSigned,a.unit):null}function q(a,b,c,n){const l=D.computeEuclideanMeasurementSR(c),m=y.lengthUnitFromSpatialReference(l);if(null==m)return null;const g=b[2]-a[2];if(n===h.Vertical)return{verticalSigned:g,unit:m};if(!z.projectVectorToVector(a,c,C,l)||!z.projectVectorToVector(b, |
|
c,w,l))return null;if(n===h.Direct)return{direct:r.distance(w,C),unit:m};r.set(x,a[0],a[1],b[2]);if(!z.projectVectorToVector(x,c,x,l))return null;a=r.distance(x,w);return n===h.Horizontal?{horizontal:a,unit:m}:{direct:r.distance(w,C),horizontal:a,vertical:Math.abs(g),unit:m}}var h;(function(a){a[a.Direct=0]="Direct";a[a.Horizontal=1]="Horizontal";a[a.Vertical=2]="Vertical"})(h||={});const d=p.create(),e=p.create(),C=p.create(),w=p.create(),x=p.create();f.elevationFromPoint=function(a){return null!= |
|
a?F(a.hasZ?a.z:0,a.spatialReference):null};f.elevationFromZ=F;f.euclideanDirectDistance=A;f.euclideanDirectDistanceBetweenPoints=function(a,b){const {spatialReference:c}=a;if(!t.equals(c,b.spatialReference))return null;d[0]=a.x;d[1]=a.y;d[2]=a.hasZ?a.z:0;e[0]=b.x;e[1]=b.y;e[2]=b.hasZ?b.z:0;return A(d,e,c)};f.euclideanDistance=G;f.euclideanDistanceBetweenPoints=function(a,b){const {spatialReference:c}=a;if(!t.equals(c,b.spatialReference))return null;d[0]=a.x;d[1]=a.y;d[2]=a.hasZ?a.z:0;e[0]=b.x;e[1]= |
|
b.y;e[2]=b.hasZ?b.z:0;return G(d,e,c)};f.euclideanHorizontalDistance=B;f.euclideanHorizontalDistanceBetweenPoints=function(a,b){const {spatialReference:c}=a;if(!t.equals(c,b.spatialReference))return null;d[0]=a.x;d[1]=a.y;d[2]=a.hasZ?a.z:0;e[0]=b.x;e[1]=b.y;e[2]=b.hasZ?b.z:0;return B(d,e,c)};f.euclideanHorizontalLength=function(a){return E(a,h.Horizontal)};f.euclideanLength=function(a){return E(a,h.Direct)};f.verticalDistance=function(a,b,c){a=q(a,b,c,h.Vertical);return null!=a?k.createLength(Math.abs(a.verticalSigned), |
|
a.unit):null};f.verticalSignedDistance=H;f.verticalSignedDistanceBetweenPoints=function(a,b){const {spatialReference:c}=a;if(!t.equals(c,b.spatialReference))return null;d[0]=a.x;d[1]=a.y;d[2]=a.hasZ?a.z:0;e[0]=b.x;e[1]=b.y;e[2]=b.hasZ?b.z:0;return H(d,e,c)};Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}); |