UNPKG

@arcgis/core

Version:

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

1 lines • 6.54 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7136],{17136:(e,t,n)=>{n.d(t,{O7:()=>k,el:()=>S});var s=n(92602),r=n(49186),o=n(53966),i=n(39829),c=n(82799),f=n(80754),l=n(21325),u=n(28735),a=n(78888),p=n(65864),h=n(2272),g=n(84952),y=n(92300);const m=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function d(e){return"polygon"===e[0].type}function A(e){return"polyline"===e[0].type}function x(e,t,n){if(t){const t=function(e,t){if(!(e instanceof c.A||e instanceof i.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw m().error(e),new r.A(e)}const n=(0,f.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 r=e[s][0],o=e[s][1],i=e[s+1][0],c=e[s+1][1],f=Math.sqrt((i-r)*(i-r)+(c-o)*(c-o)),l=(c-o)/f,u=(i-r)/f,a=f/t;if(a>1){for(let e=1;e<=a-1;e++){const s=e*t,i=u*s+r,c=l*s+o;n.push([i,c])}const e=(f+Math.floor(a-1)*t)/2,s=u*e+r,i=l*e+o;n.push([s,i])}n.push([i,c])}}return function(e){return"polygon"===e.type}(e)?new i.A({rings:s,spatialReference:e.spatialReference}):new c.A({paths:s,spatialReference:e.spatialReference})}(e,1e6);e=(0,u.ci)(t,!0)}return n&&(e=(0,f.kS)(e,n)),e}function w(e,t,n){if(Array.isArray(e)){const s=e[0];if(s>t){const n=(0,f.kd)(s,t);e[0]=s+n*(-2*t)}else if(s<n){const t=(0,f.kd)(s,n);e[0]=s+t*(-2*n)}}else{const s=e.x;if(s>t){const n=(0,f.kd)(s,t);e=e.clone().offset(n*(-2*t),0)}else if(s<n){const t=(0,f.kd)(s,n);e=e.clone().offset(t*(-2*n),0)}}return e}function R(e,t){let n=-1;for(let s=0;s<t.cutIndexes.length;s++){const r=t.cutIndexes[s],o=t.geometries[s],i=(0,f.r8)(o);for(let e=0;e<i.length;e++){const t=i[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,f.kd)(n,180);for(let n=0;n<t.length;n++){const t=o.getPoint(e,n);o.setPoint(e,n,t.clone().offset(s,0))}return!0}}))}if(r===n){if(d(e))for(const t of(0,f.r8)(o))e[r]=e[r].addRing(t);else if(A(e))for(const t of(0,f.r8)(o))e[r]=e[r].addPath(t)}else n=r,e[r]=o}return e}async function S(e,t,n){if(!Array.isArray(e))return S([e],t);t&&"string"!=typeof t&&m().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const r="string"==typeof t?t:t?.url??s.A.geometryServiceUrl;let o,d,A,k,M,b,N,j,O=0;const X=[],J=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,d=(0,l.Vp)(o),A=o.isWebMercator,b=A?102100:4326,k=f.j7[b].maxX,M=f.j7[b].minX,N=f.j7[b].plus180Line,j=f.j7[b].minus180Line),d)if("mesh"===t.type)J.push(t);else if("point"===t.type)J.push(w(t.clone(),k,M));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map((e=>w(e,k,M))),J.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,d);J.push(e.rings?new i.A(e):e)}else if(t.extent){const e=t.extent,n=(0,f.kd)(e.xmin,M)*(2*k);let s=0===n?t.clone():(0,f.kS)(t.clone(),n);e.offset(n,0);let{xmin:r,xmax:o}=e;r=Number(r.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(N)&&o!==k?(O=o>O?o:O,s=x(s,A),X.push(s),J.push("cut")):e.intersects(j)&&r!==M?(O=o*(2*k)>O?o*(2*k):O,s=x(s,A,360),X.push(s),J.push("cut")):J.push(s)}else J.push(t.clone());else J.push(t);else J.push(t);let q=(0,f.kd)(O,k),L=-90;const v=q,C=new c.A;for(;q>0;){const e=360*q-180;C.addPath([[e,L],[e,-1*L]]),L*=-1,q--}if(X.length>0&&v>0){const t=R(X,await async function(e,t,n,s){const r=(0,h.Dl)(e),o=t[0].spatialReference,i={...s,responseType:"json",query:{...r.query,f:"json",sr:(0,l.YX)(o),target:JSON.stringify({geometryType:(0,p.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},c=await(0,a.A)(r.path+"/cut",i),{cutIndexes:f,geometries:u=[]}=c.data;return{cutIndexes:f,geometries:u.map((e=>{const t=(0,p.rS)(e);return t.spatialReference=o,t}))}}(r,X,C,n)),s=[],o=[];for(let n=0;n<J.length;n++){const r=J[n];if("cut"!==r)o.push(r);else{const r=t.shift(),i=e[n];null!=i&&"polygon"===i.type&&i.rings&&i.rings.length>1&&r.rings.length>=i.rings.length?(s.push(r),o.push("simplify")):o.push(A?(0,u.Gh)(r):r)}}if(!s.length)return o;const i=await async function(e,t,n){const s="string"==typeof e?(0,g.An)(e):e,r=t[0].spatialReference,o=(0,p.$B)(t[0]),i={...n,query:{...s.query,f:"json",sr:(0,l.YX)(r),geometries:JSON.stringify((0,y.X)(t))}},{data:c}=await(0,a.A)(s.path+"/simplify",i);return(0,y.V)(c.geometries,o,r)}(r,s,n),c=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?c.push(t):c.push(A?(0,u.Gh)(i.shift()):i.shift())}return c}const G=[];for(let e=0;e<J.length;e++){const t=J[e];if("cut"!==t)G.push(t);else{const e=X.shift();G.push(!0===A?(0,u.Gh)(e):e)}}return G}function k(e,t,n){const s=(0,l.Vp)(n);if(null==s)return e;const[r,o]=s.valid,i=2*o;let c=0,f=0;t>o?c=Math.ceil(Math.abs(t-o)/i):t<r&&(c=-Math.ceil(Math.abs(t-r)/i)),e>o?f=Math.ceil(Math.abs(e-o)/i):e<r&&(f=-Math.ceil(Math.abs(e-r)/i));let u=e+(c-f)*i;const a=u-t;return a>o?u-=i:a<r&&(u+=i),u}},80754:(e,t,n)=>{n.d(t,{j7:()=>i,kS:()=>f,kd:()=>c,r8:()=>l});var s=n(82799),r=n(16930),o=n(65864);const i={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:r.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:r.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function f(e,t){const n=l(e);for(const e of n)for(const n of e)n[0]+=t;return e}function l(e){return(0,o.Bi)(e)?e.rings:e.paths}},92300:(e,t,n)=>{n.d(t,{V:()=>o,X:()=>r});var s=n(65864);function r(e){return{geometryType:(0,s.$B)(e[0]),geometries:e.map((e=>e.toJSON()))}}function o(e,t,n){const r=(0,s.xD)(t);return e.map((e=>{const t=r.fromJSON(e);return t.spatialReference=n,t}))}},2272:(e,t,n)=>{n.d(t,{Dl:()=>i,jV:()=>o,lF:()=>c}),n(92602),n(70333);var s=n(4718),r=n(84952);function o(e,t){return t?{...t,query:{...e??{},...t.query}}:{query:e}}function i(e){return"string"==typeof e?(0,r.An)(e):(0,s.o8)(e)}function c(e,t,n){const s={};for(const r in e){if("declaredClass"===r)continue;const o=e[r];if(null!=o&&"function"!=typeof o)if(Array.isArray(o))s[r]=o.map((e=>c(e)));else if("object"==typeof o)if(o.toJSON){const e=o.toJSON(n?.[r]);s[r]=t?e:JSON.stringify(e)}else s[r]=t?o:JSON.stringify(o);else s[r]=o}return s}n(926)}}]);