@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 16.9 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3169,6061,8125,9202],{35274:(e,t,n)=>{n.d(t,{D:()=>N,m:()=>c,s:()=>_,w:()=>f});var r=n(90237),i=n(55537),s=n(35368),o=n(12189),a=n(83661),m=n(79187),u=n(95213);function c(){return{outPoint:new a.P,index:-1,t:Number.NaN}}function l(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function h(e,t,n,r){e.outPoint.assign(t),e.index=n,e.t=r}function g(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function y(e,t,n,r){e.index=n,e.t=r,t.queryCoord2D(e.t,e.outPoint)}function p(e,t){const n=c();g(n,e),g(e,t),g(t,n)}function f(e,t,n,r,s,a){if(e.getGeometryType()===i.G.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==(0,o.i)(e,t.getEndXY(),0))return h(s,t.getEndXY(),-1,Number.NaN),h(a,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===i.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const e=n.nextSegment();if(0!==(0,o.i)(t,e.getEndXY(),0))return h(s,e.getEndXY(),-1,Number.NaN),h(a,e.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function _(e){const t=e.getPathCount(),n=(0,a.d)(e.getSegmentCount(),0);let r=0;for(let i=0;i<t;++i){const t=r+e.getSegmentCountPath(i);for(let s=r,o=e.getPathStart(i);s<t;++s,++o)n[s]=o;r=t}return(0,s.s)(e.getPointCount(),n),n}function v(e,t){return!!Number.isNaN(t)||e<=t}function D(e){const t=new s.a;return t.addEnvelope(e,!1),t}class N{constructor(e,t){if(this.m_env2DgeometryA=null,this.m_env2DgeometryB=null,this.m_progressCounter=0,this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,r){if((e.getGeometryType()!==u.P.type||t.getGeometryType()!==u.P.type)&&(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!v(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const i=l(new a.P,(0,a.j)(),Number.NaN),s=l(new a.P,(0,a.j)(),Number.NaN),o=this._ExecuteBruteForce(e,t,i,s);return v(o,this.m_maxDistance)?(null!==n&&g(n,i),null!==r&&g(r,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==u.P.type&&e.getGeometryType()!==u.E.type||t.getGeometryType()!==u.P.type&&t.getGeometryType()!==u.E.type||(n=!1),n){if(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const r=l(new a.P,(0,a.j)(),Number.NaN),i=l(new a.P,(0,a.j)(),Number.NaN);return this._ExecuteBruteForce(e,t,r,i)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,n,r){switch(e.getGeometryType()){case i.G.enumPoint:return this.distancePointGeometry(e,t,n,r);case i.G.enumMultiPoint:return this.distanceMultipointGeometry(e,t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathGeometry(e,t,n,r);default:return Number.NaN}}distancePointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointPoint(e,t,n,r);case i.G.enumMultiPoint:return this.distancePointMultipoint(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distancePointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distancePointEnvelope(e,t,n,r);default:return Number.NaN}}distancePointPoint(e,t,n,r){const i=e.getXY(),s=t.getXY();return h(n,i,0,0),h(r,s,0,0),Math.sqrt(a.P.sqrDistance(i,s))}distancePointMultipoint(e,t,n,r){const i=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a.P;for(let e=0;e<u;++e)if(t.queryXY(e,c),o=a.P.sqrDistance(i,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,h(n,i,0,0),h(r,c,e,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,n,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),u=e.getXY();if(!s&&t.getGeometryType()===i.G.enumPolygon&&0!==(0,o.i)(t,u,0))return h(n,u,0,0),h(r,u,-1,Number.NaN),0;t.getImpl().getAccelerators();let c=this.m_maxSqrDistance,l=c,g=-1;const y=new m.J,p=t.querySegmentIterator();let f=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const e=p.nextSegment();e.queryEnvelope(y);const t=y.sqrDistance(u);if(t>c)continue;if(!this.m_bIsNearCalc&&f&&t===c)continue;g=e.getClosestCoordinate(u,!1);const i=e.getCoord2D(g);if(l=a.P.sqrDistance(u,i),this.m_bIsNearCalc){if(l<=c)return 0}else if(!(l>c)&&(!f||l<c)&&(c=l,h(n,u,0,0),h(r,i,p.getStartPointIndex(),g),f=!0,0===c))return 0}return f?Math.sqrt(c):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,r){const i=e.getXY();h(n,i,0,0),h(r,i,-1,Number.NaN);const s=t.asEnvelope2D();return s.contains(i)?0:Math.sqrt(s.sqrDistance(i,r.outPoint))}distanceMultipointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipoint(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,n,r,1,1);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipointMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipointMultipoint(e,t,n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===s&&1===o){const r=Math.trunc((0,a.c)(Math.sqrt(e.getPointCount())+1,1,(0,a.i)())),s=Math.trunc((0,a.c)(Math.sqrt(t.getPointCount())+1,1,(0,a.i)()));if((r>=4||s>=4)&&this.distanceMultipointMultipoint(e,t,n,i,r,s)<=this.m_maxSqrDistance)return 0}let u=this.m_maxSqrDistance;const c=[e],l=[t],g=this.swapGeometriesIfBGtA(c,l);g&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),o=(0,a.b)(s,s=o),p(n,i)),(0,r.b)(m,(0,a.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!g),!1);const y=c[0].getImpl(),f=l[0].getImpl(),_=y.getPointCount(),v=f.getPointCount(),D=v>1;let N=!1;const P=new a.P,x=new a.P;for(let e=0;e<_;e+=s){if(y.queryXY(e,P),D){const e=this.m_env2DgeometryB.sqrDistance(P);if(this.m_bIsNearCalc){if(e>u)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(P)<=u)return 0}else if(e>=u)continue}for(let t=0;t<v;t+=o){f.queryXY(t,x);const r=a.P.sqrDistance(P,x);if(this.m_bIsNearCalc){if(r<=u)return 0}else if(!(r>u||N&&r===u)&&(!N||r<u)&&(h(n,P,e,0),h(i,x,t,0),N=!0,u=r,0===u))return N?Math.sqrt(u):Number.POSITIVE_INFINITY}}return N?Math.sqrt(u):Number.POSITIVE_INFINITY}catch(e){m.error=e,m.hasError=!0}finally{(0,r.c)(m)}}distanceMultipointMultipath(e,t,n,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===i.G.enumPolygon;const u=t.querySegmentIterator();u.stripAttributes();const c=new m.J,l=new a.P;let g=this.m_maxSqrDistance;const y=e.getImpl(),p=y.getPointCount(),f=p>1;let _=!1;for(;u.nextPath();)for(;u.hasNextSegment();){const e=u.nextSegment();if(e.queryLooseEnvelope(c),f){const e=c.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g||_&&e===g)continue}for(let i=0;i<p;i++){if(y.queryXY(i,l),s&&0!==(0,o.i)(t,l,0))return h(n,l,-1,Number.NaN),h(r,l,i,0),0;{const e=c.sqrDistance(l);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g)continue}const a=e.getClosestCoordinate(l,!1),m=e.getCoord2D(a);l.subThis(m);const p=l.sqrLength();if(this.m_bIsNearCalc){if(p<=g)return 0}else if(!(p>g)&&(!_||p<g)&&(g=p,h(n,y.getXY(i),i,0),h(r,m,u.getStartPointIndex(),a),_=!0,0===g))return 0}s=!1}return _?Math.sqrt(g):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointEnvelope(t,e,r,n);case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,D(e),r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(D(e),t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,n,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,r){n.t=Number.NaN,n.index=-1,r.t=Number.NaN,r.index=-1;const i=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(i.sqrDistanceEnvelope(s,n.outPoint,r.outPoint))}distanceMultipathGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipathMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipathMultipath(e,t,n,i){const o={stack:[],error:void 0,hasError:!1};try{const u=[e],l=[t],h=this.swapGeometriesIfAGtB(u,l);h&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,i)),(0,r.b)(o,(0,a.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!h),!1);const v=u[0],D=l[0],N=v.querySegmentIterator();N.stripAttributes();const P=D.querySegmentIterator();if(P.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)())),t=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)()));if(this.distanceMultipointMultipoint(v,D,n,i,e,t)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=c(),t=c();if(f(v,D,N,P,e,t))return g(n,e),g(i,t),0}const x=_(v),I=[],d=new s.S,G=new m.J,M=new m.J,b=new m.J;let E=this.m_maxSqrDistance,q=!0,C=!1;for(let e=0,t=x.length;e<t;++e){v.querySegment(x[e],d,!0);const t=d.get();if(t.queryEnvelope(G),!(G.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>E)){if(this.m_bIsNearCalc&&G.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=E)return 0;for(;P.nextPath();){if(this.progress_(),q)D.queryPathEnvelope(P.getPathIndex(),b),I[P.getPathIndex()]=b.clone();else if(G.sqrDistanceEnvelope(I[P.getPathIndex()],null,null)>E)continue;for(;P.hasNextSegment();){const r=P.nextSegment();if(r.queryEnvelope(M),G.sqrDistanceEnvelope(M,null,null)<=E){const s=!G.isIntersecting(M),o=[0],a=[0];let m=t.distance(r,s,o,a);if(m*=m,this.m_bIsNearCalc&&m<=this.m_maxSqrDistance)return 0;if(m<E||m===E&&x[e]<n.index){if(C=!0,y(n,t,x[e],o[0]),y(i,r,P.getStartPointIndex(),a[0]),0===m)return 0;E=m}}}}P.resetToFirstPath(),q=!1}}return C?Math.sqrt(E):Number.POSITIVE_INFINITY}catch(e){o.error=e,o.hasError=!0}finally{(0,r.c)(o)}}swapGeometriesIfAGtB(e,t){return(0,i.v)(e[0])>(0,i.v)(t[0])&&(t[0]=(0,a.b)(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}},76061:(e,t,n)=>{n.d(t,{G:()=>r,S:()=>i});class r{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class i extends r{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},16346:(e,t,n)=>{n.d(t,{d:()=>c,e:()=>m,s:()=>u});var r=n(55537),i=n(35274),s=n(83047),o=n(78125);const a=new class{getOperatorType(){return 10100}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){return this.executeEx(e,t,n,null,null,Number.NaN)}executeEx(e,t,n,s,o,a){if(e.isEmpty()||t.isEmpty())return Number.NaN;(0,r.d)(e),(0,r.d)(t);const m=e,u=t;Number.isNaN(a)&&(a=Number.POSITIVE_INFINITY);const c=new i.D(a,n).calculate(m,u,s,o);return Number.isFinite(c)?c:Number.NaN}};function m(e,t,n={}){const{unit:r}=n;let i=a.execute((0,o.fromGeometry)(e),(0,o.fromGeometry)(t),null);if(i&&r){const t=(0,o.getSpatialReference)(e);i=(0,s.PQ)(i,t,r)}return i}const u=a.supportsCurves(),c=Object.freeze(Object.defineProperty({__proto__:null,execute:m,supportsCurves:u},Symbol.toStringTag,{value:"Module"}))},77038:(e,t,n)=>{n.r(t),n.d(t,{execute:()=>r.e,supportsCurves:()=>r.s});var r=n(16346);n(83047),n(78125)},78125:(e,t,n)=>{n.r(t),n.d(t,{fromExtent:()=>D,fromGeometry:()=>v,fromMultipoint:()=>N,fromPoint:()=>P,fromPolygon:()=>x,fromPolyline:()=>I,fromSpatialReference:()=>d,getSpatialReference:()=>_,toExtent:()=>M,toGeometry:()=>G,toMultipoint:()=>b,toPoint:()=>E,toPolygon:()=>q,toPolyline:()=>C});var r=n(83661),i=(n(79187),n(55537)),s=n(95213),o=n(35368),a=n(12189),m=n(5443),u=n(48526),c=n(86738),l=n(39829),h=n(82799),g=(n(90293),n(83299));const y="_gxVersion",p=2,f=1;function _(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function v(e){switch(e.type){case"point":return P(e);case"multipoint":return N(e);case"polyline":return I(e);case"polygon":return x(e);case"extent":return D(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function D(e){if(!e.getCacheValue(y)){const t=new s.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(p,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(f,0,e.zmin,e.zmax),e.setCacheValue(y,t)}return e.getCacheValue(y)}function N(e){if(!e.getCacheValue(y)){const t=new o.M,n=new s.P,r=e.points,i=e.hasM,a=e.hasZ,m=a?3:2;for(let e=0,s=r.length;e<s;e++){const s=r[e];n.setXYCoords(s[0],s[1]),a&&n.setZ(s[2]??0),i&&n.setM(s[m]??NaN),t.add(n)}e.setCacheValue(y,t)}return e.getCacheValue(y)}function P(e){if(!e.getCacheValue(y)){const t=new s.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(y,t)}return e.getCacheValue(y)}function x(e){if(!e.getCacheValue(y)){const{curveRings:t,hasM:n,hasZ:r,rings:i}=e,s=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:n,hasZ:r,rings:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function I(e){if(!e.getCacheValue(y)){const{curvePaths:t,hasM:n,hasZ:r,paths:i}=e,s=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:n,hasZ:r,paths:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function d(e){if(e.wkid)return(0,a.c)(e.wkid);const t=e.wkt2||e.wkt;return t?(0,a.b)(t):null}function G(e,t){if(e)switch(e.getGeometryType()){case i.G.enumPoint:return E(e,t);case i.G.enumEnvelope:return M(e,t);case i.G.enumMultiPoint:return b(e,t);case i.G.enumPolyline:return C(e,t);case i.G.enumPolygon:return q(e,t)}return null}function M(e,t){if(e.isEmpty())return null;const n=new m.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),r=e.getDescription();if(r.hasM()){const t=e.queryInterval(p,0);n.mmin=t.vmin,n.mmax=t.vmax}if(r.hasZ()){const t=e.queryInterval(f,0);n.zmin=t.vmin,n.zmax=t.vmax}return n.setCacheValue(y,e),n}function b(e,t){if(e.isEmpty())return null;const n=e.getDescription(),r=n.hasM(),i=n.hasZ(),o=[],a=new s.P;for(let t=0,n=e.getPointCount();t<n;t++){e.getPointByVal(t,a);const n=[a.getX(),a.getY()];i&&n.push(a.getZ()),r&&n.push(a.getM()),o.push(n)}const m=new u.A({hasM:r,hasZ:i,points:o,spatialReference:t});return m.setCacheValue(y,e),m}function E(e,t){if(e instanceof r.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const n=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),i=e.getDescription();return i.hasM()&&(n.m=e.getM()),i.hasZ()&&(n.z=e.getZ()),n.setCacheValue(y,e),n}function q(e,t){if(e.isEmpty())return null;const n=l.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}function C(e,t){if(e.isEmpty())return null;const n=h.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}}}]);