@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 8.33 kB
JavaScript
;(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[490],{4902(e,t,n){n.d(t,{s:()=>o});var s=n(5482),i=n(64108);let r=0;const o=e=>{const t=e;let n=class extends t{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+r++})}};return n=(0,s.Cg)([(0,i.$)("esri.core.Identifiable")],n),n};o(class{})},17136(e,t,n){n.d(t,{Y_:()=>P,O7:()=>S,el:()=>v});var s=n(92602),i=n(69052),r=n(49186),o=n(53966),c=n(39829),l=n(82799),u=n(16930),a=n(80754),f=n(21325),h=n(28735),p=n(11254),m=n(60408),g=n(65864),y=n(2272),d=n(84952),A=n(92300);const M=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function w(e){return"polygon"===e[0].type}function x(e){return"polyline"===e[0].type}function b(e,t,n){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof c.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw M().error(e),new r.A("internal:geometry",e)}const n=(0,a.r8)(e),s=[];for(const e of n){const n=[];s.push(n),n.push([e[0][0],e[0][1]]);for(let s=0;s<e.length-1;s++){const i=e[s][0],r=e[s][1],o=e[s+1][0],c=e[s+1][1],l=Math.sqrt((o-i)*(o-i)+(c-r)*(c-r)),u=(c-r)/l,a=(o-i)/l,f=l/t;if(f>1){for(let e=1;e<=f-1;e++){const s=e*t,o=a*s+i,c=u*s+r;n.push([o,c])}const e=(l+Math.floor(f-1)*t)/2,s=a*e+i,o=u*e+r;n.push([s,o])}n.push([o,c])}}return function(e){return"polygon"===e.type}(e)?new c.A({rings:s,spatialReference:e.spatialReference}):new l.A({paths:s,spatialReference:e.spatialReference})}(e,1e6);e=(0,h.ci)(t,!0)}return n&&(e=(0,a.kS)(e,n)),e}function R(e,t,n){if(Array.isArray(e)){const s=e[0];if(s>t){const n=(0,a.kd)(s,t);e[0]=s+n*(-2*t)}else if(s<n){const t=(0,a.kd)(s,n);e[0]=s+t*(-2*n)}}else{const s=e.x;if(s>t){const n=(0,a.kd)(s,t);e=e.clone().offset(n*(-2*t),0)}else if(s<n){const t=(0,a.kd)(s,n);e=e.clone().offset(t*(-2*n),0)}}return e}function k(e,t){let n=-1;for(let s=0;s<t.cutIndexes.length;s++){const i=t.cutIndexes[s],r=t.geometries[s],o=(0,a.r8)(r);for(let e=0;e<o.length;e++){const t=o[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const s=t[e][0];n=s>n?s:n}n=Number(n.toFixed(9));const s=-360*(0,a.kd)(n,180);for(let n=0;n<t.length;n++){const t=r.getPoint(e,n);r.setPoint(e,n,t.clone().offset(s,0))}return!0}})}if(i===n){if(w(e))for(const t of(0,a.r8)(r))e[i]=e[i].addRing(t);else if(x(e))for(const t of(0,a.r8)(r))e[i]=e[i].addPath(t)}else n=i,e[i]=r}return e}async function v(e,t,n){if(!Array.isArray(e))return v([e],t);t&&"string"!=typeof t&&M().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const i="string"==typeof t?t:t?.url??s.A.geometryServiceUrl;let r,o,u,w,x,S,j,P,L=0;const C=[],X=[];for(const t of e)if(null!=t)if(r||(r=t.spatialReference,o=(0,f.Vp)(r),u=r.isWebMercator,S=u?102100:4326,w=a.j7[S].maxX,x=a.j7[S].minX,j=a.j7[S].plus180Line,P=a.j7[S].minus180Line),o)if("mesh"===t.type)X.push(t);else if("point"===t.type)X.push(R(t.clone(),w,x));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>R(e,w,x)),X.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,o);X.push(e.rings?new c.A(e):e)}else if(t.extent){const e=t.extent,n=(0,a.kd)(e.xmin,x)*(2*w);let s=0===n?t.clone():(0,a.kS)(t.clone(),n);e.offset(n,0);let{xmin:i,xmax:r}=e;i=Number(i.toFixed(9)),r=Number(r.toFixed(9)),e.intersects(j)&&r!==w?(L=r>L?r:L,s=b(s,u),C.push(s),X.push("cut")):e.intersects(P)&&i!==x?(L=r*(2*w)>L?r*(2*w):L,s=b(s,u,360),C.push(s),X.push("cut")):X.push(s)}else X.push(t.clone());else X.push(t);else X.push(t);let z=(0,a.kd)(L,w),I=-90;const N=z,q=new l.A;for(;z>0;){const e=360*z-180;q.addPath([[e,I],[e,-1*I]]),I*=-1,z--}if(C.length>0&&N>0){const t=k(C,await async function(e,t,n,s){const i=(0,y.Dl)(e),r=t[0].spatialReference,o={...s,responseType:"json",query:{...i.query,f:"json",sr:(0,f.YX)(r),target:JSON.stringify({geometryType:(0,m.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},c=await(0,p.A)(i.path+"/cut",o),{cutIndexes:l,geometries:u=[]}=c.data;return{cutIndexes:l,geometries:u.map(e=>{const t=(0,g.rS)(e);return t.spatialReference=r,t})}}(i,C,q,n)),s=[],r=[];for(let n=0;n<X.length;n++){const i=X[n];if("cut"!==i)r.push(i);else{const i=t.shift(),o=e[n];null!=o&&"polygon"===o.type&&o.rings&&o.rings.length>1&&i.rings.length>=o.rings.length?(s.push(i),r.push("simplify")):r.push(u?(0,h.Gh)(i):i)}}if(!s.length)return r;const o=await async function(e,t,n){const s="string"==typeof e?(0,d.An)(e):e,i=t[0].spatialReference,r=(0,m.$B)(t[0]),o={...n,query:{...s.query,f:"json",sr:(0,f.YX)(i),geometries:JSON.stringify((0,A.X)(t))}},{data:c}=await(0,p.A)(s.path+"/simplify",o);return(0,A.V)(c.geometries,r,i)}(i,s,n),c=[];for(let e=0;e<r.length;e++){const t=r[e];"simplify"!==t?c.push(t):c.push(u?(0,h.Gh)(o.shift()):o.shift())}return c}const G=[];for(let e=0;e<X.length;e++){const t=X[e];if("cut"!==t)G.push(t);else{const e=C.shift();G.push(!0===u?(0,h.Gh)(e):e)}}return G}function S(e,t,n){const s=(0,f.Vp)(n);if(null==s)return e;const[i,r]=s.valid,o=2*r;let c=0,l=0;t>r?c=Math.ceil(Math.abs(t-r)/o):t<i&&(c=-Math.ceil(Math.abs(t-i)/o)),e>r?l=Math.ceil(Math.abs(e-r)/o):e<i&&(l=-Math.ceil(Math.abs(e-i)/o));let u=e+(c-l)*o;const a=u-t;return a>r?u-=o:a<i&&(u+=o),u}function j(e){const t=(0,f.Vp)(e);if(null==t)return null;const[n,s]=t.valid;return new i.hr(n,s)}const P=j(u.A.WGS84);j(u.A.WebMercator)},36708(e,t,n){n.d(t,{C_:()=>h,OH:()=>g,Vh:()=>y,on:()=>f,pc:()=>d,wB:()=>l,z7:()=>u});var s=n(37955),i=n(36563),r=n(97768),o=n(74887),c=n(14012);function l(e,t,n={}){return a(e,t,n,p)}function u(e,t,n={}){return a(e,t,n,m)}function a(e,t,n={},s){let i=null;const o=n.once?(e,n)=>{s(e)&&((0,r.xt)(i),t(e,n))}:(e,n)=>{s(e)&&t(e,n)};if(i=(0,c.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return i}function f(e,t,n,o={}){let c=null,u=null,a=null;function f(){c&&u&&(u.remove(),o.onListenerRemove?.(c),c=null,u=null)}function h(e){o.once&&o.once&&(0,r.xt)(a),n(e)}const p=l(e,(e,n)=>{f(),(0,s.wb)(e)&&(c=e,u=(0,s.on)(e,t,h),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return a=(0,i.hA)(()=>{p.remove(),f()}),a}function h(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const s=e();if(t?.(s))return Promise.resolve(s);let c=null;function l(){c=(0,r.xt)(c)}return new Promise((s,r)=>{c=(0,i.vE)([(0,o.u7)(n,()=>{l(),r((0,o.NK)())}),a(e,e=>{l(),s(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}n(80559);const g={sync:!0},y={initial:!0},d={sync:!0,initial:!0}},69052(e,t,n){n.d(t,{hr:()=>i,ie:()=>l,uC:()=>c});var s=n(34727);class i{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return r(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,s.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+o(this.range,e-t,n)}minimalMonotonic(e,t,n){return r(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,s=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(s)?n:s}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function r(e,t,n,s,i=0,r=!1){return(s-=i)<t?s+=o(e,t-s):s>n&&(s-=o(e,s-n)),r&&s===n&&(s=t),s+i}function o(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const c=new i(0,2*Math.PI),l=(new i(-Math.PI,Math.PI),new i(0,360))},80754(e,t,n){n.d(t,{j7:()=>o,kS:()=>l,kd:()=>c,r8:()=>u});var s=n(82799),i=n(16930),r=n(60408);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:i.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:i.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:i.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:i.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const n=u(e);for(const e of n)for(const n of e)n[0]+=t;return e}function u(e){return(0,r.Bi)(e)?e.rings:e.paths}}}]);