@arcgis/core 5.2.0-next.81 → 5.2.0-next.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{88d6a7ebded4d359deb0.js → 027af54888befb209aaa.js} +1 -1
- package/assets/esri/core/workers/chunks/{694216224d5fd3a8956d.js → 04f5ff688785a4bd3b03.js} +1 -1
- package/assets/esri/core/workers/chunks/{578904043e873424904c.js → 0d982abff7c9496f7890.js} +1 -1
- package/assets/esri/core/workers/chunks/{3adba34224cba869a39c.js → 10ac92dcd3738ec23dfb.js} +1 -1
- package/assets/esri/core/workers/chunks/{4a537054c99cbc492715.js → 11d911f70bf0ca252c19.js} +1 -1
- package/assets/esri/core/workers/chunks/{2f3525df00fb265661fc.js → 1352b5c6767e5421bc02.js} +1 -1
- package/assets/esri/core/workers/chunks/1354b8442c2c501238f1.js +1 -0
- package/assets/esri/core/workers/chunks/{8cfe817299eb16cb2664.js → 1438f571f738e83b4d1c.js} +1 -1
- package/assets/esri/core/workers/chunks/{efd176c5ac35f313e7a2.js → 14469f664fd5ede469fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{bfd532e33800755b1f48.js → 14511c92cbbc26d80c86.js} +1 -1
- package/assets/esri/core/workers/chunks/{fbb0b2f4ec0ba458ddeb.js → 19dac19122eeeb5e36b2.js} +1 -1
- package/assets/esri/core/workers/chunks/{f71a3fe5f30aa782193a.js → 20db27d9828397d0b37a.js} +1 -1
- package/assets/esri/core/workers/chunks/{b3081c0b037abc49d09b.js → 26c12804a0d801df29bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{8006ffa263fb8016afdb.js → 26c8ed0aef59ed6d5267.js} +1 -1
- package/assets/esri/core/workers/chunks/2d1c0d80a9843567df8d.js +1 -0
- package/assets/esri/core/workers/chunks/{2b79b376b0d60d2f0d5c.js → 2d6e1bf7c1981bed4357.js} +1 -1
- package/assets/esri/core/workers/chunks/{7028671ffdaafe2725bc.js → 33aaa5a49e396a0aca47.js} +1 -1
- package/assets/esri/core/workers/chunks/{d1baf17f3219f70106f7.js → 34f6093d2c00e3584037.js} +1 -1
- package/assets/esri/core/workers/chunks/{bfac0f47e81055585002.js → 3f0625c31dd46b563160.js} +1 -1
- package/assets/esri/core/workers/chunks/{9a5894e8ebdf0e97b98f.js → 43122c435497228a7583.js} +1 -1
- package/assets/esri/core/workers/chunks/{8fff4a41a54d39db470a.js → 44d13f65465646e5f6e9.js} +1 -1
- package/assets/esri/core/workers/chunks/{9c17bfbfc347ac289b6e.js → 463b7952a4825541eb13.js} +1 -1
- package/assets/esri/core/workers/chunks/{540a3685e614bb006744.js → 469e72ab6cd44272f474.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ed6a8bb415999c4e8a6.js → 4cf2c33494cb75942511.js} +1 -1
- package/assets/esri/core/workers/chunks/{6c372d85b5783dd2a793.js → 52042fd36f4a572938f0.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8b38c196b06e801c4e6.js → 563a4d6788ad66b676e4.js} +1 -1
- package/assets/esri/core/workers/chunks/598221c7054415b84904.js +1 -0
- package/assets/esri/core/workers/chunks/{89df303abcbc0167e4d2.js → 5a006ff759fad9fc25cb.js} +1 -1
- package/assets/esri/core/workers/chunks/{40ebe69b08ea54e0e780.js → 5b60fc95757b2a53558a.js} +1 -1
- package/assets/esri/core/workers/chunks/{c336f300fe6100e36592.js → 5c634b3e6dc76299b1df.js} +1 -1
- package/assets/esri/core/workers/chunks/{5a67bd724aa7fcdebe16.js → 5d30accf1dcda0c70f95.js} +1 -1
- package/assets/esri/core/workers/chunks/{8d16d53643dd8d489c25.js → 605da92d28e067f4a4c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{5c9a398e659ecd427fb5.js → 657528eb6a3d3b3cb631.js} +1 -1
- package/assets/esri/core/workers/chunks/{d845f2115848b56c0369.js → 66292e98b4111ea3658d.js} +1 -1
- package/assets/esri/core/workers/chunks/{f57e5e7d0748d9a370f7.js → 680496660b2aaa710099.js} +1 -1
- package/assets/esri/core/workers/chunks/6c389e9646a48c26da20.js +2 -0
- package/assets/esri/core/workers/chunks/{fbcc346fa603d6edac98.js → 6db4a4f9a9ce7cc738d0.js} +1 -1
- package/assets/esri/core/workers/chunks/{a9e944f28bd573c8230d.js → 6eb28086dc28f6d144ec.js} +1 -1
- package/assets/esri/core/workers/chunks/7bd8ebb321ecf1f06496.js +1 -0
- package/assets/esri/core/workers/chunks/{d0aaa4ad7f76f577f117.js → 7d5877eede2f552dea9f.js} +1 -1
- package/assets/esri/core/workers/chunks/{bf5831a7c12b1e42c669.js → 83a77d3f45c8c21cec45.js} +1 -1
- package/assets/esri/core/workers/chunks/{dcec7fc66385c12ecdf0.js → 865f9adc591056458b6b.js} +1 -1
- package/assets/esri/core/workers/chunks/{d62a5a33a24418a3e283.js → 88771a75adcbd54c4fac.js} +1 -1
- package/assets/esri/core/workers/chunks/{37fb38db03cb39e3c342.js → 8c6a60d96c73982febd2.js} +1 -1
- package/assets/esri/core/workers/chunks/{6065caa7981cef255277.js → 911f3a1b8dd4bc5c9782.js} +1 -1
- package/assets/esri/core/workers/chunks/{70c371c9f133ab9f7925.js → 918577ea025f67ebe372.js} +1 -1
- package/assets/esri/core/workers/chunks/99966339b061eb9945b8.js +1 -0
- package/assets/esri/core/workers/chunks/{9bd4cda90daf90189bfc.js → a2fd945659ce052f99d2.js} +1 -1
- package/assets/esri/core/workers/chunks/{74cd17aca5f7e0caac90.js → a9a1061cdf82b372835f.js} +1 -1
- package/assets/esri/core/workers/chunks/ab10388dcc17a665ac3b.js +2 -0
- package/assets/esri/core/workers/chunks/ac9a3dfd02160e43fc8a.js +2 -0
- package/assets/esri/core/workers/chunks/{82da6d98bd4980a3d454.js → af88f8dd1a53e4740aa6.js} +1 -1
- package/assets/esri/core/workers/chunks/{d2448e26e19005ef9ab2.js → b09e9ac5fd928e69b053.js} +1 -1
- package/assets/esri/core/workers/chunks/{61190c833791f0833a39.js → b7bcc2d0b0fa8e703c83.js} +1 -1
- package/assets/esri/core/workers/chunks/{37a121316d114999ac70.js → ba67aaa08e4f11e1140a.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d50a030bf9f4e94f69d.js → bbeb61d9302323bae9fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{dbca32f0e0c2c2e2ccf3.js → bd1c870694edd25bf8aa.js} +1 -1
- package/assets/esri/core/workers/chunks/c1f125594e684c1b4ffc.js +1 -0
- package/assets/esri/core/workers/chunks/{d4b78d11a5ce4320a29a.js → c456abf5ee2a1ad5cc5b.js} +1 -1
- package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js → c61e94806b37ca3dd549.js} +2 -2
- package/assets/esri/core/workers/chunks/{e72fa08b0bd324514a0e.js → c8d83f71326222b98608.js} +1 -1
- package/assets/esri/core/workers/chunks/{09f0805b32e6cab980e6.js → cc1a00694cc9f7c606d6.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8a9a686a3c23afc9d1f.js → cdd4aeaa3f30bc4ea93a.js} +1 -1
- package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js → d0c8630177d3a4e316f1.js} +2 -2
- package/assets/esri/core/workers/chunks/{bc30c0de6dcb106b24a1.js → da233362b06b6db375f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{ce81f29134ab3971bd54.js → dd91824692bec809909c.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9e9e79f78be32e5d475.js → e706c37b44e98fbcb5f7.js} +1 -1
- package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js → ead4143d811aab610e00.js} +2 -2
- package/assets/esri/core/workers/chunks/ef269dd559c1c79957e5.js +1 -0
- package/assets/esri/core/workers/chunks/{4a6158994a8cc8b8664f.js → f0692e10af5983f6ad93.js} +1 -1
- package/assets/esri/core/workers/chunks/{fae32c9ce811934b6a64.js → f248131df4eaa5291623.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c15551e33a3c6cda61d.js → f762f0f6c83748d8e328.js} +1 -1
- package/assets/esri/core/workers/chunks/{4eaa93859ceec1b38530.js → fa29b5064d6626cfc019.js} +1 -1
- package/assets/esri/core/workers/chunks/{a3cbd3e983e21f40b253.js → faf14281a74a06fa1f30.js} +1 -1
- package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +1 -0
- package/assets/esri/core/workers/chunks/{388b71211a0ad5cbd6b9.js → fe06cc2f90b2d551e4c1.js} +1 -1
- package/assets/esri/core/workers/chunks/{86035e46777ed896c658.js → ffad5fd9c5e98f4fe2c3.js} +1 -1
- package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/EmissionComposite.glsl.js +7 -1
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/GeographicTransformation.js +2 -0
- package/chunks/Geometry.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/pe-wasm.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/config.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/GeographicTransformation.d.ts +7 -0
- package/geometry/operators/support/GeographicTransformation.js +1 -1
- package/geometry/operators/support/GeographicTransformationStep.d.ts +7 -1
- package/geometry/operators/support/GeographicTransformationStep.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.d.ts +13 -2
- package/geometry/operators/support/geographicTransformationUtils.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/kernel.js +1 -1
- package/layers/raster/types.d.ts +1 -1
- package/layers/support/AggregateField.d.ts +9 -3
- package/layers/support/FeatureReductionCluster.d.ts +16 -6
- package/layers/support/I3SExtractChanges.js +2 -0
- package/package.json +3 -3
- package/renderers/support/AuthoringInfo.d.ts +8 -3
- package/support/revision.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/support/PBFDecoder.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
- package/views/MapView.d.ts +0 -60
- package/views/View2D.d.ts +59 -1
- package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Legend/support/utils.js +1 -1
- package/assets/esri/core/workers/chunks/453c69879f4b82ba13a1.js +0 -1
- package/assets/esri/core/workers/chunks/9234a293d61e134f121f.js +0 -1
- package/assets/esri/core/workers/chunks/95b9eaf7a49eeb17e62f.js +0 -1
- package/assets/esri/core/workers/chunks/973440553c9e058b0132.js +0 -1
- package/assets/esri/core/workers/chunks/c5853fbb975e169c44c5.js +0 -1
- package/assets/esri/core/workers/chunks/e2473de49189d93714d3.js +0 -1
- package/assets/esri/core/workers/chunks/e63f94c8097555b266ad.js +0 -2
- package/assets/esri/core/workers/chunks/f2d99f693a590f384315.js +0 -1
- package/assets/esri/core/workers/chunks/fc2234e0d202631f3abf.js +0 -2
- package/assets/esri/core/workers/chunks/fcb943c3b31b1bf62e65.js +0 -2
- /package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js.LICENSE.txt → 6c389e9646a48c26da20.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{e63f94c8097555b266ad.js.LICENSE.txt → ab10388dcc17a665ac3b.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{fc2234e0d202631f3abf.js.LICENSE.txt → ac9a3dfd02160e43fc8a.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{fcb943c3b31b1bf62e65.js.LICENSE.txt → c61e94806b37ca3dd549.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js.LICENSE.txt → d0c8630177d3a4e316f1.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js.LICENSE.txt → ead4143d811aab610e00.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1088,2024],{30921(t,e,n){n.d(e,{D:()=>D,m:()=>c,s:()=>d,w:()=>y});var i=n(5482),s=n(55537),o=n(88885),r=n(39117),m=n(83661),a=n(79187),u=n(95213);function c(){return{outPoint:new m.P,index:-1,t:Number.NaN}}function h(t,e,n){return{outPoint:t.clone(),index:e,t:n}}function l(t,e,n,i){t.outPoint.assign(e),t.index=n,t.t=i}function _(t,e){t.outPoint.assign(e.outPoint),t.index=e.index,t.t=e.t}function g(t,e,n,i){t.index=n,t.t=i,e.queryCoord2D(t.t,t.outPoint)}function p(t,e){const n=c();_(n,t),_(t,e),_(e,n)}function y(t,e,n,i,o,m){if(t.getGeometryType()===s.G.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==(0,r.E)(t,e.getEndXY(),0))return l(o,e.getEndXY(),-1,Number.NaN),l(m,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}if(e.getGeometryType()===s.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const t=n.nextSegment();if(0!==(0,r.E)(e,t.getEndXY(),0))return l(o,t.getEndXY(),-1,Number.NaN),l(m,t.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function d(t){const e=t.getPathCount(),n=(0,m.d)(t.getSegmentCount(),0);let i=0;for(let s=0;s<e;++s){const e=i+t.getSegmentCountPath(s);for(let o=i,r=t.getPathStart(s);o<e;++o,++r)n[o]=r;i=e}return(0,o.s)(t.getPointCount(),n),n}function x(t,e){return!!Number.isNaN(e)||t<=e}function P(t){const e=new o.P;return e.addEnvelope(t,!1),e}class D{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(t,e){if(this.m_progressTracker=e,this.m_maxSqrDistance=t*t,this.m_maxDistance=t,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=t,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let t=Math.sqrt(this.m_maxSqrDistance);for(;t<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,t=Math.sqrt(this.m_maxSqrDistance)}}calculate(t,e,n,i){if((t.getGeometryType()!==u.P.type||e.getGeometryType()!==u.P.type)&&(this.m_env2DgeometryA=new a.Envelope2D,this.m_env2DgeometryB=new a.Envelope2D,t.queryEnvelope(this.m_env2DgeometryA),e.queryEnvelope(this.m_env2DgeometryB),!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const s=h(new m.P,(0,m.j)(),Number.NaN),o=h(new m.P,(0,m.j)(),Number.NaN),r=this._ExecuteBruteForce(t,e,s,o);return x(r,this.m_maxDistance)?(null!==n&&_(n,s),null!==i&&_(i,o),r):Number.POSITIVE_INFINITY}isNear(t,e){if(this.m_bIsNearCalc=!0,t.isEmpty()||e.isEmpty())return!1;if(t===e)return!0;let n=!0;if(t.getGeometryType()!==u.P.type&&t.getGeometryType()!==u.E.type||e.getGeometryType()!==u.P.type&&e.getGeometryType()!==u.E.type||(n=!1),n){if(this.m_env2DgeometryA=new a.Envelope2D,this.m_env2DgeometryB=new a.Envelope2D,t.queryEnvelope(this.m_env2DgeometryA),e.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 i=h(new m.P,(0,m.j)(),Number.NaN),s=h(new m.P,(0,m.j)(),Number.NaN);return this._ExecuteBruteForce(t,e,i,s)<=this.m_maxDistance}progress_(t=!1){}_ExecuteBruteForce(t,e,n,i){switch(t.getGeometryType()){case s.G.enumPoint:return this.distancePointGeometry(t,e,n,i);case s.G.enumMultiPoint:return this.distanceMultipointGeometry(t,e,n,i);case s.G.enumEnvelope:return this.distanceEnvelopeGeometry(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathGeometry(t,e,n,i);default:return Number.NaN}}distancePointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.distancePointPoint(t,e,n,i);case s.G.enumMultiPoint:return this.distancePointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.distancePointMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distancePointEnvelope(t,e,n,i);default:return Number.NaN}}distancePointPoint(t,e,n,i){const s=t.getXY(),o=e.getXY();return l(n,s,0,0),l(i,o,0,0),Math.sqrt(m.P.sqrDistance(s,o))}distancePointMultipoint(t,e,n,i){const s=t.getXY();let o=this.m_maxSqrDistance,r=o,a=!1;const u=e.getPointCount(),c=new m.P;for(let t=0;t<u;++t)if(e.queryXY(t,c),r=m.P.sqrDistance(s,c),this.m_bIsNearCalc){if(r<=o)return 0}else if(!(r>o)&&(!a&&r===o||r<o)&&(o=r,l(n,s,0,0),l(i,c,t,0),a=!0,0===o))return 0;return a?Math.sqrt(o):Number.POSITIVE_INFINITY}distancePointMultipath(t,e,n,i){const o=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),u=t.getXY();if(!o&&e.getGeometryType()===s.G.enumPolygon&&0!==(0,r.E)(e,u,0))return l(n,u,0,0),l(i,u,-1,Number.NaN),0;e.getImpl().getAccelerators();let c=this.m_maxSqrDistance,h=c,_=-1;const g=new a.Envelope2D,p=e.querySegmentIterator();let y=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const t=p.nextSegment();t.queryEnvelope(g);const e=g.sqrDistance(u);if(e>c)continue;if(!this.m_bIsNearCalc&&y&&e===c)continue;_=t.getClosestCoordinate(u,!1);const s=t.getCoord2D(_);if(h=m.P.sqrDistance(u,s),this.m_bIsNearCalc){if(h<=c)return 0}else if(!(h>c)&&(!y||h<c)&&(c=h,l(n,u,0,0),l(i,s,p.getStartPointIndex(),_),y=!0,0===c))return 0}return y?Math.sqrt(c):Number.POSITIVE_INFINITY}distancePointEnvelope(t,e,n,i){const s=t.getXY();l(n,s,0,0),l(i,s,-1,Number.NaN);const o=e.asEnvelope2D();return o.contains(s)?0:Math.sqrt(o.sqrDistance(s,i.outPoint))}distanceMultipointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distancePointMultipoint(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumMultiPoint:return this.distanceMultipointMultipoint(t,e,n,i,1,1);case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipointMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distanceMultipointMultipath(t,P(e),n,i);default:return Number.NaN}}distanceMultipointMultipoint(t,e,n,s,o,r){const a={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===o&&1===r){const i=Math.trunc((0,m.s)(Math.sqrt(t.getPointCount())+1,1,(0,m.i)())),o=Math.trunc((0,m.s)(Math.sqrt(e.getPointCount())+1,1,(0,m.i)()));if((i>=4||o>=4)&&this.distanceMultipointMultipoint(t,e,n,s,i,o)<=this.m_maxSqrDistance)return 0}let u=this.m_maxSqrDistance;const c=[t],h=[e],_=this.swapGeometriesIfBGtA(c,h);_&&(this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),r=(0,m.c)(o,o=r),p(n,s)),(0,i.mS)(a,(0,m.h)(()=>{p(n,s),this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!_),!1);const g=c[0].getImpl(),y=h[0].getImpl(),d=g.getPointCount(),x=y.getPointCount(),P=x>1;let D=!1;const v=new m.P,G=new m.P;for(let t=0;t<d;t+=o){if(g.queryXY(t,v),P){const t=this.m_env2DgeometryB.sqrDistance(v);if(this.m_bIsNearCalc){if(t>u)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(v)<=u)return 0}else if(t>=u)continue}for(let e=0;e<x;e+=r){y.queryXY(e,G);const i=m.P.sqrDistance(v,G);if(this.m_bIsNearCalc){if(i<=u)return 0}else if(!(i>u||D&&i===u)&&(!D||i<u)&&(l(n,v,t,0),l(s,G,e,0),D=!0,u=i,0===u))return D?Math.sqrt(u):Number.POSITIVE_INFINITY}}return D?Math.sqrt(u):Number.POSITIVE_INFINITY}catch(t){a.error=t,a.hasError=!0}finally{(0,i.hk)(a)}}distanceMultipointMultipath(t,e,n,i){let o=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&e.getGeometryType()===s.G.enumPolygon;const u=e.querySegmentIterator();u.stripAttributes();const c=new a.Envelope2D,h=new m.P;let _=this.m_maxSqrDistance;const g=t.getImpl(),p=g.getPointCount(),y=p>1;let d=!1;for(;u.nextPath();)for(;u.hasNextSegment();){const t=u.nextSegment();if(t.queryLooseEnvelope(c),y){const t=c.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(t>_)continue}else if(t>_||d&&t===_)continue}for(let s=0;s<p;s++){if(g.queryXY(s,h),o&&0!==(0,r.E)(e,h,0))return l(n,h,-1,Number.NaN),l(i,h,s,0),0;{const t=c.sqrDistance(h);if(this.m_bIsNearCalc){if(t>_)continue}else if(t>_)continue}const m=t.getClosestCoordinate(h,!1),a=t.getCoord2D(m);h.subThis(a);const p=h.sqrLength();if(this.m_bIsNearCalc){if(p<=_)return 0}else if(!(p>_)&&(!d||p<_)&&(_=p,l(n,g.getXY(s),s,0),l(i,a,u.getStartPointIndex(),m),d=!0,0===_))return 0}o=!1}return d?Math.sqrt(_):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.distancePointEnvelope(e,t,i,n);case s.G.enumMultiPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distanceMultipointMultipath(e,P(t),i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathMultipath(P(t),e,n,i);case s.G.enumEnvelope:return this.distanceEnvelopeEnvelope(t,e,n,i);default:return Number.NaN}}distanceEnvelopeEnvelope(t,e,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const s=t.asEnvelope2D(),o=e.asEnvelope2D();return Math.sqrt(s.sqrDistanceEnvelope(o,n.outPoint,i.outPoint))}distanceMultipathGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distancePointMultipath(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumMultiPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distanceMultipointMultipath(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distanceMultipathMultipath(t,P(e),n,i);default:return Number.NaN}}distanceMultipathMultipath(t,e,n,s){const r={stack:[],error:void 0,hasError:!1};try{const u=[t],h=[e],l=this.swapGeometriesIfAGtB(u,h);l&&(this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,s)),(0,i.mS)(r,(0,m.h)(()=>{p(n,s),this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!l),!1);const x=u[0],P=h[0],D=x.querySegmentIterator();D.stripAttributes();const v=P.querySegmentIterator();if(v.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const t=Math.trunc((0,m.s)(Math.sqrt(x.getPointCount())+1,1,(0,m.i)())),e=Math.trunc((0,m.s)(Math.sqrt(x.getPointCount())+1,1,(0,m.i)()));if(this.distanceMultipointMultipoint(x,P,n,s,t,e)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const t=c(),e=c();if(y(x,P,D,v,t,e))return _(n,t),_(s,e),0}const G=d(x),f=[],S=new o.S,M=new a.Envelope2D,E=new a.Envelope2D,T=new a.Envelope2D;let b=this.m_maxSqrDistance,I=!0,N=!1;for(let t=0,e=G.length;t<e;++t){x.querySegment(G[t],S,!0);const e=S.get();if(e.queryEnvelope(M),!(M.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>b)){if(this.m_bIsNearCalc&&M.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=b)return 0;for(;v.nextPath();){if(this.progress_(),I)P.queryPathEnvelope(v.getPathIndex(),T),f[v.getPathIndex()]=T.clone();else if(M.sqrDistanceEnvelope(f[v.getPathIndex()],null,null)>b)continue;for(;v.hasNextSegment();){const i=v.nextSegment();if(i.queryEnvelope(E),M.sqrDistanceEnvelope(E,null,null)<=b){const o=!M.isIntersecting(E),r=[0],m=[0];let a=e.distance(i,o,r,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<b||a===b&&G[t]<n.index){if(N=!0,g(n,e,G[t],r[0]),g(s,i,v.getStartPointIndex(),m[0]),0===a)return 0;b=a}}}}v.resetToFirstPath(),I=!1}}return N?Math.sqrt(b):Number.POSITIVE_INFINITY}catch(t){r.error=t,r.hasError=!0}finally{(0,i.hk)(r)}}swapGeometriesIfAGtB(t,e){return(0,s.v)(t[0])>(0,s.v)(e[0])&&(e[0]=(0,m.c)(t[0],t[0]=e[0]),!0)}swapGeometriesIfBGtA(t,e){return this.swapGeometriesIfAGtB(e,t)}}},22024(t,e,n){n.d(e,{G:()=>M,a:()=>f,m:()=>D});var i=n(5482),s=n(55537),o=n(88885),r=n(39117),m=n(95213),a=n(79187),u=n(83661),c=n(11878),h=n(30921),l=n(76061),_=n(31088);class g{getOperatorType(){return 10317}supportsCurves(){return!0}accelerateGeometry(t,e,n){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,n,i,s,o){return new _.OperatorGeodeticDensifyCursor(t,e,4,n,i,s,o)}execute(t,e,n,i,o,r){const m=new l.S([t]),a=this.executeMany(m,e,n,i,o,r).next();return a||(0,s.d)("null output"),a}}var p=n(31139);class y{m_a;m_e2;m_b;m_unitToDegree;m_unitToRad;m_u180;m_u360;m_peR1;m_peR2;m_peR3;[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,n){this.m_peR1=new r.ag,this.m_peR2=new r.ag,this.m_peR3=new r.ag,void 0!==t?this.reset(t,e,n):this.reset(1,0,1)}reset(t,e,n){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=n,this.m_unitToRad=.017453292519943295*n,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,n,i){const s=this.m_peR1,o=this.m_peR2,m=this.m_peR3;r.ah.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,n*this.m_unitToRad,i*this.m_unitToRad,m,s,o,0);const c=Math.cos(s.val),h=Math.cos(o.val+3.141592653589793),l=e*this.m_unitToRad,_=r.a7.phiToEta(this.m_e2,l),g=Math.sin(s.val)*Math.cos(_);let p=e;if(c*h<0){const t=c<0?-1:1,e=Math.acos(Math.abs(g))*t;p=r.a7.etaToPhi(this.m_e2,e)/this.m_unitToRad}let y=(0,u.p)((n-t)*this.m_unitToRad,2*Math.PI);Math.abs(y)>Math.PI&&(y=y>0?y-2*Math.PI:y+2*Math.PI),y/=this.m_unitToRad,n=t+y;const d=new a.Envelope2D;return d.xmin=Math.min(t,n),d.xmax=Math.max(t,n),d.ymin=Math.min(e,i),d.ymin=Math.min(d.ymin,p),d.ymax=Math.max(e,i),d.ymax=Math.max(d.ymax,p),d}minDistanceGeodesic(t,e){const n=d(t),i=d(e);if(n&&i)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const s=this.normalizeGeodesic_(e,t);return function(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}(t,s)?t.ymin>=s.ymax?this.minDistanceGeodesicUpDown_(t,s):s.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(s,t):t.xmin>s.xmax?this.minDistanceGeodesicLeftRight_(s,t):this.minDistanceGeodesicLeftRight_(t,s):0}normalizeGeodesic_(t,e){const n=t.clone(),i=t.clone();let s=x(n,e);if(0===s)return n;for(;i.xmax>e.xmin;){i.xmin-=this.m_u360,i.xmax-=this.m_u360;const t=x(i,e);if(t<s&&(n.assign(i),s=t,0===s))return n}for(i.assign(t);i.xmin<e.xmax;){i.xmin+=this.m_u360,i.xmax+=this.m_u360;const t=x(i,e);if(t<s&&(n.assign(i),s=t,0===s))return n}return n}lowerDistanceGeodetic_(t,e,n,i){const s=this.m_peR1;{const o=this.m_b*this.m_b/this.m_a,m=r.a7.phiToPhig(this.m_e2,this.m_unitToRad*e),a=r.a7.phiToPhig(this.m_e2,this.m_unitToRad*i);r.ah.geodeticDistance(o,0,this.m_unitToRad*t,m,this.m_unitToRad*n,a,s,null,null,0)}return s.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const n=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return n;const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(n,i)}{const n=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return n;const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(n,i)}}minDistanceGeodesicLeftRight_(t,e){let n=Math.abs(t.xmax-e.xmin);for(;n>this.m_u180;)n-=this.m_u360;let i=Math.abs(t.xmin-e.xmax);for(;i>this.m_u180;)i-=this.m_u360;return Math.abs(n)<=Math.abs(i)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let n,i;return n=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),n=Math.min(n,i)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),n=Math.min(n,i)),i=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),n=Math.min(n,i),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),n=Math.min(n,i)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),n=Math.min(n,i)),n}lowerDistanceGeodeticSegMeridional_(t,e,n,i,s,o){let r=this.lowerDistanceGeodeticPtMeridional_(t,e,i,s,o);const m=this.lowerDistanceGeodeticPtMeridional_(t,n,i,s,o);let a=this.lowerDistanceGeodeticPtMeridional_(i,s,t,e,n);const u=this.lowerDistanceGeodeticPtMeridional_(i,o,t,e,n);return r=Math.min(r,m),a=Math.min(a,u),Math.min(r,a)}lowerDistanceGeodeticPtMeridional_(t,e,n,i,s){const o=this.m_b*this.m_b/this.m_a,a=r.a7.phiToPhig(this.m_e2,this.m_unitToRad*e),c=r.a7.phiToPhig(this.m_e2,this.m_unitToRad*i),h=r.a7.phiToPhig(this.m_e2,this.m_unitToRad*s),l=this.m_peR1,_=this.m_peR2;r.ah.geodeticDistance(o,0,this.m_unitToRad*n,c,this.m_unitToRad*t,a,l,null,null,0),r.ah.geodeticDistance(o,0,this.m_unitToRad*n,h,this.m_unitToRad*t,a,_,null,null,0);const g=(0,r.ao)(1,0,new u.P(this.m_unitToRad*t,a)),p=(0,r.ao)(1,0,new u.P(this.m_unitToRad*n,c)),y=(0,r.ao)(1,0,new u.P(this.m_unitToRad*n,h));let d=new m.k;d.setCrossProductVector(p,y);const x=p.dotProduct(y);if(d.length()<1.568e-10)return x>=0?Math.min(l.val,_.val):0;d=d.getUnitVector();let P=new m.k;if(P.setCrossProductVector(d,g),P.length()<1.568e-10)return Math.min(l.val,_.val)-1e-5*o;P=P.getUnitVector();let D=g.sub(d.mul(g.dotProduct(d)));{const e=new m.k;e.setCrossProductVector(p,D);const n=new m.k;n.setCrossProductVector(D,y);let i=d.dotProduct(e)>0&&d.dotProduct(n)>0;if(i||(D.negateThis(),e.setCrossProductVector(p,D),n.setCrossProductVector(D,y),i=d.dotProduct(e)>0&&d.dotProduct(n)>0),i){D=D.getUnitVector();const e=(0,r.av)(1,0,D),n=this.m_peR3;r.ah.geodeticDistance(o,0,this.m_unitToRad*t,a,e.x,e.y,n,null,null,0);const i=Math.min(l.val,_.val);return Math.min(i,n.val)}}return Math.min(l.val,_.val)}}function d(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function x(t,e){let n,i=0;return n=t.xmin-e.xmax,n>i&&(i=n),n=e.xmin-t.xmax,n>i&&(i=n),i}class P{}function D(t){return{outPoint:void 0===t?new u.P:t.clone()}}function v(t,e){t.outPoint.assign(e.outPoint)}function G(){return new a.Envelope2D}class f{m_ptDistFrom=new u.P;m_segStartPt=new u.P;m_segEndPt=new u.P;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new r.ag;m_az12=new r.ag;m_minGeodeticDist=new r.ag;m_bIsPannablePcs;m_segStartPt3d=new m.k;m_segEndPt3d=new m.k;constructor(t,e,n,i,s=0,o=4){this.m_sr=i,this.m_distCurveType=s,this.m_segCurveType=o,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const m=(0,r.r)();this.m_inputGCS.querySpheroidData(m),this.m_a=m.majorSemiAxis,this.m_eSquared=m.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,n)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign((0,r.ao)(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign((0,r.ao)(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return t=>{let e;switch(this.m_segCurveType){case 0:case 1:case 3:{const n={stack:[],error:void 0,hasError:!1};try{const s=(0,i.mS)(n,new r.ag,!1),o=(0,i.mS)(n,new r.ag,!1);r.ah.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*t,this.m_az12.val,s,o,this.m_segCurveType),e=new u.P(s.val,o.val);break}catch(t){n.error=t,n.hasError=!0}finally{(0,i.hk)(n)}}case 2:{const n=m.k.lerp(this.m_segStartPt3d,this.m_segEndPt3d,t);e=(0,r.av)(this.m_a,this.m_eSquared,n);break}case 4:e=u.P.lerp(this.m_segStartPt,this.m_segEndPt,t),this.m_bIsPannablePcs&&((0,r.aq)(this.m_sr,0,[e],1),e.mulThis(this.m_rpu));break;default:(0,s.d)("Invalid curve type")}return r.ah.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,e.x,e.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:r.ah.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=u.P.distance(this.m_segStartPt,this.m_segEndPt);break;default:(0,s.d)("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function S(){return new P}class M{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=G();m_boxGeomB=G();m_envGeomA=new a.Envelope2D;m_envGeomB=new a.Envelope2D;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new c.T;m_scaleToDegrees=new c.T;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,n,i,s){this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=n,this.m_maxDistance=i,this.m_maxDeviation=s,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const o=(0,r.r)();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new y(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,n,i){const s=D(),o=D();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,s,o))return n&&v(n,s),i&&v(i,o),0;const r=this.prepareGeometry(t);if(r.isEmpty())return Number.NaN;const m=this.prepareGeometry(e);if(m.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(r,m);const a=this._ExecuteBruteForce(r,m,s,o);return a>=this.m_maxDistance?Number.NaN:(n&&(this.prepareOutput(s),v(n,s)),i&&(this.prepareOutput(o),v(i,o)),a)}createDistanceFunctor(t,e,n){const i=new f(t,e,n,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||i.setSegmentCurveType(2),i}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new r.O).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=(0,r.y)(this.m_inputSR,this.m_inputGCS,null);t=(new r.O).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,i){switch(t.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,i);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticPointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,i);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticPointPoint(t,e,n,s){const o={stack:[],error:void 0,hasError:!1};try{const m=t.getXY();m.scale(this.m_rpu);const a=e.getXY();a.scale(this.m_rpu),n.outPoint.assign(m),s.outPoint.assign(a);const u=(0,i.mS)(o,new r.ag,!1);return r.ah.geodeticDistance(this.m_a,this.m_eSquared,m.x,m.y,a.x,a.y,u,null,null,this.m_distCurveType),u.val}catch(t){o.error=t,o.hasError=!0}finally{(0,i.hk)(o)}}calculateDistanceGeodeticPointMultipoint(t,e,n,s){const o={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(t,e);const a=this.estimateMinimumDistance(n,s);let c=a<this.m_maxDistance?a:this.m_maxDistance;const h=t.getXY();h.scale(this.m_rpu),n.outPoint.assign(h);const l=(0,r.ao)(this.m_a,this.m_eSquared,h),_=new u.P,g=e.getImpl(),p=(0,i.mS)(o,new r.ag,!1),y=g.getPointCount();for(let t=0;t<y;++t){g.queryXY(t,_),_.scale(this.m_rpu);const e=(0,r.ao)(this.m_a,this.m_eSquared,_);if(!(m.k.distance(l,e)>c)&&!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>c)&&(r.ah.geodeticDistance(this.m_a,this.m_eSquared,h.x,h.y,_.x,_.y,p,null,null,this.m_distCurveType),p.val<c&&(c=p.val,s.outPoint=_,0===c)))return c}return c===this.m_maxDistance?Number.POSITIVE_INFINITY:c}catch(t){o.error=t,o.hasError=!0}finally{(0,i.hk)(o)}}calculateDistanceGeodeticPointMultipath(t,e,n,o){const m={stack:[],error:void 0,hasError:!1};try{const a=new u.P,c=new u.P;a.assign(t.getXY()),c.assign(t.getXY()),n.outPoint.assign(c.mul(this.m_rpu)),this.m_bIsPannablePcs&&(0,r.ap)(this.m_inputSR,[a],1,!1),this.computeEnvelopesAndBoxes(t,e);const h=this.estimateMinimumDistance(n,o);let l=h<this.m_maxDistance?h:this.m_maxDistance;const _=e.getImpl(),g=new u.P(0,0),p=new u.P(0,0),y=[1],d=this.canUseSpatialTree(t,e),x=S();d&&this.buildSpatialTree(x,e);const P=G();P.setCoords({xmin:c.x,ymin:c.y,xmax:c.x,ymax:c.y});const D=(0,i.mS)(m,this.createDistanceFunctor(c,g,p),!1),v=_.querySegmentIterator();if(v.stripAttributes(),d)(0,s.g)(0);else for(;v.nextPath();)for(;v.hasNextSegment();){const t=v.nextSegment(),e=this.findOrComputeBoxSegment(v.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(P,e)>l)continue;const n=this.calculateDistanceGeodeticPointSegment(a,c,t,y,D);if(n.second<l&&(this.updateOutputSegment(o,t,n.first),l=n.second,0===l))return 0}return l===this.m_maxDistance?Number.POSITIVE_INFINITY:l}catch(t){m.error=t,m.hasError=!0}finally{(0,i.hk)(m)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,i,n);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticMultipointMultipoint(t,e,n,s){const o={stack:[],error:void 0,hasError:!1};try{const a=(0,i.mS)(o,new r.ag,!1);this.computeEnvelopesAndBoxes(t,e);const c=this.estimateMinimumDistance(n,s);let h=c<this.m_maxDistance?c:this.m_maxDistance;const l=new u.P,_=new u.P,g=t.getImpl(),p=e.getImpl(),y=G(),d=g.getPointCount(),x=p.getPointCount();for(let t=0;t<d;++t){if(l.assign(g.getXY(t)),y.setCoords({xmin:l.x,ymin:l.y,xmax:l.x,ymax:l.y}),this.m_envHelper.minDistanceGeodesic(y,this.m_boxGeomB)>h)continue;l.scale(this.m_rpu);const e=(0,r.ao)(this.m_a,this.m_eSquared,l);for(let t=0;t<x;++t){_.assign(p.getXY(t)),_.scale(this.m_rpu);const i=(0,r.ao)(this.m_a,this.m_eSquared,_);if(!(m.k.distance(e,i)>=h)&&(r.ah.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,a,null,null,this.m_distCurveType),a.val<h&&(n.outPoint.assign(l),s.outPoint.assign(_),h=a.val,0===h)))return h}}return h===this.m_maxDistance?Number.POSITIVE_INFINITY:h}catch(t){o.error=t,o.hasError=!0}finally{(0,i.hk)(o)}}calculateDistanceGeodeticMultipointMultipath(t,e,n,o){const m={stack:[],error:void 0,hasError:!1};try{const a=e.getImpl().querySegmentIterator();a.stripAttributes(),this.computeEnvelopesAndBoxes(t,e);const c=this.estimateMinimumDistance(n,o);let h=c<this.m_maxDistance?c:this.m_maxDistance;const l=new u.P,_=new u.P(0,0),g=new u.P(0,0),p=new u.P(0,0),y=[0],d=G(),x=(0,i.mS)(m,this.createDistanceFunctor(_,g,p),!1),P=S(),D=this.canUseSpatialTree(t,e);D&&this.buildSpatialTree(P,e);const v=t.getPointCount();for(let e=0;e<v;++e)if(l.assign(t.getXY(e)),_.assign(t.getXY(e)),this.m_bIsPannablePcs&&(0,r.ap)(this.m_inputSR,[l],1,!1),d.setCoords({xmin:_.x,ymin:_.y,xmax:_.x,ymax:_.y}),!(this.m_envHelper.minDistanceGeodesic(d,this.m_boxGeomB)>h))if(x.setPointDistFrom(_),D)(0,s.g)(0);else{for(;a.nextPath();)for(;a.hasNextSegment();){const t=a.nextSegment();if(this.m_envHelper.minDistanceGeodesic(d,this.findOrComputeBoxSegment(a.getStartPointIndex(),t,this.m_segmentBoxesB))>h)continue;const e=this.calculateDistanceGeodeticPointSegment(l,_,t,y,x);if(e.second<h&&(n.outPoint.assign(_.mul(this.m_rpu)),this.updateOutputSegment(o,t,e.first),h=e.second,0===h))return 0}a.resetToFirstPath()}return h===this.m_maxDistance?Number.POSITIVE_INFINITY:h}catch(t){m.error=t,m.hasError=!0}finally{(0,i.hk)(m)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,i,n);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,i,n);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticMultipathMultipath(t,e,n,i){const s=[t],o=[e],r=this.swapGeometries(s,o),m=s[0],a=o[0];this.computeEnvelopesAndBoxes(s[0],o[0]);const c=this.estimateMinimumDistance(n,i),h=this.calculateDistanceGeodeticMultipathMultipath_(m,a,n,i,c);return r&&(i.outPoint=(0,u.c)(n.outPoint,n.outPoint=i.outPoint)),h}calculateDistanceGeodeticMultipathMultipath_(t,e,n,m,a=Number.MAX_VALUE){const c={stack:[],error:void 0,hasError:!1};try{let l=a;const _=new u.P(0,0),g=new u.P,p=new u.P(0,0),y=new u.P,d=new u.P(0,0),x=new u.P,P=new u.P,D=new u.P,v=[new u.P],f=[0],M=[0],E=G(),T=G(),b=(0,i.mS)(c,this.createDistanceFunctor(d,_,p),!1),I=S(),N=this.canUseSpatialTree(t,e);N&&this.buildSpatialTree(I,e);const w=e.querySegmentIterator();w.stripAttributes();const q=new o.S,C=(0,h.s)(t);for(let e=0;e<C.length;++e){const i=C[e];t.getSegmentBuffer(i,q,!0);const o=q.get();if(E.assign(this.findOrComputeBoxSegment(i,o,this.m_segmentBoxesA)),N)(0,s.g)(0);else{if(d.assign(o.getStartXY()),x.assign(o.getStartXY()),P.assign(o.getEndXY()),D.assign(o.getEndXY()),this.m_bIsPannablePcs&&((0,r.aq)(this.m_inputSR,0,[x],1),(0,r.aq)(this.m_inputSR,0,[D],1)),this.m_envHelper.minDistanceGeodesic(E,this.m_boxGeomB)>l)continue;for(;w.nextPath();){for(;w.hasNextSegment();){const t=w.nextSegment();if(_.assign(t.getStartXY()),g.assign(t.getStartXY()),p.assign(t.getEndXY()),y.assign(t.getEndXY()),o.intersect(t,v,f,M,this.m_tolerance))return this.updateOutputSegment(n,o,f[0]),this.updateOutputSegment(m,t,M[0]),0;if(this.m_bIsPannablePcs&&((0,r.aq)(this.m_inputSR,0,[g],1),(0,r.aq)(this.m_inputSR,0,[y],1)),T.assign(this.findOrComputeBoxPoint(w.getStartPointIndex(),g,y,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(E,T)>l)continue;b.setSegmentEndPoints(_,p),b.setPointDistFrom(x);let e=(0,r.ar)(b.makeFunctor(),0,1,1e-10);if(e.second<l&&(n.outPoint.assign(x.mul(this.m_rpu)),this.updateOutputSegment(m,t,e.first),l=e.second,0===l))break;if(b.setPointDistFrom(D),e=(0,r.ar)(b.makeFunctor(),0,1,1e-10),e.second<l&&(n.outPoint.assign(D.mul(this.m_rpu)),this.updateOutputSegment(m,t,e.first),l=e.second,0===l))break;if(b.setSegmentEndPoints(d,P),b.setPointDistFrom(g),e=(0,r.ar)(b.makeFunctor(),0,1,1e-10),e.second<l&&(this.updateOutputSegment(n,o,e.first),m.outPoint.assign(g.mul(this.m_rpu)),l=e.second,0===l))break;if(b.setPointDistFrom(y),e=(0,r.ar)(b.makeFunctor(),0,1,1e-10),e.second<l&&(this.updateOutputSegment(n,o,e.first),m.outPoint.assign(y.mul(this.m_rpu)),l=e.second,0===l))break}if(0===l)return 0}w.resetToFirstPath()}}return l===this.m_maxDistance?Number.POSITIVE_INFINITY:l}catch(t){c.error=t,c.hasError=!0}finally{(0,i.hk)(c)}}calculateDistanceGeodeticPointSegment(t,e,n,i,s){const o=n.getStartXY(),m=n.getEndXY();return n.intersectPoint(t,i,this.m_tolerance)?(0,u.o)(i[0],0):(s.setPointDistFrom(e),s.setSegmentEndPoints(o,m),(0,r.ar)(s.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const n=t.getGeometryType();if(n===s.G.enumPoint||n===s.G.enumMultiPoint)return this._NormalizeAndProject(e);if(n===s.G.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=(0,r.as)(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new g).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new r.O).execute(e,t,this.m_progressTracker)}const i=new a.Envelope2D;e.queryLooseEnvelope(i);const o=this.m_inputSR.getPannableExtent();if(i.ymin<o.ymin||i.ymax>o.ymax){const t=new a.Envelope2D(i.xmin-1,o.ymin,i.xmax+1,o.ymax);if(e=(new p.O).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return i.width()>2*o.width()?(e=(0,r.at)(e,-2*o.width(),2*o.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const n=new a.Envelope2D;t.queryEnvelope(n);const i=this.m_inputSR.getPannableExtent();if(i.containsEnvelope(n))return t;const s=new u.E;i.queryIntervalX(s);const o=new u.E;return n.queryIntervalX(o),s.contains(o)?(0,r.a9)(t,this.m_inputSR):(new r.O).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&(0,r.ap)(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,n){e.queryCoord2D(n,t.outPoint),this.m_bIsPannablePcs&&(0,r.aq)(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const n=new a.Envelope2D(this.m_envGeomA);return n.mergeEnvelope2D(this.m_envGeomB),(0,m.d)(null,n)}envelopeToPolygon(t){const e=new o.P;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,n){switch(t.getGeometryType()){case s.G.enumPoint:return this.computeBoxPoint(t,e);case s.G.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.G.enumPolyline:case s.G.enumPolygon:return this.computeBoxMultiPath(t,e,n);default:(0,s.d)("Invalid geometry type")}}computeBoxPoint(t,e){const n=t.getXY();e.length=0,e.push(n.mul(this.m_rpu));const i=G();return i.setCoords({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y}),i}computeBoxMultiPoint(t,e){let n=!0;for(let i=0;i<t.getPointCount();++i){const s=t.getXY(i);if(n){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());n=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let t=0;t<e.length;++t)e[t].mulThis(this.m_rpu);const i=G();return t.queryEnvelope(i),i}computeBoxMultiPath(t,e,n){let i=!0;const s=G();s.setEmpty();const o=t.querySegmentIterator();for(o.stripAttributes();o.nextPath();)for(;o.hasNextSegment();){const t=o.nextSegment(),m=t.getStartXY(),a=t.getEndXY();if(this.m_bIsPannablePcs&&((0,r.aq)(this.m_inputSR,0,[m],1),(0,r.aq)(this.m_inputSR,0,[a],1)),i){for(let t=0;t<4;++t)e.push(m.clone());i=!1}m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m),a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a);const u=this.findOrComputeBoxPoint(o.getStartPointIndex(),m,a,n);s.mergeEnvelope2D(u)}for(let t=0;t<e.length;++t)e[t].mulThis(this.m_rpu);return s}findOrComputeBoxSegment(t,e,n){if(!n.has(t)){let i=G();if(e.queryEnvelope(i),this.m_bIsPannablePcs){const t=u.P.construct(i.xmin,i.ymin),e=u.P.construct(i.xmax,i.ymax);(0,r.aq)(this.m_inputSR,0,[t],1),(0,r.aq)(this.m_inputSR,0,[e],1),i=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return n.set(t,i),i}return n.get(t)}findOrComputeBoxPoint(t,e,n,i){if(!i.has(t)){let s=G();return s.setCoords({xmin:e.x,ymin:e.y,xmax:n.x,ymax:n.y}),this.m_bIsPannablePcs&&(s=this.m_envHelper.calculateBbox(s.xmin,s.ymin,s.xmax,s.ymax)),i.set(t,s),s}return i.get(t)}estimateMinimumDistance(t,e){const n={stack:[],error:void 0,hasError:!1};try{const s=t=>(0,r.ao)(this.m_a,this.m_eSquared,t),o=this.m_boundaryPtsA.map(s),a=this.m_boundaryPtsB.map(s);let u=Number.MAX_VALUE,c=0,h=0;for(let t=0;t<o.length;++t)for(let e=0;e<a.length;++e){const n=m.k.distance(o[t],a[e]);n<u&&(u=n,c=t,h=e)}t.outPoint.assign(this.m_boundaryPtsA[c]),e.outPoint.assign(this.m_boundaryPtsB[h]);const l=(0,i.mS)(n,new r.ag,!1);return r.ah.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[c].x,this.m_boundaryPtsA[c].y,this.m_boundaryPtsB[h].x,this.m_boundaryPtsB[h].y,l,null,null,this.m_distCurveType),l.val}catch(t){n.error=t,n.hasError=!0}finally{(0,i.hk)(n)}}swapGeometries(t,e){return(0,s.v)(t[0])>(0,s.v)(e[0])&&(e[0]=(0,u.c)(t[0],t[0]=e[0]),this.m_envGeomB=(0,u.c)(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,n,i){let o=t.getGeometryType(),m=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(o===s.G.enumPoint&&2===e.getDimension()){const s=[0],o=[t.getXY()];if((0,r.au)(e,o,1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(o[0]),i.outPoint.assign(o[0]),!0}else if(m===s.G.enumPoint&&2===t.getDimension()){const s=[2],o=[e.getXY()];if((0,r.au)(t,o,1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(o[0]),i.outPoint.assign(o[0]),!0}if(o===s.G.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,n,i);if(m===s.G.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,i,n);let a,u,c=t,l=e;if(o===s.G.enumEnvelope&&(a=this.envelopeToPolygon(t),c=a,o=s.G.enumPolygon),m===s.G.enumEnvelope&&(u=this.envelopeToPolygon(e),l=u,m=s.G.enumPolygon),(0,s.j)(o)&&(0,s.j)(m)){const t=c.querySegmentIterator(),e=l.querySegmentIterator(),s=(0,h.m)(),o=(0,h.m)();if((0,h.w)(c,l,t,e,s,o))return n.outPoint.assign(s.outPoint),i.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,n,i){const s=t.getPointCount();for(let o=0;o<s;++o){const s=[2],m=t.getXY(o);if((0,r.au)(e,[m],1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(m),i.outPoint.assign(m),!0}return!1}getNearestNeighbourVisitor(t,e,n,i,o,r,m){return(0,s.g)(0),{}}buildSpatialTree(t,e){(0,s.g)(0)}}},61691(t,e,n){n.d(e,{G:()=>i});class i{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},31088(t,e,n){n.r(e),n.d(e,{OperatorGeodeticDensifyByLength:()=>m,OperatorGeodeticDensifyCursor:()=>a});var i=n(61691),s=n(55537),o=n(39117),r=n(76061);class m{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(t,e,n){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,n,i,s){return new a(t,n,i,e,-1,-1,s)}execute(t,e,n,i,o){const m=new r.S([t]),a=this.executeMany(m,e,n,i,o).next();return a||(0,s.d)("null output"),a}}class a extends i.G{m_inputGeoms;m_spatialReference;m_curveType;m_maxLengthMeters;m_maxDeviationMeters;m_maxAngle;m_progressTracker;m_index;constructor(t,e,n,i,o,r,m){super(),this.m_progressTracker=m,r>0&&(0,s.t)(""),4!==n&&o>0&&(0,s.t)(""),e||(0,s.a)(""),0===e.getCoordinateSystemType()&&(0,s.a)(""),i>0||o>0||(0,s.a)(""),this.m_index=-1,this.m_inputGeoms=t,this.m_spatialReference=e,this.m_curveType=n,this.m_maxLengthMeters=i,this.m_maxDeviationMeters=o,this.m_maxAngle=r}next(){{let t;for(;t=this.m_inputGeoms.next();)return(0,s.c)(t),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(t);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(t){return(0,o.a8)(t,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}},76061(t,e,n){n.d(e,{S:()=>s});var i=n(61691);class s extends i.G{m_aGeoms;m_iGeom=-1;constructor(t){super(),this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1088,2024],{30921(t,e,n){n.d(e,{D:()=>D,m:()=>c,s:()=>d,w:()=>y});var i=n(5482),s=n(55537),r=n(88885),o=n(39117),m=n(83661),a=n(79187),u=n(95213);function c(){return{outPoint:new m.P,index:-1,t:Number.NaN}}function h(t,e,n){return{outPoint:t.clone(),index:e,t:n}}function l(t,e,n,i){t.outPoint.assign(e),t.index=n,t.t=i}function _(t,e){t.outPoint.assign(e.outPoint),t.index=e.index,t.t=e.t}function p(t,e,n,i){t.index=n,t.t=i,e.queryCoord2D(t.t,t.outPoint)}function g(t,e){const n=c();_(n,t),_(t,e),_(e,n)}function y(t,e,n,i,r,m){if(t.getGeometryType()===s.G.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==(0,o.I)(t,e.getEndXY(),0))return l(r,e.getEndXY(),-1,Number.NaN),l(m,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}if(e.getGeometryType()===s.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const t=n.nextSegment();if(0!==(0,o.I)(e,t.getEndXY(),0))return l(r,t.getEndXY(),-1,Number.NaN),l(m,t.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function d(t){const e=t.getPathCount(),n=(0,m.d)(t.getSegmentCount(),0);let i=0;for(let s=0;s<e;++s){const e=i+t.getSegmentCountPath(s);for(let r=i,o=t.getPathStart(s);r<e;++r,++o)n[r]=o;i=e}return(0,r.s)(t.getPointCount(),n),n}function x(t,e){return!!Number.isNaN(e)||t<=e}function P(t){const e=new r.P;return e.addEnvelope(t,!1),e}class D{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(t,e){if(this.m_progressTracker=e,this.m_maxSqrDistance=t*t,this.m_maxDistance=t,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=t,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let t=Math.sqrt(this.m_maxSqrDistance);for(;t<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,t=Math.sqrt(this.m_maxSqrDistance)}}calculate(t,e,n,i){if((t.getGeometryType()!==u.P.type||e.getGeometryType()!==u.P.type)&&(this.m_env2DgeometryA=new a.Envelope2D,this.m_env2DgeometryB=new a.Envelope2D,t.queryEnvelope(this.m_env2DgeometryA),e.queryEnvelope(this.m_env2DgeometryB),!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const s=h(new m.P,(0,m.j)(),Number.NaN),r=h(new m.P,(0,m.j)(),Number.NaN),o=this._ExecuteBruteForce(t,e,s,r);return x(o,this.m_maxDistance)?(null!==n&&_(n,s),null!==i&&_(i,r),o):Number.POSITIVE_INFINITY}isNear(t,e){if(this.m_bIsNearCalc=!0,t.isEmpty()||e.isEmpty())return!1;if(t===e)return!0;let n=!0;if(t.getGeometryType()!==u.P.type&&t.getGeometryType()!==u.E.type||e.getGeometryType()!==u.P.type&&e.getGeometryType()!==u.E.type||(n=!1),n){if(this.m_env2DgeometryA=new a.Envelope2D,this.m_env2DgeometryB=new a.Envelope2D,t.queryEnvelope(this.m_env2DgeometryA),e.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 i=h(new m.P,(0,m.j)(),Number.NaN),s=h(new m.P,(0,m.j)(),Number.NaN);return this._ExecuteBruteForce(t,e,i,s)<=this.m_maxDistance}progress_(t=!1){}_ExecuteBruteForce(t,e,n,i){switch(t.getGeometryType()){case s.G.enumPoint:return this.distancePointGeometry(t,e,n,i);case s.G.enumMultiPoint:return this.distanceMultipointGeometry(t,e,n,i);case s.G.enumEnvelope:return this.distanceEnvelopeGeometry(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathGeometry(t,e,n,i);default:return Number.NaN}}distancePointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.distancePointPoint(t,e,n,i);case s.G.enumMultiPoint:return this.distancePointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.distancePointMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distancePointEnvelope(t,e,n,i);default:return Number.NaN}}distancePointPoint(t,e,n,i){const s=t.getXY(),r=e.getXY();return l(n,s,0,0),l(i,r,0,0),Math.sqrt(m.P.sqrDistance(s,r))}distancePointMultipoint(t,e,n,i){const s=t.getXY();let r=this.m_maxSqrDistance,o=r,a=!1;const u=e.getPointCount(),c=new m.P;for(let t=0;t<u;++t)if(e.queryXY(t,c),o=m.P.sqrDistance(s,c),this.m_bIsNearCalc){if(o<=r)return 0}else if(!(o>r)&&(!a&&o===r||o<r)&&(r=o,l(n,s,0,0),l(i,c,t,0),a=!0,0===r))return 0;return a?Math.sqrt(r):Number.POSITIVE_INFINITY}distancePointMultipath(t,e,n,i){const r=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),u=t.getXY();if(!r&&e.getGeometryType()===s.G.enumPolygon&&0!==(0,o.I)(e,u,0))return l(n,u,0,0),l(i,u,-1,Number.NaN),0;e.getImpl().getAccelerators();let c=this.m_maxSqrDistance,h=c,_=-1;const p=new a.Envelope2D,g=e.querySegmentIterator();let y=!1;for(;g.nextPath();)for(;g.hasNextSegment();){const t=g.nextSegment();t.queryEnvelope(p);const e=p.sqrDistance(u);if(e>c)continue;if(!this.m_bIsNearCalc&&y&&e===c)continue;_=t.getClosestCoordinate(u,!1);const s=t.getCoord2D(_);if(h=m.P.sqrDistance(u,s),this.m_bIsNearCalc){if(h<=c)return 0}else if(!(h>c)&&(!y||h<c)&&(c=h,l(n,u,0,0),l(i,s,g.getStartPointIndex(),_),y=!0,0===c))return 0}return y?Math.sqrt(c):Number.POSITIVE_INFINITY}distancePointEnvelope(t,e,n,i){const s=t.getXY();l(n,s,0,0),l(i,s,-1,Number.NaN);const r=e.asEnvelope2D();return r.contains(s)?0:Math.sqrt(r.sqrDistance(s,i.outPoint))}distanceMultipointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distancePointMultipoint(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumMultiPoint:return this.distanceMultipointMultipoint(t,e,n,i,1,1);case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipointMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distanceMultipointMultipath(t,P(e),n,i);default:return Number.NaN}}distanceMultipointMultipoint(t,e,n,s,r,o){const a={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===r&&1===o){const i=Math.trunc((0,m.s)(Math.sqrt(t.getPointCount())+1,1,(0,m.i)())),r=Math.trunc((0,m.s)(Math.sqrt(e.getPointCount())+1,1,(0,m.i)()));if((i>=4||r>=4)&&this.distanceMultipointMultipoint(t,e,n,s,i,r)<=this.m_maxSqrDistance)return 0}let u=this.m_maxSqrDistance;const c=[t],h=[e],_=this.swapGeometriesIfBGtA(c,h);_&&(this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),o=(0,m.c)(r,r=o),g(n,s)),(0,i.mS)(a,(0,m.h)(()=>{g(n,s),this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!_),!1);const p=c[0].getImpl(),y=h[0].getImpl(),d=p.getPointCount(),x=y.getPointCount(),P=x>1;let D=!1;const v=new m.P,G=new m.P;for(let t=0;t<d;t+=r){if(p.queryXY(t,v),P){const t=this.m_env2DgeometryB.sqrDistance(v);if(this.m_bIsNearCalc){if(t>u)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(v)<=u)return 0}else if(t>=u)continue}for(let e=0;e<x;e+=o){y.queryXY(e,G);const i=m.P.sqrDistance(v,G);if(this.m_bIsNearCalc){if(i<=u)return 0}else if(!(i>u||D&&i===u)&&(!D||i<u)&&(l(n,v,t,0),l(s,G,e,0),D=!0,u=i,0===u))return D?Math.sqrt(u):Number.POSITIVE_INFINITY}}return D?Math.sqrt(u):Number.POSITIVE_INFINITY}catch(t){a.error=t,a.hasError=!0}finally{(0,i.hk)(a)}}distanceMultipointMultipath(t,e,n,i){let r=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&e.getGeometryType()===s.G.enumPolygon;const u=e.querySegmentIterator();u.stripAttributes();const c=new a.Envelope2D,h=new m.P;let _=this.m_maxSqrDistance;const p=t.getImpl(),g=p.getPointCount(),y=g>1;let d=!1;for(;u.nextPath();)for(;u.hasNextSegment();){const t=u.nextSegment();if(t.queryLooseEnvelope(c),y){const t=c.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(t>_)continue}else if(t>_||d&&t===_)continue}for(let s=0;s<g;s++){if(p.queryXY(s,h),r&&0!==(0,o.I)(e,h,0))return l(n,h,-1,Number.NaN),l(i,h,s,0),0;{const t=c.sqrDistance(h);if(this.m_bIsNearCalc){if(t>_)continue}else if(t>_)continue}const m=t.getClosestCoordinate(h,!1),a=t.getCoord2D(m);h.subThis(a);const g=h.sqrLength();if(this.m_bIsNearCalc){if(g<=_)return 0}else if(!(g>_)&&(!d||g<_)&&(_=g,l(n,p.getXY(s),s,0),l(i,a,u.getStartPointIndex(),m),d=!0,0===_))return 0}r=!1}return d?Math.sqrt(_):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.distancePointEnvelope(e,t,i,n);case s.G.enumMultiPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distanceMultipointMultipath(e,P(t),i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathMultipath(P(t),e,n,i);case s.G.enumEnvelope:return this.distanceEnvelopeEnvelope(t,e,n,i);default:return Number.NaN}}distanceEnvelopeEnvelope(t,e,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const s=t.asEnvelope2D(),r=e.asEnvelope2D();return Math.sqrt(s.sqrDistanceEnvelope(r,n.outPoint,i.outPoint))}distanceMultipathGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distancePointMultipath(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumMultiPoint:{this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const s=this.distanceMultipointMultipath(e,t,i,n);return this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),s}case s.G.enumPolyline:case s.G.enumPolygon:return this.distanceMultipathMultipath(t,e,n,i);case s.G.enumEnvelope:return this.distanceMultipathMultipath(t,P(e),n,i);default:return Number.NaN}}distanceMultipathMultipath(t,e,n,s){const o={stack:[],error:void 0,hasError:!1};try{const u=[t],h=[e],l=this.swapGeometriesIfAGtB(u,h);l&&(this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),g(n,s)),(0,i.mS)(o,(0,m.h)(()=>{g(n,s),this.m_env2DgeometryB=(0,m.c)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!l),!1);const x=u[0],P=h[0],D=x.querySegmentIterator();D.stripAttributes();const v=P.querySegmentIterator();if(v.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const t=Math.trunc((0,m.s)(Math.sqrt(x.getPointCount())+1,1,(0,m.i)())),e=Math.trunc((0,m.s)(Math.sqrt(x.getPointCount())+1,1,(0,m.i)()));if(this.distanceMultipointMultipoint(x,P,n,s,t,e)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const t=c(),e=c();if(y(x,P,D,v,t,e))return _(n,t),_(s,e),0}const G=d(x),f=[],S=new r.S,M=new a.Envelope2D,E=new a.Envelope2D,T=new a.Envelope2D;let b=this.m_maxSqrDistance,I=!0,N=!1;for(let t=0,e=G.length;t<e;++t){x.querySegment(G[t],S,!0);const e=S.get();if(e.queryEnvelope(M),!(M.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>b)){if(this.m_bIsNearCalc&&M.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=b)return 0;for(;v.nextPath();){if(this.progress_(),I)P.queryPathEnvelope(v.getPathIndex(),T),f[v.getPathIndex()]=T.clone();else if(M.sqrDistanceEnvelope(f[v.getPathIndex()],null,null)>b)continue;for(;v.hasNextSegment();){const i=v.nextSegment();if(i.queryEnvelope(E),M.sqrDistanceEnvelope(E,null,null)<=b){const r=!M.isIntersecting(E),o=[0],m=[0];let a=e.distance(i,r,o,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<b||a===b&&G[t]<n.index){if(N=!0,p(n,e,G[t],o[0]),p(s,i,v.getStartPointIndex(),m[0]),0===a)return 0;b=a}}}}v.resetToFirstPath(),I=!1}}return N?Math.sqrt(b):Number.POSITIVE_INFINITY}catch(t){o.error=t,o.hasError=!0}finally{(0,i.hk)(o)}}swapGeometriesIfAGtB(t,e){return(0,s.v)(t[0])>(0,s.v)(e[0])&&(e[0]=(0,m.c)(t[0],t[0]=e[0]),!0)}swapGeometriesIfBGtA(t,e){return this.swapGeometriesIfAGtB(e,t)}}},22024(t,e,n){n.d(e,{G:()=>M,a:()=>f,m:()=>D});var i=n(5482),s=n(55537),r=n(88885),o=n(39117),m=n(95213),a=n(79187),u=n(83661),c=n(11878),h=n(30921),l=n(76061),_=n(31088);class p{getOperatorType(){return 10317}supportsCurves(){return!0}accelerateGeometry(t,e,n){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,n,i,s,r){return new _.OperatorGeodeticDensifyCursor(t,e,4,n,i,s,r)}execute(t,e,n,i,r,o){const m=new l.S([t]),a=this.executeMany(m,e,n,i,r,o).next();return a||(0,s.d)("null output"),a}}var g=n(31139);class y{m_a;m_e2;m_b;m_unitToDegree;m_unitToRad;m_u180;m_u360;m_peR1;m_peR2;m_peR3;[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,n){this.m_peR1=new o.ai,this.m_peR2=new o.ai,this.m_peR3=new o.ai,void 0!==t?this.reset(t,e,n):this.reset(1,0,1)}reset(t,e,n){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=n,this.m_unitToRad=.017453292519943295*n,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,n,i){const s=this.m_peR1,r=this.m_peR2,m=this.m_peR3;o.aj.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,n*this.m_unitToRad,i*this.m_unitToRad,m,s,r,0);const c=Math.cos(s.val),h=Math.cos(r.val+3.141592653589793),l=e*this.m_unitToRad,_=o.a9.phiToEta(this.m_e2,l),p=Math.sin(s.val)*Math.cos(_);let g=e;if(c*h<0){const t=c<0?-1:1,e=Math.acos(Math.abs(p))*t;g=o.a9.etaToPhi(this.m_e2,e)/this.m_unitToRad}let y=(0,u.p)((n-t)*this.m_unitToRad,2*Math.PI);Math.abs(y)>Math.PI&&(y=y>0?y-2*Math.PI:y+2*Math.PI),y/=this.m_unitToRad,n=t+y;const d=new a.Envelope2D;return d.xmin=Math.min(t,n),d.xmax=Math.max(t,n),d.ymin=Math.min(e,i),d.ymin=Math.min(d.ymin,g),d.ymax=Math.max(e,i),d.ymax=Math.max(d.ymax,g),d}minDistanceGeodesic(t,e){const n=d(t),i=d(e);if(n&&i)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const s=this.normalizeGeodesic_(e,t);return function(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}(t,s)?t.ymin>=s.ymax?this.minDistanceGeodesicUpDown_(t,s):s.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(s,t):t.xmin>s.xmax?this.minDistanceGeodesicLeftRight_(s,t):this.minDistanceGeodesicLeftRight_(t,s):0}normalizeGeodesic_(t,e){const n=t.clone(),i=t.clone();let s=x(n,e);if(0===s)return n;for(;i.xmax>e.xmin;){i.xmin-=this.m_u360,i.xmax-=this.m_u360;const t=x(i,e);if(t<s&&(n.assign(i),s=t,0===s))return n}for(i.assign(t);i.xmin<e.xmax;){i.xmin+=this.m_u360,i.xmax+=this.m_u360;const t=x(i,e);if(t<s&&(n.assign(i),s=t,0===s))return n}return n}lowerDistanceGeodetic_(t,e,n,i){const s=this.m_peR1;{const r=this.m_b*this.m_b/this.m_a,m=o.a9.phiToPhig(this.m_e2,this.m_unitToRad*e),a=o.a9.phiToPhig(this.m_e2,this.m_unitToRad*i);o.aj.geodeticDistance(r,0,this.m_unitToRad*t,m,this.m_unitToRad*n,a,s,null,null,0)}return s.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const n=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return n;const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(n,i)}{const n=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return n;const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(n,i)}}minDistanceGeodesicLeftRight_(t,e){let n=Math.abs(t.xmax-e.xmin);for(;n>this.m_u180;)n-=this.m_u360;let i=Math.abs(t.xmin-e.xmax);for(;i>this.m_u180;)i-=this.m_u360;return Math.abs(n)<=Math.abs(i)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let n,i;return n=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),n=Math.min(n,i)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),n=Math.min(n,i)),i=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),n=Math.min(n,i),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),n=Math.min(n,i)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(i=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),n=Math.min(n,i)),n}lowerDistanceGeodeticSegMeridional_(t,e,n,i,s,r){let o=this.lowerDistanceGeodeticPtMeridional_(t,e,i,s,r);const m=this.lowerDistanceGeodeticPtMeridional_(t,n,i,s,r);let a=this.lowerDistanceGeodeticPtMeridional_(i,s,t,e,n);const u=this.lowerDistanceGeodeticPtMeridional_(i,r,t,e,n);return o=Math.min(o,m),a=Math.min(a,u),Math.min(o,a)}lowerDistanceGeodeticPtMeridional_(t,e,n,i,s){const r=this.m_b*this.m_b/this.m_a,a=o.a9.phiToPhig(this.m_e2,this.m_unitToRad*e),c=o.a9.phiToPhig(this.m_e2,this.m_unitToRad*i),h=o.a9.phiToPhig(this.m_e2,this.m_unitToRad*s),l=this.m_peR1,_=this.m_peR2;o.aj.geodeticDistance(r,0,this.m_unitToRad*n,c,this.m_unitToRad*t,a,l,null,null,0),o.aj.geodeticDistance(r,0,this.m_unitToRad*n,h,this.m_unitToRad*t,a,_,null,null,0);const p=(0,o.aq)(1,0,new u.P(this.m_unitToRad*t,a)),g=(0,o.aq)(1,0,new u.P(this.m_unitToRad*n,c)),y=(0,o.aq)(1,0,new u.P(this.m_unitToRad*n,h));let d=new m.k;d.setCrossProductVector(g,y);const x=g.dotProduct(y);if(d.length()<1.568e-10)return x>=0?Math.min(l.val,_.val):0;d=d.getUnitVector();let P=new m.k;if(P.setCrossProductVector(d,p),P.length()<1.568e-10)return Math.min(l.val,_.val)-1e-5*r;P=P.getUnitVector();let D=p.sub(d.mul(p.dotProduct(d)));{const e=new m.k;e.setCrossProductVector(g,D);const n=new m.k;n.setCrossProductVector(D,y);let i=d.dotProduct(e)>0&&d.dotProduct(n)>0;if(i||(D.negateThis(),e.setCrossProductVector(g,D),n.setCrossProductVector(D,y),i=d.dotProduct(e)>0&&d.dotProduct(n)>0),i){D=D.getUnitVector();const e=(0,o.ax)(1,0,D),n=this.m_peR3;o.aj.geodeticDistance(r,0,this.m_unitToRad*t,a,e.x,e.y,n,null,null,0);const i=Math.min(l.val,_.val);return Math.min(i,n.val)}}return Math.min(l.val,_.val)}}function d(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function x(t,e){let n,i=0;return n=t.xmin-e.xmax,n>i&&(i=n),n=e.xmin-t.xmax,n>i&&(i=n),i}class P{}function D(t){return{outPoint:void 0===t?new u.P:t.clone()}}function v(t,e){t.outPoint.assign(e.outPoint)}function G(){return new a.Envelope2D}class f{m_ptDistFrom=new u.P;m_segStartPt=new u.P;m_segEndPt=new u.P;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new o.ai;m_az12=new o.ai;m_minGeodeticDist=new o.ai;m_bIsPannablePcs;m_segStartPt3d=new m.k;m_segEndPt3d=new m.k;constructor(t,e,n,i,s=0,r=4){this.m_sr=i,this.m_distCurveType=s,this.m_segCurveType=r,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const m=(0,o.r)();this.m_inputGCS.querySpheroidData(m),this.m_a=m.majorSemiAxis,this.m_eSquared=m.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,n)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign((0,o.aq)(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign((0,o.aq)(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return t=>{let e;switch(this.m_segCurveType){case 0:case 1:case 3:{const n={stack:[],error:void 0,hasError:!1};try{const s=(0,i.mS)(n,new o.ai,!1),r=(0,i.mS)(n,new o.ai,!1);o.aj.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*t,this.m_az12.val,s,r,this.m_segCurveType),e=new u.P(s.val,r.val);break}catch(t){n.error=t,n.hasError=!0}finally{(0,i.hk)(n)}}case 2:{const n=m.k.lerp(this.m_segStartPt3d,this.m_segEndPt3d,t);e=(0,o.ax)(this.m_a,this.m_eSquared,n);break}case 4:e=u.P.lerp(this.m_segStartPt,this.m_segEndPt,t),this.m_bIsPannablePcs&&((0,o.as)(this.m_sr,0,[e],1),e.mulThis(this.m_rpu));break;default:(0,s.d)("Invalid curve type")}return o.aj.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,e.x,e.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:o.aj.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=u.P.distance(this.m_segStartPt,this.m_segEndPt);break;default:(0,s.d)("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function S(){return new P}class M{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=G();m_boxGeomB=G();m_envGeomA=new a.Envelope2D;m_envGeomB=new a.Envelope2D;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new c.T;m_scaleToDegrees=new c.T;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,n,i,s){this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=n,this.m_maxDistance=i,this.m_maxDeviation=s,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const r=(0,o.r)();this.m_inputGCS.querySpheroidData(r),this.m_a=r.majorSemiAxis,this.m_eSquared=r.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new y(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,n,i){const s=D(),r=D();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,s,r))return n&&v(n,s),i&&v(i,r),0;const o=this.prepareGeometry(t);if(o.isEmpty())return Number.NaN;const m=this.prepareGeometry(e);if(m.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(o,m);const a=this._ExecuteBruteForce(o,m,s,r);return a>=this.m_maxDistance?Number.NaN:(n&&(this.prepareOutput(s),v(n,s)),i&&(this.prepareOutput(r),v(i,r)),a)}createDistanceFunctor(t,e,n){const i=new f(t,e,n,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||i.setSegmentCurveType(2),i}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new o.O).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=(0,o.B)(this.m_inputSR,this.m_inputGCS,null);t=(new o.O).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,i){switch(t.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,i);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticPointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,i);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticPointPoint(t,e,n,s){const r={stack:[],error:void 0,hasError:!1};try{const m=t.getXY();m.scale(this.m_rpu);const a=e.getXY();a.scale(this.m_rpu),n.outPoint.assign(m),s.outPoint.assign(a);const u=(0,i.mS)(r,new o.ai,!1);return o.aj.geodeticDistance(this.m_a,this.m_eSquared,m.x,m.y,a.x,a.y,u,null,null,this.m_distCurveType),u.val}catch(t){r.error=t,r.hasError=!0}finally{(0,i.hk)(r)}}calculateDistanceGeodeticPointMultipoint(t,e,n,s){const r={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(t,e);const a=this.estimateMinimumDistance(n,s);let c=a<this.m_maxDistance?a:this.m_maxDistance;const h=t.getXY();h.scale(this.m_rpu),n.outPoint.assign(h);const l=(0,o.aq)(this.m_a,this.m_eSquared,h),_=new u.P,p=e.getImpl(),g=(0,i.mS)(r,new o.ai,!1),y=p.getPointCount();for(let t=0;t<y;++t){p.queryXY(t,_),_.scale(this.m_rpu);const e=(0,o.aq)(this.m_a,this.m_eSquared,_);if(!(m.k.distance(l,e)>c)&&!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>c)&&(o.aj.geodeticDistance(this.m_a,this.m_eSquared,h.x,h.y,_.x,_.y,g,null,null,this.m_distCurveType),g.val<c&&(c=g.val,s.outPoint=_,0===c)))return c}return c===this.m_maxDistance?Number.POSITIVE_INFINITY:c}catch(t){r.error=t,r.hasError=!0}finally{(0,i.hk)(r)}}calculateDistanceGeodeticPointMultipath(t,e,n,r){const m={stack:[],error:void 0,hasError:!1};try{const a=new u.P,c=new u.P;a.assign(t.getXY()),c.assign(t.getXY()),n.outPoint.assign(c.mul(this.m_rpu)),this.m_bIsPannablePcs&&(0,o.ar)(this.m_inputSR,[a],1,!1),this.computeEnvelopesAndBoxes(t,e);const h=this.estimateMinimumDistance(n,r);let l=h<this.m_maxDistance?h:this.m_maxDistance;const _=e.getImpl(),p=new u.P(0,0),g=new u.P(0,0),y=[1],d=this.canUseSpatialTree(t,e),x=S();d&&this.buildSpatialTree(x,e);const P=G();P.setCoords({xmin:c.x,ymin:c.y,xmax:c.x,ymax:c.y});const D=(0,i.mS)(m,this.createDistanceFunctor(c,p,g),!1),v=_.querySegmentIterator();if(v.stripAttributes(),d)(0,s.g)(0);else for(;v.nextPath();)for(;v.hasNextSegment();){const t=v.nextSegment(),e=this.findOrComputeBoxSegment(v.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(P,e)>l)continue;const n=this.calculateDistanceGeodeticPointSegment(a,c,t,y,D);if(n.second<l&&(this.updateOutputSegment(r,t,n.first),l=n.second,0===l))return 0}return l===this.m_maxDistance?Number.POSITIVE_INFINITY:l}catch(t){m.error=t,m.hasError=!0}finally{(0,i.hk)(m)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,i,n);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,i);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticMultipointMultipoint(t,e,n,s){const r={stack:[],error:void 0,hasError:!1};try{const a=(0,i.mS)(r,new o.ai,!1);this.computeEnvelopesAndBoxes(t,e);const c=this.estimateMinimumDistance(n,s);let h=c<this.m_maxDistance?c:this.m_maxDistance;const l=new u.P,_=new u.P,p=t.getImpl(),g=e.getImpl(),y=G(),d=p.getPointCount(),x=g.getPointCount();for(let t=0;t<d;++t){if(l.assign(p.getXY(t)),y.setCoords({xmin:l.x,ymin:l.y,xmax:l.x,ymax:l.y}),this.m_envHelper.minDistanceGeodesic(y,this.m_boxGeomB)>h)continue;l.scale(this.m_rpu);const e=(0,o.aq)(this.m_a,this.m_eSquared,l);for(let t=0;t<x;++t){_.assign(g.getXY(t)),_.scale(this.m_rpu);const i=(0,o.aq)(this.m_a,this.m_eSquared,_);if(!(m.k.distance(e,i)>=h)&&(o.aj.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,a,null,null,this.m_distCurveType),a.val<h&&(n.outPoint.assign(l),s.outPoint.assign(_),h=a.val,0===h)))return h}}return h===this.m_maxDistance?Number.POSITIVE_INFINITY:h}catch(t){r.error=t,r.hasError=!0}finally{(0,i.hk)(r)}}calculateDistanceGeodeticMultipointMultipath(t,e,n,r){const m={stack:[],error:void 0,hasError:!1};try{const a=e.getImpl().querySegmentIterator();a.stripAttributes(),this.computeEnvelopesAndBoxes(t,e);const c=this.estimateMinimumDistance(n,r);let h=c<this.m_maxDistance?c:this.m_maxDistance;const l=new u.P,_=new u.P(0,0),p=new u.P(0,0),g=new u.P(0,0),y=[0],d=G(),x=(0,i.mS)(m,this.createDistanceFunctor(_,p,g),!1),P=S(),D=this.canUseSpatialTree(t,e);D&&this.buildSpatialTree(P,e);const v=t.getPointCount();for(let e=0;e<v;++e)if(l.assign(t.getXY(e)),_.assign(t.getXY(e)),this.m_bIsPannablePcs&&(0,o.ar)(this.m_inputSR,[l],1,!1),d.setCoords({xmin:_.x,ymin:_.y,xmax:_.x,ymax:_.y}),!(this.m_envHelper.minDistanceGeodesic(d,this.m_boxGeomB)>h))if(x.setPointDistFrom(_),D)(0,s.g)(0);else{for(;a.nextPath();)for(;a.hasNextSegment();){const t=a.nextSegment();if(this.m_envHelper.minDistanceGeodesic(d,this.findOrComputeBoxSegment(a.getStartPointIndex(),t,this.m_segmentBoxesB))>h)continue;const e=this.calculateDistanceGeodeticPointSegment(l,_,t,y,x);if(e.second<h&&(n.outPoint.assign(_.mul(this.m_rpu)),this.updateOutputSegment(r,t,e.first),h=e.second,0===h))return 0}a.resetToFirstPath()}return h===this.m_maxDistance?Number.POSITIVE_INFINITY:h}catch(t){m.error=t,m.hasError=!0}finally{(0,i.hk)(m)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,i){switch(e.getGeometryType()){case s.G.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,i,n);case s.G.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,i,n);case s.G.enumPolyline:case s.G.enumPolygon:case s.G.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,i);default:(0,s.a)("")}}calculateDistanceGeodeticMultipathMultipath(t,e,n,i){const s=[t],r=[e],o=this.swapGeometries(s,r),m=s[0],a=r[0];this.computeEnvelopesAndBoxes(s[0],r[0]);const c=this.estimateMinimumDistance(n,i),h=this.calculateDistanceGeodeticMultipathMultipath_(m,a,n,i,c);return o&&(i.outPoint=(0,u.c)(n.outPoint,n.outPoint=i.outPoint)),h}calculateDistanceGeodeticMultipathMultipath_(t,e,n,m,a=Number.MAX_VALUE){const c={stack:[],error:void 0,hasError:!1};try{let l=a;const _=new u.P(0,0),p=new u.P,g=new u.P(0,0),y=new u.P,d=new u.P(0,0),x=new u.P,P=new u.P,D=new u.P,v=[new u.P],f=[0],M=[0],E=G(),T=G(),b=(0,i.mS)(c,this.createDistanceFunctor(d,_,g),!1),I=S(),N=this.canUseSpatialTree(t,e);N&&this.buildSpatialTree(I,e);const w=e.querySegmentIterator();w.stripAttributes();const q=new r.S,C=(0,h.s)(t);for(let e=0;e<C.length;++e){const i=C[e];t.getSegmentBuffer(i,q,!0);const r=q.get();if(E.assign(this.findOrComputeBoxSegment(i,r,this.m_segmentBoxesA)),N)(0,s.g)(0);else{if(d.assign(r.getStartXY()),x.assign(r.getStartXY()),P.assign(r.getEndXY()),D.assign(r.getEndXY()),this.m_bIsPannablePcs&&((0,o.as)(this.m_inputSR,0,[x],1),(0,o.as)(this.m_inputSR,0,[D],1)),this.m_envHelper.minDistanceGeodesic(E,this.m_boxGeomB)>l)continue;for(;w.nextPath();){for(;w.hasNextSegment();){const t=w.nextSegment();if(_.assign(t.getStartXY()),p.assign(t.getStartXY()),g.assign(t.getEndXY()),y.assign(t.getEndXY()),r.intersect(t,v,f,M,this.m_tolerance))return this.updateOutputSegment(n,r,f[0]),this.updateOutputSegment(m,t,M[0]),0;if(this.m_bIsPannablePcs&&((0,o.as)(this.m_inputSR,0,[p],1),(0,o.as)(this.m_inputSR,0,[y],1)),T.assign(this.findOrComputeBoxPoint(w.getStartPointIndex(),p,y,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(E,T)>l)continue;b.setSegmentEndPoints(_,g),b.setPointDistFrom(x);let e=(0,o.at)(b.makeFunctor(),0,1,1e-10);if(e.second<l&&(n.outPoint.assign(x.mul(this.m_rpu)),this.updateOutputSegment(m,t,e.first),l=e.second,0===l))break;if(b.setPointDistFrom(D),e=(0,o.at)(b.makeFunctor(),0,1,1e-10),e.second<l&&(n.outPoint.assign(D.mul(this.m_rpu)),this.updateOutputSegment(m,t,e.first),l=e.second,0===l))break;if(b.setSegmentEndPoints(d,P),b.setPointDistFrom(p),e=(0,o.at)(b.makeFunctor(),0,1,1e-10),e.second<l&&(this.updateOutputSegment(n,r,e.first),m.outPoint.assign(p.mul(this.m_rpu)),l=e.second,0===l))break;if(b.setPointDistFrom(y),e=(0,o.at)(b.makeFunctor(),0,1,1e-10),e.second<l&&(this.updateOutputSegment(n,r,e.first),m.outPoint.assign(y.mul(this.m_rpu)),l=e.second,0===l))break}if(0===l)return 0}w.resetToFirstPath()}}return l===this.m_maxDistance?Number.POSITIVE_INFINITY:l}catch(t){c.error=t,c.hasError=!0}finally{(0,i.hk)(c)}}calculateDistanceGeodeticPointSegment(t,e,n,i,s){const r=n.getStartXY(),m=n.getEndXY();return n.intersectPoint(t,i,this.m_tolerance)?(0,u.o)(i[0],0):(s.setPointDistFrom(e),s.setSegmentEndPoints(r,m),(0,o.at)(s.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const n=t.getGeometryType();if(n===s.G.enumPoint||n===s.G.enumMultiPoint)return this._NormalizeAndProject(e);if(n===s.G.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=(0,o.au)(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new p).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new o.O).execute(e,t,this.m_progressTracker)}const i=new a.Envelope2D;e.queryLooseEnvelope(i);const r=this.m_inputSR.getPannableExtent();if(i.ymin<r.ymin||i.ymax>r.ymax){const t=new a.Envelope2D(i.xmin-1,r.ymin,i.xmax+1,r.ymax);if(e=(new g.O).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return i.width()>2*r.width()?(e=(0,o.av)(e,-2*r.width(),2*r.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const n=new a.Envelope2D;t.queryEnvelope(n);const i=this.m_inputSR.getPannableExtent();if(i.containsEnvelope(n))return t;const s=new u.E;i.queryIntervalX(s);const r=new u.E;return n.queryIntervalX(r),s.contains(r)?(0,o.ab)(t,this.m_inputSR):(new o.O).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&(0,o.ar)(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,n){e.queryCoord2D(n,t.outPoint),this.m_bIsPannablePcs&&(0,o.as)(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const n=new a.Envelope2D(this.m_envGeomA);return n.mergeEnvelope2D(this.m_envGeomB),(0,m.d)(null,n)}envelopeToPolygon(t){const e=new r.P;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,n){switch(t.getGeometryType()){case s.G.enumPoint:return this.computeBoxPoint(t,e);case s.G.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.G.enumPolyline:case s.G.enumPolygon:return this.computeBoxMultiPath(t,e,n);default:(0,s.d)("Invalid geometry type")}}computeBoxPoint(t,e){const n=t.getXY();e.length=0,e.push(n.mul(this.m_rpu));const i=G();return i.setCoords({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y}),i}computeBoxMultiPoint(t,e){let n=!0;for(let i=0;i<t.getPointCount();++i){const s=t.getXY(i);if(n){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());n=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let t=0;t<e.length;++t)e[t].mulThis(this.m_rpu);const i=G();return t.queryEnvelope(i),i}computeBoxMultiPath(t,e,n){let i=!0;const s=G();s.setEmpty();const r=t.querySegmentIterator();for(r.stripAttributes();r.nextPath();)for(;r.hasNextSegment();){const t=r.nextSegment(),m=t.getStartXY(),a=t.getEndXY();if(this.m_bIsPannablePcs&&((0,o.as)(this.m_inputSR,0,[m],1),(0,o.as)(this.m_inputSR,0,[a],1)),i){for(let t=0;t<4;++t)e.push(m.clone());i=!1}m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m),a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a);const u=this.findOrComputeBoxPoint(r.getStartPointIndex(),m,a,n);s.mergeEnvelope2D(u)}for(let t=0;t<e.length;++t)e[t].mulThis(this.m_rpu);return s}findOrComputeBoxSegment(t,e,n){if(!n.has(t)){let i=G();if(e.queryEnvelope(i),this.m_bIsPannablePcs){const t=u.P.construct(i.xmin,i.ymin),e=u.P.construct(i.xmax,i.ymax);(0,o.as)(this.m_inputSR,0,[t],1),(0,o.as)(this.m_inputSR,0,[e],1),i=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return n.set(t,i),i}return n.get(t)}findOrComputeBoxPoint(t,e,n,i){if(!i.has(t)){let s=G();return s.setCoords({xmin:e.x,ymin:e.y,xmax:n.x,ymax:n.y}),this.m_bIsPannablePcs&&(s=this.m_envHelper.calculateBbox(s.xmin,s.ymin,s.xmax,s.ymax)),i.set(t,s),s}return i.get(t)}estimateMinimumDistance(t,e){const n={stack:[],error:void 0,hasError:!1};try{const s=t=>(0,o.aq)(this.m_a,this.m_eSquared,t),r=this.m_boundaryPtsA.map(s),a=this.m_boundaryPtsB.map(s);let u=Number.MAX_VALUE,c=0,h=0;for(let t=0;t<r.length;++t)for(let e=0;e<a.length;++e){const n=m.k.distance(r[t],a[e]);n<u&&(u=n,c=t,h=e)}t.outPoint.assign(this.m_boundaryPtsA[c]),e.outPoint.assign(this.m_boundaryPtsB[h]);const l=(0,i.mS)(n,new o.ai,!1);return o.aj.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[c].x,this.m_boundaryPtsA[c].y,this.m_boundaryPtsB[h].x,this.m_boundaryPtsB[h].y,l,null,null,this.m_distCurveType),l.val}catch(t){n.error=t,n.hasError=!0}finally{(0,i.hk)(n)}}swapGeometries(t,e){return(0,s.v)(t[0])>(0,s.v)(e[0])&&(e[0]=(0,u.c)(t[0],t[0]=e[0]),this.m_envGeomB=(0,u.c)(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,n,i){let r=t.getGeometryType(),m=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(r===s.G.enumPoint&&2===e.getDimension()){const s=[0],r=[t.getXY()];if((0,o.aw)(e,r,1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(r[0]),i.outPoint.assign(r[0]),!0}else if(m===s.G.enumPoint&&2===t.getDimension()){const s=[2],r=[e.getXY()];if((0,o.aw)(t,r,1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(r[0]),i.outPoint.assign(r[0]),!0}if(r===s.G.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,n,i);if(m===s.G.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,i,n);let a,u,c=t,l=e;if(r===s.G.enumEnvelope&&(a=this.envelopeToPolygon(t),c=a,r=s.G.enumPolygon),m===s.G.enumEnvelope&&(u=this.envelopeToPolygon(e),l=u,m=s.G.enumPolygon),(0,s.j)(r)&&(0,s.j)(m)){const t=c.querySegmentIterator(),e=l.querySegmentIterator(),s=(0,h.m)(),r=(0,h.m)();if((0,h.w)(c,l,t,e,s,r))return n.outPoint.assign(s.outPoint),i.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,n,i){const s=t.getPointCount();for(let r=0;r<s;++r){const s=[2],m=t.getXY(r);if((0,o.aw)(e,[m],1,this.m_tolerance,s),0!==s[0])return n.outPoint.assign(m),i.outPoint.assign(m),!0}return!1}getNearestNeighbourVisitor(t,e,n,i,r,o,m){return(0,s.g)(0),{}}buildSpatialTree(t,e){(0,s.g)(0)}}},61691(t,e,n){n.d(e,{G:()=>i});class i{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},31088(t,e,n){n.r(e),n.d(e,{OperatorGeodeticDensifyByLength:()=>m,OperatorGeodeticDensifyCursor:()=>a});var i=n(61691),s=n(55537),r=n(39117),o=n(76061);class m{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(t,e,n){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,n,i,s){return new a(t,n,i,e,-1,-1,s)}execute(t,e,n,i,r){const m=new o.S([t]),a=this.executeMany(m,e,n,i,r).next();return a||(0,s.d)("null output"),a}}class a extends i.G{m_inputGeoms;m_spatialReference;m_curveType;m_maxLengthMeters;m_maxDeviationMeters;m_maxAngle;m_progressTracker;m_index;constructor(t,e,n,i,r,o,m){super(),this.m_progressTracker=m,o>0&&(0,s.t)(""),4!==n&&r>0&&(0,s.t)(""),e||(0,s.a)(""),0===e.getCoordinateSystemType()&&(0,s.a)(""),i>0||r>0||(0,s.a)(""),this.m_index=-1,this.m_inputGeoms=t,this.m_spatialReference=e,this.m_curveType=n,this.m_maxLengthMeters=i,this.m_maxDeviationMeters=r,this.m_maxAngle=o}next(){{let t;for(;t=this.m_inputGeoms.next();)return(0,s.c)(t),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(t);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(t){return(0,r.aa)(t,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}},76061(t,e,n){n.d(e,{S:()=>s});var i=n(61691);class s extends i.G{m_aGeoms;m_iGeom=-1;constructor(t){super(),this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2387],{69052(e,t,n){n.d(t,{hr:()=>o});var r=n(34727);class o{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return s(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+i(this.range,e-t,n)}minimalMonotonic(e,t,n){return s(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(r)?n:r}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function s(e,t,n,r,o=0,s=!1){return(r-=o)<t?r+=i(e,t-r):r>n&&(r-=i(e,r-n)),s&&r===n&&(r=t),r+o}function i(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const a=new o(0,2*Math.PI),l=(new o(-Math.PI,Math.PI),new o(0,360));n.d(t,["ie",0,l,"uC",0,a])},93146(e,t,n){n.d(t,{z:()=>o});class r{constructor(e){this._import=e,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async e=>(this.module=e,e))),this._promise}}function o(e){return new r(async()=>{const t=await e();return!1===t.isLoaded?.()&&await t.load(),t})}},52039(e,t,n){n.d(t,{O7:()=>f,el:()=>l});var r=n(69052),o=(n(49186),n(17676)),s=(n(5443),n(39829),n(82799),n(16930)),i=n(93146),a=(n(80754),n(21325));async function l(e,t,n){Array.isArray(e)||(e=[e]),null!=t&&"object"==typeof t&&"authMode"in t&&(n=t);let r=null;for(const t of e)r??=t?.spatialReference;if(!r)return e;const s=(0,a.Vp)(r);if(!s)return e;const[i,l]=s.valid;let f=!1;for(const t of e){if(!t)continue;if("point"===t.type){f||=t.x>=l,f||=t.x<=i;continue}const{extent:e}=t;if(null==e){f=!0;break}f||=e.xmin>=l,f||=e.xmin<=i,f||=e.xmax>=l,f||=e.xmax<=i}if(!f)return e;const[{foldInto360Range:p},m]=await(0,o.qr)(Promise.all([u.getImportPromise(),c.getImportPromise()]),n),y=m.fromSpatialReference(r);return e.map(e=>{if(null==e||"mesh"===e.type)return e;const t=m.fromGeometry(e),n=m.toGeometry(p(t,y),r);return"extent"===e.type&&1===n?.rings.length?n.extent:n})}const u=(0,i.z)(()=>n.e(4144).then(n.bind(n,4144))),c=(0,i.z)(()=>Promise.all([n.e(9187),n.e(8885),n.e(9117),n.e(3299),n.e(1550)]).then(n.bind(n,78125)));function f(e,t,n){const r=(0,a.Vp)(n);if(null==r)return e;const[o,s]=r.valid,i=2*s;let l=0,u=0;t>s?l=Math.ceil(Math.abs(t-s)/i):t<o&&(l=-Math.ceil(Math.abs(t-o)/i)),e>s?u=Math.ceil(Math.abs(e-s)/i):e<o&&(u=-Math.ceil(Math.abs(e-o)/i));let c=e+(l-u)*i;const f=c-t;return f>s?c-=i:f<o&&(c+=i),c}function p(e){const t=(0,a.Vp)(e);if(null==t)return null;const[n,o]=t.valid;return new r.hr(n,o)}const m=p(s.A.WGS84);p(s.A.WebMercator),n.d(t,["Y_",0,m])},80754(e,t,n){n.d(t,{kS:()=>u,kd:()=>l});var r=n(82799),o=n(16930),s=n(60408),i=n(52006);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:o.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:o.A.WGS84})}};function l(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){if((0,i.Ed)(e))for(const n of function(e){return(0,s.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of n){if((0,i.aO)(e)){const[n,r]=e.c;n[0]+=t,r[0]+=t;continue}if((0,i.FG)(e)){const[n,r]=e.a;n[0]+=t,r[0]+=t;continue}if((0,i.n1)(e)){const[n,r,o]=e.b;n[0]+=t,r[0]+=t,o[0]+=t;continue}e[0]+=t}for(const n of function(e){return(0,s.Bi)(e)?e.rings:e.paths}(e))for(const e of n)e[0]+=t;return e}n.d(t,["j7",0,a])},41653(e,t,n){n.r(t),n.d(t,{queryModel:()=>g,queryModels:()=>d});var r=n(11254),o=n(4576),s=n(49186),i=n(91869),a=n(84952),l=n(5482),u=n(69622),c=n(91429);let f=class extends u.A{constructor(e){super(e),this.name="",this.size=0}arrayBuffer(e){return this.loadArrayBuffer(e)}};(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"flags",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"loadArrayBuffer",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"name",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"size",void 0),f=(0,l.Cg)([(0,c.$K)("esri.layers.scene.ModelFileInfo")],f);let p=class extends u.A{constructor(e){super(e),this.files=[],this.format="",this.isSource=!1,this.name="",this.size=0}};(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"files",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"format",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"isSource",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"name",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"size",void 0),p=(0,l.Cg)([(0,c.$K)("esri.layers.scene.ModelInfo")],p);var m=n(20557),y=n(99199),h=n(97552);async function d(e,t,n,r){const l=e.infoFor3D;if(!l)throw new s.A("scenelayer:query-models-not-available","Model queries are not available without 3D object metadata",{layer:e});const{objectIdField:u,globalIdField:c}=t;if(!u||!c)throw new s.A("scenelayer:query-models-not-available","Missing required fields for model queries",{layer:e});const f=function(e,t,n,r){const o=function(e,t){const n=h.A.from(t)?.clone()??e.createQuery();return n.outFields=null,n.formatOf3DObjects=null,n.returnGeometry=!1,n}(e,t);return o.outFields=[n,r],o.returnGeometry=!1,o}(e,n,u,c),p=await t.queryFeatures(f,r);return await async function(e){const{infoFor3D:t,associatedLayer:n,options:r}=e,s=n.globalIdField,l=n.parsedUrl;if(!s||!l)return new Map;const u=await async function(e){const{options:t,infoFor3D:n,featureInfos:r}=e,s=[...r.keys()];if(t?.requestedFormat){const e=(0,m.fE)(t.requestedFormat,n.supportedFormats);return e?[{formatId:e,objectIds:s}]:[]}const l=(0,o.Am)([...n.queryFormats,...n.editFormats]);return await async function({options:e,infoFor3D:t,featureInfos:n,requestQuery:r,associatedLayer:s},l){const u=t.assetMapFieldRoles.parentGlobalId,c=t.assetMapFieldRoles.assetType,f=t.assetMapFieldRoles.flags,p=new Map;for(const[e,{globalId:t}]of n)t&&p.set(e,t);const d=(0,o.Am)(p.values()),g=(0,m.JZ)(t);if(!g||!d.length)return[];const w=(0,a.fj)(s.parsedUrl?.path??"",`../${g.id}`),M=!!e?.sourceOnly,b=new h.A({where:`${u} IN (${d.map(x).join(",")})`,outFields:M?[u,c,f]:[u,c],returnDistinctValues:!0,returnGeometry:!1}),{features:F}=await(0,y.s)(w,b,{query:r,signal:e?.signal}),A=new Set(l),v=new Map;for(const e of F){const t=e.getAttribute(u),n=e.getAttribute(c),r=e.getAttribute(f)??0;n&&A.has(n)&&t&&!(1&r)&&(0,i.tE)(v,t,()=>new Set).add(n)}const q=new Map;for(const[e,t]of p)for(const n of v.get(t)??[])(0,i.tE)(q,n,()=>[]).push(e);return l.map(e=>({formatId:e,objectIds:q.get(e)??[]})).filter(({objectIds:e})=>e.length>0)}(e,l)}(e),c=new Map,f=await Promise.all(u.map(async({formatId:o,objectIds:i})=>{const a=(0,m.be)(o,t.supportedFormats),l=n.parsedUrl;if(null==a||!l||!i.length)return null;const u=(0,m._h)(o,t.supportedFormats),c=(0,m.qv)(u),f=n.createQuery();return f.objectIds=i,f.outFields=[s],f.formatOf3DObjects=o,f.returnGeometry=!0,{modelFormat:a,modelFileExtensions:c,featureSetJSON:await(0,y.e)(l.path,f,{query:e.requestQuery,signal:r?.signal},{uniqueIdFields:n.uniqueIdFields})}}));for(const t of f)t&&w(e,t.modelFormat,t.modelFileExtensions,t.featureSetJSON,c);return c}(new A(e,t,function(e){const t=new Map;for(const n of e.features){const e=n.getObjectId(),r=n.getGlobalId();null!=e&&null!=r&&t.set(e,{globalId:r})}return t}(p),l,r))}async function g(e,t,n,r){const o=r?.format;return((await d(e,t,{objectIds:[n]},{...r,requestedFormat:o,sourceOnly:null==o})).get(n)??[]).find(e=>o&&e.format===o||!o&&e.isSource)}function w({featureInfos:e,requestQuery:t,infoFor3D:n},r,o,s,a){const l=new Map;for(const e of s.assetMaps??[])(0,i.tE)(l,e.parentGlobalId,()=>[]).push(e);for(const[s,u]of e){const e=l.get(u.globalId);if(!e?.length)continue;const c=M(e,t,n);if(!c.length)continue;const f=c.reduce((e,t)=>e+t.size,0),m=F(c,o),y=!m.flags.includes("DERIVED");(0,i.tE)(a,s,()=>[]).push(new p({name:m.name,size:f,format:r,isSource:y,files:c}))}}function M(e,t,n){const r=new Map,o=({assetType:e})=>null!=(0,m.be)(e,n.supportedFormats),s=e.some(e=>o(e)&&!e.flags.includes("DERIVED"));for(const t of e)s&&o(t)&&t.flags.includes("DERIVED")||(0,i.tE)(r,t.assetName,()=>[]).push(t);const a=[];for(const[e,n]of r){n.sort((e,t)=>e.seqNo-t.seqNo);const r=n.reduce((e,t)=>e+t.size,0),o=n.map(({assetURL:e})=>e).filter(e=>!!e);o.length&&a.push(new f({name:e,size:r,flags:n[0].flags,loadArrayBuffer:e=>b(o,t,e)}))}return a}async function b(e,t,n){const o=await Promise.all(e.map(e=>(0,r.A)(e,{responseType:"array-buffer",query:t,signal:n?.signal}).then(({data:e})=>e)));return 1===o.length?o[0]:function(e){const t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t);let r=0;for(const t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}(o)}function F(e,t){return e.find(({name:e})=>t.some(t=>e.toLowerCase().endsWith(`.${t}`)))??e[0]}function x(e){return`'${e.replaceAll("'","''")}'`}class A{constructor(e,t,n,r,o){this.layer=e,this.associatedLayer=t,this.featureInfos=n,this.infoFor3D=r,this.options=o,this.requestQuery={...t.parsedUrl?.query,...e.customParameters,...e.apiKey?{token:e.apiKey}:{}}}}},99199(e,t,n){n.d(t,{e:()=>l,s:()=>a});var r=n(2272),o=n(80893),s=n(22671),i=n(97552);async function a(e,t,n,r){const o=await l(e,t,n,r);return s.A.fromJSON(o)}function l(e,t,n,s){const a=(0,r.Dl)(e),l={...n},u=i.A.from(t);return(0,o.eW)(a,u,u.sourceSpatialReference,l,s)}},22671(e,t,n){n.d(t,{A:()=>w});var r,o=n(5482),s=n(52106),i=n(66552),a=n(25482),l=n(4718),u=n(91429),c=n(16930),f=n(60408),p=n(65864),m=n(50498),y=n(20437),h=n(36005),d=n(43937);const g=new i.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let w=r=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,n,r){if(e)return void g.write(e,t,n,r);const{features:o}=this;if(o)for(const e of o)if(null!=e?.geometry)return void g.write(e.geometry.type,t,n,r)}readQueryGeometry(e,t){if(!e)return null;const n=!!e.spatialReference,r=(0,p.rS)(e);return r&&!n&&t.spatialReference&&(r.spatialReference=c.A.fromJSON(t.spatialReference)),r}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:n}=this;if(n)for(const e of n)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new r(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let n=0;n<t.features.length;n++){const r=t.features[n];if(r.geometry){const t=e?.[n];r.geometry=t?.toJSON()||r.geometry}}return t}quantize(e){const{scale:[t,n],translate:[r,o]}=e,s=this.features,i=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-r)/t),e=>Math.round((o-e)/n));for(let e=0,t=s.length;e<t;e++)i?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:n}=this;if(!n)return this;const{translate:[r,o],scale:[s,i]}=n;let a=null,l=null;if(this.hasZ&&null!=n?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=n;a=n=>n*t+e}if(this.hasM&&null!=n?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=n;l=n=>null==n?n:n*t+e}const u=this._getHydrationFunction(e,e=>e*s+r,e=>o-e*i,a,l);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,n){const r=c.A.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const s=e[t],i=n.fromJSON(s),a=s.geometry?.spatialReference;null==i.geometry||a||(i.geometry.spatialReference=r);const l=s.aggregateGeometries,u=i.aggregateGeometries;if(l&&null!=u)for(const e in u){const t=u[e],n=l[e],o=n?.spatialReference;null==t||o||(t.spatialReference=r)}o.push(i)}return o}_quantizePoints(e,t,n){let r,o;const s=[];for(let i=0,a=e.length;i<a;i++){const a=e[i];if(i>0){const e=t(a[0]),i=n(a[1]);e===r&&i===o||(s.push([e-r,i-o]),r=e,o=i)}else r=t(a[0]),o=n(a[1]),s.push([r,o])}return s.length>0?s:null}_getQuantizationFunction(e,t,n){return"point"===e?e=>(e.x=t(e.x),e.y=n(e.y),e):"polyline"===e||"polygon"===e?e=>{const r=(0,f.Bi)(e)?e.rings:e.paths,o=[];for(let e=0,s=r.length;e<s;e++){const s=r[e],i=this._quantizePoints(s,t,n);i&&o.push(i)}return o.length>0?((0,f.Bi)(e)?e.rings=o:e.paths=o,e):null}:"multipoint"===e?e=>{const r=this._quantizePoints(e.points,t,n);return r&&r.length>0?(e.points=r,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,n,r,o){return"point"===e?e=>{e.x=t(e.x),e.y=n(e.y),r&&(e.z=r(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,f.Bi)(e)?e.rings:e.paths;let i,a;for(let e=0,r=s.length;e<r;e++){const r=s[e];for(let e=0,o=r.length;e<o;e++){const o=r[e];e>0?(i+=o[0],a+=o[1]):(i=o[0],a=o[1]),o[0]=t(i),o[1]=n(a)}}if(r&&o)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=r(n[2]),n[3]=o(n[3])}}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=r(n[2])}}else if(o)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=o(n[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=n(e.ymin),e.xmax=t(e.xmax),e.ymax=n(e.ymax),r&&null!=e.zmax&&null!=e.zmin&&(e.zmax=r(e.zmax),e.zmin=r(e.zmin)),o&&null!=e.mmax&&null!=e.mmin&&(e.mmax=o(e.mmax),e.mmin=o(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let i,a;for(let e=0,r=s.length;e<r;e++){const r=s[e];e>0?(i+=r[0],a+=r[1]):(i=r[0],a=r[1]),r[0]=t(i),r[1]=n(a)}if(r&&o)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2]),t[3]=o(t[3])}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2])}else if(o)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=o(t[2])}}:null}};(0,o.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],w.prototype,"displayFieldName",void 0),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"exceededTransferLimit",void 0),(0,o.Cg)([(0,u.MZ)({type:[s.A],json:{write:!0}})],w.prototype,"features",void 0),(0,o.Cg)([(0,h.w)("features")],w.prototype,"readFeatures",null),(0,o.Cg)([(0,u.MZ)({type:[y.A],json:{write:!0}})],w.prototype,"fields",void 0),(0,o.Cg)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],w.prototype,"geometryType",void 0),(0,o.Cg)([(0,d.K)("geometryType")],w.prototype,"writeGeometryType",null),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasM",void 0),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasZ",void 0),(0,o.Cg)([(0,u.MZ)({types:m.yR,json:{write:!0}})],w.prototype,"queryGeometry",void 0),(0,o.Cg)([(0,h.w)("queryGeometry")],w.prototype,"readQueryGeometry",null),(0,o.Cg)([(0,u.MZ)({type:c.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),(0,o.Cg)([(0,d.K)("spatialReference")],w.prototype,"writeSpatialReference",null),(0,o.Cg)([(0,u.MZ)({json:{write:!0}})],w.prototype,"transform",void 0),w=r=(0,o.Cg)([(0,u.$K)("esri.rest.support.FeatureSet")],w),w.prototype.toJSON.isDefaultToJSON=!0},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>f,jV:()=>l,lF:()=>c});var r=n(92602),o=n(70333),s=n(4718),i=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,i.An)(e):(0,s.o8)(e)}function c(e,t,n){const r={};for(const o in e){if("declaredClass"===o)continue;const s=e[o];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[o]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[o]);r[o]=t?e:JSON.stringify(e)}else r[o]=t?s:JSON.stringify(s);else r[o]=s}return r}async function f(e,t,s){const i=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??o.id?.findCredential(e)?.token:null}(e,t);if(i)return i;!o.id&&r.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(9687),n.e(148)]).then(n.bind(n,50148));const l=await o.id.getCredential(e,s);return l?.token}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2387],{69052(e,t,n){n.d(t,{hr:()=>o});var r=n(34727);class o{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return s(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+i(this.range,e-t,n)}minimalMonotonic(e,t,n){return s(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(r)?n:r}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function s(e,t,n,r,o=0,s=!1){return(r-=o)<t?r+=i(e,t-r):r>n&&(r-=i(e,r-n)),s&&r===n&&(r=t),r+o}function i(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const a=new o(0,2*Math.PI),l=(new o(-Math.PI,Math.PI),new o(0,360));n.d(t,["ie",0,l,"uC",0,a])},93146(e,t,n){n.d(t,{z:()=>o});class r{constructor(e){this._import=e,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async e=>(this.module=e,e))),this._promise}}function o(e){return new r(async()=>{const t=await e();return!1===t.isLoaded?.()&&await t.load(),t})}},52039(e,t,n){n.d(t,{O7:()=>f,el:()=>l});var r=n(69052),o=(n(49186),n(17676)),s=(n(5443),n(39829),n(82799),n(16930)),i=n(93146),a=(n(80754),n(21325));async function l(e,t,n){Array.isArray(e)||(e=[e]),null!=t&&"object"==typeof t&&"authMode"in t&&(n=t);let r=null;for(const t of e)r??=t?.spatialReference;if(!r)return e;const s=(0,a.Vp)(r);if(!s)return e;const[i,l]=s.valid;let f=!1;for(const t of e){if(!t)continue;if("point"===t.type){f||=t.x>=l,f||=t.x<=i;continue}const{extent:e}=t;if(null==e){f=!0;break}f||=e.xmin>=l,f||=e.xmin<=i,f||=e.xmax>=l,f||=e.xmax<=i}if(!f)return e;const[{foldInto360Range:p},m]=await(0,o.qr)(Promise.all([u.getImportPromise(),c.getImportPromise()]),n),y=m.fromSpatialReference(r);return e.map(e=>{if(null==e||"mesh"===e.type)return e;const t=m.fromGeometry(e),n=m.toGeometry(p(t,y),r);return"extent"===e.type&&1===n?.rings.length?n.extent:n})}const u=(0,i.z)(()=>n.e(4144).then(n.bind(n,4144))),c=(0,i.z)(()=>Promise.all([n.e(9187),n.e(8885),n.e(9117),n.e(3299),n.e(1550)]).then(n.bind(n,78125)));function f(e,t,n){const r=(0,a.Vp)(n);if(null==r)return e;const[o,s]=r.valid,i=2*s;let l=0,u=0;t>s?l=Math.ceil(Math.abs(t-s)/i):t<o&&(l=-Math.ceil(Math.abs(t-o)/i)),e>s?u=Math.ceil(Math.abs(e-s)/i):e<o&&(u=-Math.ceil(Math.abs(e-o)/i));let c=e+(l-u)*i;const f=c-t;return f>s?c-=i:f<o&&(c+=i),c}function p(e){const t=(0,a.Vp)(e);if(null==t)return null;const[n,o]=t.valid;return new r.hr(n,o)}const m=p(s.A.WGS84);p(s.A.WebMercator),n.d(t,["Y_",0,m])},80754(e,t,n){n.d(t,{kS:()=>u,kd:()=>l});var r=n(82799),o=n(16930),s=n(60408),i=n(52006);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:o.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:o.A.WGS84})}};function l(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){if((0,i.Ed)(e))for(const n of function(e){return(0,s.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of n){if((0,i.aO)(e)){const[n,r]=e.c;n[0]+=t,r[0]+=t;continue}if((0,i.FG)(e)){const[n,r]=e.a;n[0]+=t,r[0]+=t;continue}if((0,i.n1)(e)){const[n,r,o]=e.b;n[0]+=t,r[0]+=t,o[0]+=t;continue}e[0]+=t}for(const n of function(e){return(0,s.Bi)(e)?e.rings:e.paths}(e))for(const e of n)e[0]+=t;return e}n.d(t,["j7",0,a])},41653(e,t,n){n.r(t),n.d(t,{queryModel:()=>g,queryModels:()=>d});var r=n(11254),o=n(4576),s=n(49186),i=n(91869),a=n(84952),l=n(5482),u=n(69622),c=n(91429);let f=class extends u.A{constructor(e){super(e),this.name="",this.size=0}arrayBuffer(e){return this.loadArrayBuffer(e)}};(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"flags",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"loadArrayBuffer",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"name",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],f.prototype,"size",void 0),f=(0,l.Cg)([(0,c.$K)("esri.layers.scene.ModelFileInfo")],f);let p=class extends u.A{constructor(e){super(e),this.files=[],this.format="",this.isSource=!1,this.name="",this.size=0}};(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"files",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"format",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"isSource",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"name",void 0),(0,l.Cg)([(0,c.MZ)({constructOnly:!0})],p.prototype,"size",void 0),p=(0,l.Cg)([(0,c.$K)("esri.layers.scene.ModelInfo")],p);var m=n(20557),y=n(99199),h=n(97552);async function d(e,t,n,r){const l=e.infoFor3D;if(!l)throw new s.A("scenelayer:query-models-not-available","Model queries are not available without 3D object metadata",{layer:e});const{objectIdField:u,globalIdField:c}=t;if(!u||!c)throw new s.A("scenelayer:query-models-not-available","Missing required fields for model queries",{layer:e});const f=function(e,t,n,r){const o=function(e,t){const n=h.A.from(t)?.clone()??e.createQuery();return n.outFields=null,n.formatOf3DObjects=null,n.returnGeometry=!1,n}(e,t);return o.outFields=[n,r],o.returnGeometry=!1,o}(e,n,u,c),p=await t.queryFeatures(f,r);return await async function(e){const{infoFor3D:t,associatedLayer:n,options:r}=e,s=n.globalIdField,l=n.parsedUrl;if(!s||!l)return new Map;const u=await async function(e){const{options:t,infoFor3D:n,featureInfos:r}=e,s=[...r.keys()];if(t?.requestedFormat){const e=(0,m.fE)(t.requestedFormat,n.supportedFormats);return e?[{formatId:e,objectIds:s}]:[]}const l=(0,o.Am)([...n.queryFormats,...n.editFormats]);return await async function({options:e,infoFor3D:t,featureInfos:n,requestQuery:r,associatedLayer:s},l){const u=t.assetMapFieldRoles.parentGlobalId,c=t.assetMapFieldRoles.assetType,f=t.assetMapFieldRoles.flags,p=new Map;for(const[e,{globalId:t}]of n)t&&p.set(e,t);const d=(0,o.Am)(p.values()),g=(0,m.JZ)(t);if(!g||!d.length)return[];const w=(0,a.fj)(s.parsedUrl?.path??"",`../${g.id}`),M=!!e?.sourceOnly,b=new h.A({where:`${u} IN (${d.map(x).join(",")})`,outFields:M?[u,c,f]:[u,c],returnDistinctValues:!0,returnGeometry:!1}),{features:F}=await(0,y.s)(w,b,{query:r,signal:e?.signal}),A=new Set(l),v=new Map;for(const e of F){const t=e.getAttribute(u),n=e.getAttribute(c),r=e.getAttribute(f)??0;n&&A.has(n)&&t&&!(1&r)&&(0,i.tE)(v,t,()=>new Set).add(n)}const q=new Map;for(const[e,t]of p)for(const n of v.get(t)??[])(0,i.tE)(q,n,()=>[]).push(e);return l.map(e=>({formatId:e,objectIds:q.get(e)??[]})).filter(({objectIds:e})=>e.length>0)}(e,l)}(e),c=new Map,f=await Promise.all(u.map(async({formatId:o,objectIds:i})=>{const a=(0,m.be)(o,t.supportedFormats),l=n.parsedUrl;if(null==a||!l||!i.length)return null;const u=(0,m._h)(o,t.supportedFormats),c=(0,m.qv)(u),f=n.createQuery();return f.objectIds=i,f.outFields=[s],f.formatOf3DObjects=o,f.returnGeometry=!0,{modelFormat:a,modelFileExtensions:c,featureSetJSON:await(0,y.e)(l.path,f,{query:e.requestQuery,signal:r?.signal},{uniqueIdFields:n.uniqueIdFields})}}));for(const t of f)t&&w(e,t.modelFormat,t.modelFileExtensions,t.featureSetJSON,c);return c}(new A(e,t,function(e){const t=new Map;for(const n of e.features){const e=n.getObjectId(),r=n.getGlobalId();null!=e&&null!=r&&t.set(e,{globalId:r})}return t}(p),l,r))}async function g(e,t,n,r){const o=r?.format;return((await d(e,t,{objectIds:[n]},{...r,requestedFormat:o,sourceOnly:null==o})).get(n)??[]).find(e=>o&&e.format===o||!o&&e.isSource)}function w({featureInfos:e,requestQuery:t,infoFor3D:n},r,o,s,a){const l=new Map;for(const e of s.assetMaps??[])(0,i.tE)(l,e.parentGlobalId,()=>[]).push(e);for(const[s,u]of e){const e=l.get(u.globalId);if(!e?.length)continue;const c=M(e,t,n);if(!c.length)continue;const f=c.reduce((e,t)=>e+t.size,0),m=F(c,o),y=!m.flags.includes("DERIVED");(0,i.tE)(a,s,()=>[]).push(new p({name:m.name,size:f,format:r,isSource:y,files:c}))}}function M(e,t,n){const r=new Map,o=({assetType:e})=>null!=(0,m.be)(e,n.supportedFormats),s=e.some(e=>o(e)&&!e.flags.includes("DERIVED"));for(const t of e)s&&o(t)&&t.flags.includes("DERIVED")||(0,i.tE)(r,t.assetName,()=>[]).push(t);const a=[];for(const[e,n]of r){n.sort((e,t)=>e.seqNo-t.seqNo);const r=n.reduce((e,t)=>e+t.size,0),o=n.map(({assetURL:e})=>e).filter(e=>!!e);o.length&&a.push(new f({name:e,size:r,flags:n[0].flags,loadArrayBuffer:e=>b(o,t,e)}))}return a}async function b(e,t,n){const o=await Promise.all(e.map(e=>(0,r.A)(e,{responseType:"array-buffer",query:t,signal:n?.signal}).then(({data:e})=>e)));return 1===o.length?o[0]:function(e){const t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t);let r=0;for(const t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}(o)}function F(e,t){return e.find(({name:e})=>t.some(t=>e.toLowerCase().endsWith(`.${t}`)))??e[0]}function x(e){return`'${e.replaceAll("'","''")}'`}class A{constructor(e,t,n,r,o){this.layer=e,this.associatedLayer=t,this.featureInfos=n,this.infoFor3D=r,this.options=o,this.requestQuery={...t.parsedUrl?.query,...e.customParameters,...e.apiKey?{token:e.apiKey}:{}}}}},99199(e,t,n){n.d(t,{e:()=>l,s:()=>a});var r=n(2272),o=n(80893),s=n(22671),i=n(97552);async function a(e,t,n,r){const o=await l(e,t,n,r);return s.A.fromJSON(o)}function l(e,t,n,s){const a=(0,r.Dl)(e),l={...n},u=i.A.from(t);return(0,o.eW)(a,u,u.sourceSpatialReference,l,s)}},22671(e,t,n){n.d(t,{A:()=>w});var r,o=n(5482),s=n(52106),i=n(66552),a=n(25482),l=n(4718),u=n(91429),c=n(16930),f=n(60408),p=n(65864),m=n(50498),y=n(20437),h=n(36005),d=n(43937);const g=new i.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let w=r=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,n,r){if(e)return void g.write(e,t,n,r);const{features:o}=this;if(o)for(const e of o)if(null!=e?.geometry)return void g.write(e.geometry.type,t,n,r)}readQueryGeometry(e,t){if(!e)return null;const n=!!e.spatialReference,r=(0,p.rS)(e);return r&&!n&&t.spatialReference&&(r.spatialReference=c.A.fromJSON(t.spatialReference)),r}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:n}=this;if(n)for(const e of n)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new r(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let n=0;n<t.features.length;n++){const r=t.features[n];if(r.geometry){const t=e?.[n];r.geometry=t?.toJSON()||r.geometry}}return t}quantize(e){const{scale:[t,n],translate:[r,o]}=e,s=this.features,i=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-r)/t),e=>Math.round((o-e)/n));for(let e=0,t=s.length;e<t;e++)i?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:n}=this;if(!n)return this;const{translate:[r,o],scale:[s,i]}=n;let a=null,l=null;if(this.hasZ&&null!=n?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=n;a=n=>n*t+e}if(this.hasM&&null!=n?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=n;l=n=>null==n?n:n*t+e}const u=this._getHydrationFunction(e,e=>e*s+r,e=>o-e*i,a,l);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,n){const r=c.A.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const s=e[t],i=n.fromJSON(s),a=s.geometry?.spatialReference;null==i.geometry||a||(i.geometry.spatialReference=r);const l=s.aggregateGeometries,u=i.aggregateGeometries;if(l&&null!=u)for(const e in u){const t=u[e],n=l[e],o=n?.spatialReference;null==t||o||(t.spatialReference=r)}o.push(i)}return o}_quantizePoints(e,t,n){let r,o;const s=[];for(let i=0,a=e.length;i<a;i++){const a=e[i];if(i>0){const e=t(a[0]),i=n(a[1]);e===r&&i===o||(s.push([e-r,i-o]),r=e,o=i)}else r=t(a[0]),o=n(a[1]),s.push([r,o])}return s.length>0?s:null}_getQuantizationFunction(e,t,n){return"point"===e?e=>(e.x=t(e.x),e.y=n(e.y),e):"polyline"===e||"polygon"===e?e=>{const r=(0,f.Bi)(e)?e.rings:e.paths,o=[];for(let e=0,s=r.length;e<s;e++){const s=r[e],i=this._quantizePoints(s,t,n);i&&o.push(i)}return o.length>0?((0,f.Bi)(e)?e.rings=o:e.paths=o,e):null}:"multipoint"===e?e=>{const r=this._quantizePoints(e.points,t,n);return r&&r.length>0?(e.points=r,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,n,r,o){return"point"===e?e=>{e.x=t(e.x),e.y=n(e.y),r&&(e.z=r(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,f.Bi)(e)?e.rings:e.paths;let i,a;for(let e=0,r=s.length;e<r;e++){const r=s[e];for(let e=0,o=r.length;e<o;e++){const o=r[e];e>0?(i+=o[0],a+=o[1]):(i=o[0],a=o[1]),o[0]=t(i),o[1]=n(a)}}if(r&&o)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=r(n[2]),n[3]=o(n[3])}}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=r(n[2])}}else if(o)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=o(n[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=n(e.ymin),e.xmax=t(e.xmax),e.ymax=n(e.ymax),r&&null!=e.zmax&&null!=e.zmin&&(e.zmax=r(e.zmax),e.zmin=r(e.zmin)),o&&null!=e.mmax&&null!=e.mmin&&(e.mmax=o(e.mmax),e.mmin=o(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let i,a;for(let e=0,r=s.length;e<r;e++){const r=s[e];e>0?(i+=r[0],a+=r[1]):(i=r[0],a=r[1]),r[0]=t(i),r[1]=n(a)}if(r&&o)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2]),t[3]=o(t[3])}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2])}else if(o)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=o(t[2])}}:null}};(0,o.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],w.prototype,"displayFieldName",void 0),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"exceededTransferLimit",void 0),(0,o.Cg)([(0,u.MZ)({type:[s.A],json:{write:!0}})],w.prototype,"features",void 0),(0,o.Cg)([(0,h.w)("features")],w.prototype,"readFeatures",null),(0,o.Cg)([(0,u.MZ)({type:[y.A],json:{write:!0}})],w.prototype,"fields",void 0),(0,o.Cg)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],w.prototype,"geometryType",void 0),(0,o.Cg)([(0,d.K)("geometryType")],w.prototype,"writeGeometryType",null),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasM",void 0),(0,o.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasZ",void 0),(0,o.Cg)([(0,u.MZ)({types:m.yR,json:{write:!0}})],w.prototype,"queryGeometry",void 0),(0,o.Cg)([(0,h.w)("queryGeometry")],w.prototype,"readQueryGeometry",null),(0,o.Cg)([(0,u.MZ)({type:c.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),(0,o.Cg)([(0,d.K)("spatialReference")],w.prototype,"writeSpatialReference",null),(0,o.Cg)([(0,u.MZ)({json:{write:!0}})],w.prototype,"transform",void 0),w=r=(0,o.Cg)([(0,u.$K)("esri.rest.support.FeatureSet")],w),w.prototype.toJSON.isDefaultToJSON=!0},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>f,jV:()=>l,lF:()=>c});var r=n(92602),o=n(70333),s=n(4718),i=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,i.An)(e):(0,s.o8)(e)}function c(e,t,n){const r={};for(const o in e){if("declaredClass"===o)continue;const s=e[o];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[o]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[o]);r[o]=t?e:JSON.stringify(e)}else r[o]=t?s:JSON.stringify(s);else r[o]=s}return r}async function f(e,t,s){const i=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??o.id?.findCredential(e)?.token:null}(e,t);if(i)return i;!o.id&&r.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(2584),n.e(148)]).then(n.bind(n,50148));const l=await o.id.getCredential(e,s);return l?.token}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[368,1948,7987,7992],{61691(t,e,r){r.d(e,{G:()=>s});class s{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},46810(t,e,r){r.d(e,{O:()=>n});var s=r(39117);class n extends s.R{getOperatorType(){return 5}execute(t,e,r,n){return(0,s.T)(t,e,r,8,n)}}},76061(t,e,r){r.d(e,{S:()=>n});var s=r(61691);class n extends s.G{m_aGeoms;m_iGeom=-1;constructor(t){super(),this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},69397(t,e,r){r.d(e,{Qf:()=>a,Qh:()=>i,lM:()=>n});var s=r(34275);function n(t){if(!t)return 0;let e=u;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r],!1));return e}function i(t){if(!t)return 0;if("number"==typeof t[0])return a(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return h(t,8);let r=c;for(let s=0;s<e;s++)r+=o(t[s]);return r}(t);let e=u;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r]));return e}function o(t,e=!0){switch(typeof t){case"object":return e?i(t):u;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...t){return t.reduce((t,e)=>t+(e?(0,s.iu)(e)?e.byteLength+l:Array.isArray(e)?h(e,16):0:0),0)}function h(t,e){return c+t.length*e}const u=32,c=16,l=145},87992(t,e,r){r.d(e,{JR:()=>_,ME:()=>C,MY:()=>P,NO:()=>M,Nh:()=>O,V2:()=>b,_s:()=>R,e6:()=>Y,gh:()=>E,tr:()=>I,uX:()=>x});var s=r(5482),n=r(16930),i=r(19419),o=r(60408),a=r(21325),h=r(513),u=r(50954),c=r(79567),l=r(52006),g=r(49663),f=r(46068),m=r(92722);class x{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:i,partCount:o,partOffsets:a,partFlags:h,segmentFlags:u,segmentIndices:c,segmentParams:l,segmentCountArc:g,segmentCountBezier:f}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=i,this.partCount=o,this.partOffsets=a,this.partFlags=h,this.segmentFlags=u,this.segmentIndices=c,this.segmentParams=l,this.segmentCountArc=g,this.segmentCountBezier=f}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function t(t){return t?64+t.byteLength:0}return t(this.vertexXY)+t(this.vertexZ)+t(this.vertexM)+t(this.partOffsets)+t(this.partFlags)+t(this.segmentFlags)+t(this.segmentIndices)+t(this.segmentParams)}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:s,hasM:n,segmentCountArc:i,segmentCountBezier:o}=this,a=b(t,e,r,s,n,this.hasCurves(),i,o);a.spatialReference=this.spatialReference;const{vertexXY:h,vertexZ:u,vertexM:c}=this;if(a.vertexXY.set(h.subarray(0,2*e),0),a.vertexZ?.set(u.subarray(0,e),0),a.vertexM?.set(c.subarray(0,e),0),this.isMultipart()){const{partOffsets:t,partFlags:e}=this;a.partFlags.set(e.subarray(0,r+1)),a.partOffsets.set(t.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:t,segmentIndices:r,segmentParams:s,segmentParamCount:n}=this;a.segmentFlags.set(t.subarray(0,e),0),a.segmentIndices.set(r.subarray(0,e),0),a.segmentParams.set(s.subarray(0,n),0)}return a}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!(0,a.aI)(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves()!==t.hasCurves()||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let e=0;e<this.vertexCount;++e)if(r(this.vertexXY[2*e],t.vertexXY[2*e])||r(this.vertexXY[2*e+1],t.vertexXY[2*e+1]))return!1;if(this.hasZ)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexZ[e],t.vertexZ[e]))return!1;if(this.hasM)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexM[e],t.vertexM[e]))return!1;for(let e=0;e<this.partCount;++e)if(this.partFlags[e]!==t.partFlags[e]||this.partOffsets[e]!==t.partOffsets[e])return!1;if(this.hasCurves()){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return this.isMultipart()?new d(this):[][Symbol.iterator]()}}class d{constructor(t){this.geometry=t,this.value=new p(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class p{constructor(t){this.geometry=t,this.index=-1,this._readVertex=Z(t),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class y{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new v(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=Z(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],s=e[r++],n=e[r++],i=e[r++];return{b:[this.end,[t,s],[n,i]]}}const s=e[r++],n=e[r++],i=e[r++],o=e[r++],a=e[r++],h=e[r++];r++,r++;const u=e[r++],c=e[r++];if(!Boolean(4&s)&&1===i)return{c:[this.end,[u,c]]};const l=2&s?0:1,g=1&s?0:1;return{a:[this.end,[a,h],l,g,o,n,i]}}}function M(t,e){const r={stack:[],error:void 0,hasError:!1};try{return e??=(0,i.Ie)(),(0,s.mS)(r,new A(t,["vertexZ","vertexM","spatialReference"]),!1),(0,i.bx)(e,function(t){let e;const{vertexCount:r,vertexXY:n,vertexZ:o,vertexM:a}=t,h=S(t);if(t.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,s.mS)(r,new A(t,["vertexZ","vertexM"]),!1);const n=(0,i.Ie)();for(const e of t.parts){let t=e.startVertex;for(const{curve:r}of e.segments)(0,c.e)(n,t,r),t=(0,l.yP)(r)}const[o,a,u,g]=n;e={xmin:o,ymin:a,xmax:u,ymax:g,spatialReference:h}}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}else{let t,s,i,o;t=s=1/0,i=o=-1/0;for(let e=0;e<r;++e){const r=n[2*e],a=n[2*e+1];t=Math.min(t,r),i=Math.max(i,r),s=Math.min(s,a),o=Math.max(o,a)}e={xmin:t,ymin:s,xmax:i,ymax:o,spatialReference:h}}if(o){let t=1/0,r=-1/0;for(const e of o)t=Math.min(t,e),r=Math.max(r,e);e.zmin=t,e.zmax=r}if(a){let t=1/0,r=-1/0;for(const e of a)t=Math.min(t,e),r=Math.max(r,e);e.mmin=t,e.mmax=r}return e}(t)),e}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}function C(t){let e,r,s;if((0,o.fT)(t)){s="point";const{x:n,y:i,z:o,m:a}=t,h=[n,i];null!=o&&h.push(o),null!=a&&h.push(a),r=[[h]],e=1}else(0,o.U9)(t)?(s="multipoint",r=[t.points],e=t.points.length):(0,o.Rg)(t)?(s="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(s="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>(0===e.length||(t+=e.length,w(e[0],(0,l.yP)(e.at(-1)))&&--t),t),0));const n=b(s,e,s.includes("point")?0:r.length,(0,o.Pv)(t),(0,o.W0)(t),(0,l.Ed)(t)),{hasZ:i,hasM:a,vertexXY:h,vertexZ:u,vertexM:c}=n;function g(t){h[2*m]=t[0],h[2*m+1]=t[1],i&&(u[m]=t[2]),a&&(c[m]=t[f]),++m}n.spatialReference=t.spatialReference??void 0;const f=n.hasZ?3:2;let m=0;if(!n.isMultipart()){if(!i&&!a){for(const[t,e]of r[0])h[2*m]=t,h[2*m+1]=e,++m;return n}for(const t of r[0])g(t);return n}const x="polygon"===s,{partOffsets:d}=n;let p=0;if(!(0,l.Ed)(t)){for(const t of r){if(d[p++]=m,0===t.length)continue;let e=t.length;if(x&&w(t[0],t.at(-1))&&--e,i||a)for(let r=0;r<e;++r)g(t[r]);else for(let r=0;r<e;++r){const[e,s]=t[r];h[2*m]=e,h[2*m+1]=s,++m}}return d[p]=m,n}function y(t){const e=v+t;if(e<=(n.segmentParams?.length??0))return;let r=e*X;r=20*Math.ceil(r/20);const s=n.segmentParams;n.segmentParams=new Float64Array(r),null!=s&&n.segmentParams.set(s)}let v=0;for(const t of r){if(n.partOffsets[p++]=m,0===t.length)continue;const e=t[0];let r=e;for(let e=1;e<t.length;++e){const s=t[e];g(r);const i=m-1;(0,l.wY)(s)?(y(10),++n.segmentCountArc,v=R(r,s,n,i,v),r=s.a[0]):(0,l.DA)(s)?(y(10),++n.segmentCountArc,v=F(r,s,n,i,v),r=s.a[0]):(0,l.aO)(s)?(y(10),++n.segmentCountArc,v=Y(r,s,n,i,v),r=s.c[0]):(0,l.n1)(s)?(y(4),++n.segmentCountBezier,v=I(0,s,n,i,v),r=s.b[0]):r=s}x&&w(e,r)||g(r)}return n.partOffsets[p]=m,n}function E(t){const e=Z(t),{vertexCount:r,partCount:s,hasZ:n,hasM:i}=t,o=S(t);if("point"===t.type){const[e,r]=t.vertexXY,s=t.vertexZ?.[0],n=t.vertexM?.[0];return{x:e,y:r,z:s,m:n,spatialReference:o}}let a=0;if("multipoint"===t.type){const t=[];for(;a<r;)t.push(e(a++));return{points:t,spatialReference:o,hasZ:n,hasM:i}}const h="polygon"===t.type;if(!t.hasCurves()){const r=new Array;for(let n=0;n<s;++n){const s=t.partOffsets[n+1],i=new Array;for(;a<s;)i.push(e(a++));h&&i.length>0&&i.push(i[0]),r.push(i)}return h?{rings:r,hasZ:n,hasM:i,spatialReference:o}:{paths:r,hasZ:n,hasM:i,spatialReference:o}}const u=new Array;for(const{segments:e,startVertex:r}of t.parts){const t=[r];for(const{curve:r}of e)t.push(r);u.push(t)}return h?{rings:[],curveRings:u,hasZ:n,hasM:i,spatialReference:o}:{paths:[],curvePaths:u,hasZ:n,hasM:i,spatialReference:o}}function O(t,{lengths:e,coords:r,hasZ:s,hasM:n},i){const o=t.includes("point")?0:e.length,a="polygon"===t,h="point"===t?1:e.reduce((t,e)=>t+e,0)-(a?o:0);s??=!1,n??=!1;const u=b(t,h,o,s,n,!1,0,0);if(u.spatialReference=i??void 0,!u.isMultipart()){for(let t=0,e=0;t<h;++t)u.vertexXY[2*t]=r[e++],u.vertexXY[2*t+1]=r[e++],s&&(u.vertexZ[t]=r[e++]),n&&(u.vertexM[t]=r[e++]);return u}const c=2+Number(s)+Number(n);let l=0,g=0;u.partOffsets[0]=0;for(const t of e){const e=u.partOffsets[g],i=e+t-Number(a);u.partOffsets[++g]=i;for(let t=e;t<i;++t)u.vertexXY[2*t]=r[l++],u.vertexXY[2*t+1]=r[l++],s&&(u.vertexZ[t]=r[l++]),n&&(u.vertexM[t]=r[l++]);a&&(l+=c)}return u}function _({type:t,vertexCount:e,vertexXY:r,vertexZ:s,vertexM:n,partCount:i,partOffsets:o,hasZ:a,hasM:h}){const u=new m.A([],[],a,h);i=Math.max(i,1);const c="polygon"===t;let l=0;for(let t=0;t<i;++t){const i=o?.[t+1]??e,g=u.coords.length;for(let t=l;t<i;++t)u.coords.push(r[2*t],r[2*t+1]),a&&u.coords.push(s[t]),h&&u.coords.push(n[t]);if(c){const t=l;u.coords.push(r[2*t],r[2*t+1]),a&&u.coords.push(s[t]),h&&u.coords.push(n[t])}u.lengths.push((u.coords.length-g)/u.stride),l=i}return"point"===t&&(u.lengths.length=0),u}function P(t,e){return"getSpatialReference"in t&&(e=function(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let s=t.getLatestID();(s<=0||s===r)&&(s=void 0);const n=t.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:e};const i=n.isCustomWkid()?0:n.getOldID();if(i<=0)return{wkt:e};let o=t.getLatestVerticalID();return(o<=0||o===i)&&(o=void 0),{wkid:r,wkt:e,latestWkid:s,vcsWkid:i,latestVcsWkid:o}}(t.getSpatialReference()),t=t.getGeometry()),new x({...t.toFlatGeometry(),spatialReference:e})}class A{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function S({spatialReference:t}){return t instanceof n.A?t.toJSON():t}function Z({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?s=>[t[2*s],t[2*s+1],e[s],r[s]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function w(t,e){return t.every((t,r)=>t===e[r])}function b(t,e,r,s,n,i,o,a){o??=0,a??=0;const h=new x({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:o,segmentCountBezier:a});let u=2*Float64Array.BYTES_PER_ELEMENT*e;s&&(u+=Float64Array.BYTES_PER_ELEMENT*e),n&&(u+=Float64Array.BYTES_PER_ELEMENT*e),h.isMultipart()&&(u+=(r+1)*Int32Array.BYTES_PER_ELEMENT,u+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(u+=e*Int8Array.BYTES_PER_ELEMENT,u+=e*Int32Array.BYTES_PER_ELEMENT,u+=h.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const c=new ArrayBuffer(u);let l=0;return h.vertexXY=new Float64Array(c,l,2*e),l+=h.vertexXY.byteLength,s&&(h.vertexZ=new Float64Array(c,l,e),l+=h.vertexZ.byteLength),n&&(h.vertexM=new Float64Array(c,l,e),l+=h.vertexM.byteLength),i&&(h.segmentParams=new Float64Array(c,l,h.segmentParamCount),l+=h.segmentParams.byteLength,h.segmentIndices=new Int32Array(c,l,e),h.segmentIndices.fill(k),l+=h.segmentIndices.byteLength),h.isMultipart()&&(h.partOffsets=new Int32Array(c,l,r+1),l+=h.partOffsets.byteLength,h.partFlags=new Int8Array(c,l,r+1),l+=h.partFlags.byteLength,"polygon"===h.type&&h.partFlags.subarray(0,r).fill(1)),i&&(h.segmentFlags=new Int8Array(c,l,e),h.segmentFlags.fill(1),l+=h.segmentFlags.byteLength),h}function R(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){r[i]=4,s[i]=o;const[a,[h,u],c,l,g,m,x]=e.a;let d=4;l||(d|=1),c||(d|=2);const p=(0,f.SW)(t,e),[y,v]=(0,f.Uk)(p,.5);return n[o++]=d,n[o++]=m,n[o++]=x,n[o++]=g,n[o++]=h,n[o++]=u,n[o++]=p.u2-p.u1,n[o++]=p.u1,n[o++]=y,n[o++]=v,o}function F(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){r[i]=4,s[i]=o;const a=(0,g.io)(t,e);return V(a,4,...(0,h.mq)(a,.5),n,o)}function Y(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){return r[i]=4,s[i]=o,V((0,u.pM)(t,e),0,...e.c[1],n,o)}function V(t,e,r,s,n,i){const{cx:o,cy:a,thetaStart:h,thetaEnd:u,radius:c}=t;return h>u||(e|=1),Math.abs(u-h)<=Math.PI||(e|=2),n[i++]=e,n[i++]=c,n[i++]=1,n[i++]=0,n[i++]=o,n[i++]=a,n[i++]=u-h,n[i++]=h,n[i++]=r,n[i++]=s,i}function I(t,{b:[e,[r,s],[n,i]]},{segmentFlags:o,segmentIndices:a,segmentParams:h},u,c){return o[u]=2,a[u]=c,h[c++]=r,h[c++]=s,h[c++]=n,h[c++]=i,c}const X=1.61803,k=-1},83547(t,e,r){r.r(e),r.d(e,{execute:()=>o});var s=r(46810),n=r(83299);const i=new s.O;function o(t,e){const r=(0,n.fromGeometry)(t);return i.execute(r.getGeometry(),(0,n.fromGeometryToGXGeometry)(e),r.getSpatialReference(),null)}},92722(t,e,r){r.d(e,{A:()=>n});var s=r(69397);class n{constructor(t=[],e=[],r=!1,s=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=r,this.hasM=s}static fromJSON({lengths:t,coords:e,hasZ:r,hasM:s}){return new n(t,e,r||!1,s||!1)}static fromRect([t,e,r,s]){const i=r-t,o=s-e;return new n([5],[t,e,i,0,0,o,-i,0,0,-o])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((t,e)=>t+e,0)}get usedMemory(){return 64+(0,s.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let t=0,e=0;for(const r of this.lengths){if(r<3)continue;const{stride:s}=this;let n=this.coords[s*e],i=this.coords[s*e+1];for(let o=1;o<r;o+=1){const r=s*(e+o),a=this.coords[r],h=this.coords[r+1];t+=-.5*(a-n)*(h+i),n=a,i=h}e+=r}return t}forEachVertex(t){let e=0;if(this.isPoint)return t(this.coords[0],this.coords[1]);const{stride:r}=this;for(const s of this.lengths){for(let n=0;n<s;n++){const s=r*(e+n);t(this.coords[s],this.coords[s+1])}e+=s}}deltaDecode(){const t=this.clone(),{coords:e,lengths:r}=t;let s=0;const{stride:n}=this;for(const t of r){for(let r=1;r<t;r++){const t=n*(s+r);e[t]+=e[t-n],e[t+1]+=e[t+1-n]}s+=t}return t}clone(t){if(this.isPoint)return new n([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:r,size:s}=this,i=this.coords.slice(0,s*r);return t?(t.set(i),new n(e,t,this.hasZ,this.hasM)):new n(e,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:t,size:e}=this;if(2===t)return this;const r=new Array(e*t);for(let e=0,s=0;e<r.length;e+=t)r[s++]=this.coords[e],r[s++]=this.coords[e+1];return new n(this.lengths,r,!1,!1)}}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[368,1948,7987,7992],{61691(t,e,r){r.d(e,{G:()=>s});class s{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},46810(t,e,r){r.d(e,{O:()=>n});var s=r(39117);class n extends s.W{getOperatorType(){return 5}execute(t,e,r,n){return(0,s.X)(t,e,r,8,n)}}},76061(t,e,r){r.d(e,{S:()=>n});var s=r(61691);class n extends s.G{m_aGeoms;m_iGeom=-1;constructor(t){super(),this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},69397(t,e,r){r.d(e,{Qf:()=>a,Qh:()=>i,lM:()=>n});var s=r(34275);function n(t){if(!t)return 0;let e=u;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r],!1));return e}function i(t){if(!t)return 0;if("number"==typeof t[0])return a(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return h(t,8);let r=c;for(let s=0;s<e;s++)r+=o(t[s]);return r}(t);let e=u;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r]));return e}function o(t,e=!0){switch(typeof t){case"object":return e?i(t):u;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...t){return t.reduce((t,e)=>t+(e?(0,s.iu)(e)?e.byteLength+l:Array.isArray(e)?h(e,16):0:0),0)}function h(t,e){return c+t.length*e}const u=32,c=16,l=145},87992(t,e,r){r.d(e,{JR:()=>_,ME:()=>C,MY:()=>P,NO:()=>M,Nh:()=>O,V2:()=>b,_s:()=>R,e6:()=>Y,gh:()=>E,tr:()=>I,uX:()=>x});var s=r(5482),n=r(16930),i=r(19419),o=r(60408),a=r(21325),h=r(513),u=r(50954),c=r(79567),l=r(52006),g=r(49663),f=r(46068),m=r(92722);class x{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:i,partCount:o,partOffsets:a,partFlags:h,segmentFlags:u,segmentIndices:c,segmentParams:l,segmentCountArc:g,segmentCountBezier:f}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=i,this.partCount=o,this.partOffsets=a,this.partFlags=h,this.segmentFlags=u,this.segmentIndices=c,this.segmentParams=l,this.segmentCountArc=g,this.segmentCountBezier=f}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function t(t){return t?64+t.byteLength:0}return t(this.vertexXY)+t(this.vertexZ)+t(this.vertexM)+t(this.partOffsets)+t(this.partFlags)+t(this.segmentFlags)+t(this.segmentIndices)+t(this.segmentParams)}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:s,hasM:n,segmentCountArc:i,segmentCountBezier:o}=this,a=b(t,e,r,s,n,this.hasCurves(),i,o);a.spatialReference=this.spatialReference;const{vertexXY:h,vertexZ:u,vertexM:c}=this;if(a.vertexXY.set(h.subarray(0,2*e),0),a.vertexZ?.set(u.subarray(0,e),0),a.vertexM?.set(c.subarray(0,e),0),this.isMultipart()){const{partOffsets:t,partFlags:e}=this;a.partFlags.set(e.subarray(0,r+1)),a.partOffsets.set(t.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:t,segmentIndices:r,segmentParams:s,segmentParamCount:n}=this;a.segmentFlags.set(t.subarray(0,e),0),a.segmentIndices.set(r.subarray(0,e),0),a.segmentParams.set(s.subarray(0,n),0)}return a}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!(0,a.aI)(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves()!==t.hasCurves()||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let e=0;e<this.vertexCount;++e)if(r(this.vertexXY[2*e],t.vertexXY[2*e])||r(this.vertexXY[2*e+1],t.vertexXY[2*e+1]))return!1;if(this.hasZ)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexZ[e],t.vertexZ[e]))return!1;if(this.hasM)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexM[e],t.vertexM[e]))return!1;for(let e=0;e<this.partCount;++e)if(this.partFlags[e]!==t.partFlags[e]||this.partOffsets[e]!==t.partOffsets[e])return!1;if(this.hasCurves()){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return this.isMultipart()?new d(this):[][Symbol.iterator]()}}class d{constructor(t){this.geometry=t,this.value=new p(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class p{constructor(t){this.geometry=t,this.index=-1,this._readVertex=Z(t),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class y{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new v(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=Z(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],s=e[r++],n=e[r++],i=e[r++];return{b:[this.end,[t,s],[n,i]]}}const s=e[r++],n=e[r++],i=e[r++],o=e[r++],a=e[r++],h=e[r++];r++,r++;const u=e[r++],c=e[r++];if(!Boolean(4&s)&&1===i)return{c:[this.end,[u,c]]};const l=2&s?0:1,g=1&s?0:1;return{a:[this.end,[a,h],l,g,o,n,i]}}}function M(t,e){const r={stack:[],error:void 0,hasError:!1};try{return e??=(0,i.Ie)(),(0,s.mS)(r,new A(t,["vertexZ","vertexM","spatialReference"]),!1),(0,i.bx)(e,function(t){let e;const{vertexCount:r,vertexXY:n,vertexZ:o,vertexM:a}=t,h=S(t);if(t.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,s.mS)(r,new A(t,["vertexZ","vertexM"]),!1);const n=(0,i.Ie)();for(const e of t.parts){let t=e.startVertex;for(const{curve:r}of e.segments)(0,c.e)(n,t,r),t=(0,l.yP)(r)}const[o,a,u,g]=n;e={xmin:o,ymin:a,xmax:u,ymax:g,spatialReference:h}}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}else{let t,s,i,o;t=s=1/0,i=o=-1/0;for(let e=0;e<r;++e){const r=n[2*e],a=n[2*e+1];t=Math.min(t,r),i=Math.max(i,r),s=Math.min(s,a),o=Math.max(o,a)}e={xmin:t,ymin:s,xmax:i,ymax:o,spatialReference:h}}if(o){let t=1/0,r=-1/0;for(const e of o)t=Math.min(t,e),r=Math.max(r,e);e.zmin=t,e.zmax=r}if(a){let t=1/0,r=-1/0;for(const e of a)t=Math.min(t,e),r=Math.max(r,e);e.mmin=t,e.mmax=r}return e}(t)),e}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}function C(t){let e,r,s;if((0,o.fT)(t)){s="point";const{x:n,y:i,z:o,m:a}=t,h=[n,i];null!=o&&h.push(o),null!=a&&h.push(a),r=[[h]],e=1}else(0,o.U9)(t)?(s="multipoint",r=[t.points],e=t.points.length):(0,o.Rg)(t)?(s="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(s="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>(0===e.length||(t+=e.length,w(e[0],(0,l.yP)(e.at(-1)))&&--t),t),0));const n=b(s,e,s.includes("point")?0:r.length,(0,o.Pv)(t),(0,o.W0)(t),(0,l.Ed)(t)),{hasZ:i,hasM:a,vertexXY:h,vertexZ:u,vertexM:c}=n;function g(t){h[2*m]=t[0],h[2*m+1]=t[1],i&&(u[m]=t[2]),a&&(c[m]=t[f]),++m}n.spatialReference=t.spatialReference??void 0;const f=n.hasZ?3:2;let m=0;if(!n.isMultipart()){if(!i&&!a){for(const[t,e]of r[0])h[2*m]=t,h[2*m+1]=e,++m;return n}for(const t of r[0])g(t);return n}const x="polygon"===s,{partOffsets:d}=n;let p=0;if(!(0,l.Ed)(t)){for(const t of r){if(d[p++]=m,0===t.length)continue;let e=t.length;if(x&&w(t[0],t.at(-1))&&--e,i||a)for(let r=0;r<e;++r)g(t[r]);else for(let r=0;r<e;++r){const[e,s]=t[r];h[2*m]=e,h[2*m+1]=s,++m}}return d[p]=m,n}function y(t){const e=v+t;if(e<=(n.segmentParams?.length??0))return;let r=e*X;r=20*Math.ceil(r/20);const s=n.segmentParams;n.segmentParams=new Float64Array(r),null!=s&&n.segmentParams.set(s)}let v=0;for(const t of r){if(n.partOffsets[p++]=m,0===t.length)continue;const e=t[0];let r=e;for(let e=1;e<t.length;++e){const s=t[e];g(r);const i=m-1;(0,l.wY)(s)?(y(10),++n.segmentCountArc,v=R(r,s,n,i,v),r=s.a[0]):(0,l.DA)(s)?(y(10),++n.segmentCountArc,v=F(r,s,n,i,v),r=s.a[0]):(0,l.aO)(s)?(y(10),++n.segmentCountArc,v=Y(r,s,n,i,v),r=s.c[0]):(0,l.n1)(s)?(y(4),++n.segmentCountBezier,v=I(0,s,n,i,v),r=s.b[0]):r=s}x&&w(e,r)||g(r)}return n.partOffsets[p]=m,n}function E(t){const e=Z(t),{vertexCount:r,partCount:s,hasZ:n,hasM:i}=t,o=S(t);if("point"===t.type){const[e,r]=t.vertexXY,s=t.vertexZ?.[0],n=t.vertexM?.[0];return{x:e,y:r,z:s,m:n,spatialReference:o}}let a=0;if("multipoint"===t.type){const t=[];for(;a<r;)t.push(e(a++));return{points:t,spatialReference:o,hasZ:n,hasM:i}}const h="polygon"===t.type;if(!t.hasCurves()){const r=new Array;for(let n=0;n<s;++n){const s=t.partOffsets[n+1],i=new Array;for(;a<s;)i.push(e(a++));h&&i.length>0&&i.push(i[0]),r.push(i)}return h?{rings:r,hasZ:n,hasM:i,spatialReference:o}:{paths:r,hasZ:n,hasM:i,spatialReference:o}}const u=new Array;for(const{segments:e,startVertex:r}of t.parts){const t=[r];for(const{curve:r}of e)t.push(r);u.push(t)}return h?{rings:[],curveRings:u,hasZ:n,hasM:i,spatialReference:o}:{paths:[],curvePaths:u,hasZ:n,hasM:i,spatialReference:o}}function O(t,{lengths:e,coords:r,hasZ:s,hasM:n},i){const o=t.includes("point")?0:e.length,a="polygon"===t,h="point"===t?1:e.reduce((t,e)=>t+e,0)-(a?o:0);s??=!1,n??=!1;const u=b(t,h,o,s,n,!1,0,0);if(u.spatialReference=i??void 0,!u.isMultipart()){for(let t=0,e=0;t<h;++t)u.vertexXY[2*t]=r[e++],u.vertexXY[2*t+1]=r[e++],s&&(u.vertexZ[t]=r[e++]),n&&(u.vertexM[t]=r[e++]);return u}const c=2+Number(s)+Number(n);let l=0,g=0;u.partOffsets[0]=0;for(const t of e){const e=u.partOffsets[g],i=e+t-Number(a);u.partOffsets[++g]=i;for(let t=e;t<i;++t)u.vertexXY[2*t]=r[l++],u.vertexXY[2*t+1]=r[l++],s&&(u.vertexZ[t]=r[l++]),n&&(u.vertexM[t]=r[l++]);a&&(l+=c)}return u}function _({type:t,vertexCount:e,vertexXY:r,vertexZ:s,vertexM:n,partCount:i,partOffsets:o,hasZ:a,hasM:h}){const u=new m.A([],[],a,h);i=Math.max(i,1);const c="polygon"===t;let l=0;for(let t=0;t<i;++t){const i=o?.[t+1]??e,g=u.coords.length;for(let t=l;t<i;++t)u.coords.push(r[2*t],r[2*t+1]),a&&u.coords.push(s[t]),h&&u.coords.push(n[t]);if(c){const t=l;u.coords.push(r[2*t],r[2*t+1]),a&&u.coords.push(s[t]),h&&u.coords.push(n[t])}u.lengths.push((u.coords.length-g)/u.stride),l=i}return"point"===t&&(u.lengths.length=0),u}function P(t,e){return"getSpatialReference"in t&&(e=function(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let s=t.getLatestID();(s<=0||s===r)&&(s=void 0);const n=t.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:e};const i=n.isCustomWkid()?0:n.getOldID();if(i<=0)return{wkt:e};let o=t.getLatestVerticalID();return(o<=0||o===i)&&(o=void 0),{wkid:r,wkt:e,latestWkid:s,vcsWkid:i,latestVcsWkid:o}}(t.getSpatialReference()),t=t.getGeometry()),new x({...t.toFlatGeometry(),spatialReference:e})}class A{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function S({spatialReference:t}){return t instanceof n.A?t.toJSON():t}function Z({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?s=>[t[2*s],t[2*s+1],e[s],r[s]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function w(t,e){return t.every((t,r)=>t===e[r])}function b(t,e,r,s,n,i,o,a){o??=0,a??=0;const h=new x({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:o,segmentCountBezier:a});let u=2*Float64Array.BYTES_PER_ELEMENT*e;s&&(u+=Float64Array.BYTES_PER_ELEMENT*e),n&&(u+=Float64Array.BYTES_PER_ELEMENT*e),h.isMultipart()&&(u+=(r+1)*Int32Array.BYTES_PER_ELEMENT,u+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(u+=e*Int8Array.BYTES_PER_ELEMENT,u+=e*Int32Array.BYTES_PER_ELEMENT,u+=h.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const c=new ArrayBuffer(u);let l=0;return h.vertexXY=new Float64Array(c,l,2*e),l+=h.vertexXY.byteLength,s&&(h.vertexZ=new Float64Array(c,l,e),l+=h.vertexZ.byteLength),n&&(h.vertexM=new Float64Array(c,l,e),l+=h.vertexM.byteLength),i&&(h.segmentParams=new Float64Array(c,l,h.segmentParamCount),l+=h.segmentParams.byteLength,h.segmentIndices=new Int32Array(c,l,e),h.segmentIndices.fill(k),l+=h.segmentIndices.byteLength),h.isMultipart()&&(h.partOffsets=new Int32Array(c,l,r+1),l+=h.partOffsets.byteLength,h.partFlags=new Int8Array(c,l,r+1),l+=h.partFlags.byteLength,"polygon"===h.type&&h.partFlags.subarray(0,r).fill(1)),i&&(h.segmentFlags=new Int8Array(c,l,e),h.segmentFlags.fill(1),l+=h.segmentFlags.byteLength),h}function R(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){r[i]=4,s[i]=o;const[a,[h,u],c,l,g,m,x]=e.a;let d=4;l||(d|=1),c||(d|=2);const p=(0,f.SW)(t,e),[y,v]=(0,f.Uk)(p,.5);return n[o++]=d,n[o++]=m,n[o++]=x,n[o++]=g,n[o++]=h,n[o++]=u,n[o++]=p.u2-p.u1,n[o++]=p.u1,n[o++]=y,n[o++]=v,o}function F(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){r[i]=4,s[i]=o;const a=(0,g.io)(t,e);return V(a,4,...(0,h.mq)(a,.5),n,o)}function Y(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,o){return r[i]=4,s[i]=o,V((0,u.pM)(t,e),0,...e.c[1],n,o)}function V(t,e,r,s,n,i){const{cx:o,cy:a,thetaStart:h,thetaEnd:u,radius:c}=t;return h>u||(e|=1),Math.abs(u-h)<=Math.PI||(e|=2),n[i++]=e,n[i++]=c,n[i++]=1,n[i++]=0,n[i++]=o,n[i++]=a,n[i++]=u-h,n[i++]=h,n[i++]=r,n[i++]=s,i}function I(t,{b:[e,[r,s],[n,i]]},{segmentFlags:o,segmentIndices:a,segmentParams:h},u,c){return o[u]=2,a[u]=c,h[c++]=r,h[c++]=s,h[c++]=n,h[c++]=i,c}const X=1.61803,k=-1},83547(t,e,r){r.r(e),r.d(e,{execute:()=>o});var s=r(46810),n=r(83299);const i=new s.O;function o(t,e){const r=(0,n.fromGeometry)(t);return i.execute(r.getGeometry(),(0,n.fromGeometryToGXGeometry)(e),r.getSpatialReference(),null)}},92722(t,e,r){r.d(e,{A:()=>n});var s=r(69397);class n{constructor(t=[],e=[],r=!1,s=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=r,this.hasM=s}static fromJSON({lengths:t,coords:e,hasZ:r,hasM:s}){return new n(t,e,r||!1,s||!1)}static fromRect([t,e,r,s]){const i=r-t,o=s-e;return new n([5],[t,e,i,0,0,o,-i,0,0,-o])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((t,e)=>t+e,0)}get usedMemory(){return 64+(0,s.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let t=0,e=0;for(const r of this.lengths){if(r<3)continue;const{stride:s}=this;let n=this.coords[s*e],i=this.coords[s*e+1];for(let o=1;o<r;o+=1){const r=s*(e+o),a=this.coords[r],h=this.coords[r+1];t+=-.5*(a-n)*(h+i),n=a,i=h}e+=r}return t}forEachVertex(t){let e=0;if(this.isPoint)return t(this.coords[0],this.coords[1]);const{stride:r}=this;for(const s of this.lengths){for(let n=0;n<s;n++){const s=r*(e+n);t(this.coords[s],this.coords[s+1])}e+=s}}deltaDecode(){const t=this.clone(),{coords:e,lengths:r}=t;let s=0;const{stride:n}=this;for(const t of r){for(let r=1;r<t;r++){const t=n*(s+r);e[t]+=e[t-n],e[t+1]+=e[t+1-n]}s+=t}return t}clone(t){if(this.isPoint)return new n([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:r,size:s}=this,i=this.coords.slice(0,s*r);return t?(t.set(i),new n(e,t,this.hasZ,this.hasM)):new n(e,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:t,size:e}=this;if(2===t)return this;const r=new Array(e*t);for(let e=0,s=0;e<r.length;e+=t)r[s++]=this.coords[e],r[s++]=this.coords[e+1];return new n(this.lengths,r,!1,!1)}}}}]);
|