UNPKG

@arcgis/core

Version:

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

1 lines • 16 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7373],{37373(e,n,t){t.d(n,{DO:()=>Y,FT:()=>z,Hh:()=>k,OM:()=>F,Ps:()=>X,Wo:()=>G,_I:()=>E,_l:()=>L,l0:()=>B,t$:()=>K,uk:()=>O});var i=t(4576),o=t(49186),s=t(74887),r=t(86211),a=t(5443),l=t(83290),c=t(86738),f=t(39829),u=t(91218),x=t(16930),m=t(21325);function h(){if(!b)throw new o.A("rasterprojectionhelper-project","projection operator is not loaded")}const p=(e,n,t,i=0)=>{if(1===t[0])return[0,0];let o=1,s=-1,r=1,a=-1;for(let n=0;n<e.length;n+=2)isNaN(e[n])||(o=o>e[n]?e[n]:o,s=s>e[n]?s:e[n],r=r>e[n+1]?e[n+1]:r,a=a>e[n+1]?a:e[n+1]);const{cols:l,rows:c}=n,f=(s-o)/l/t[0],u=(a-r)/c/t[1],x=2*i;let m=0,h=!1,p=[0,0];for(let n=0;n<l-3;n++){for(let t=0;t<c-3;t++){const i=n*c*2+2*t,o=(e[i]+e[i+4]+e[i+4*c]+e[i+4*c+4])/4,s=(e[i+1]+e[i+5]+e[i+4*c+1]+e[i+4*c+5])/4,r=Math.abs((o-e[i+2*c+2])/f),a=Math.abs((s-e[i+2*c+3])/u);if(r+a>m&&(m=r+a,p=[r,a]),x&&m>x){h=!0;break}}if(h)break}return p},g={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},y=new Map,d=new Map,w=500;let M,R,P,b=!1;async function k(){return M||(M=(0,s.Tw)(),R=await t.e(3276).then(t.bind(t,83276)),P=await t.e(2158).then(t.bind(t,12158)),R.isLoaded()||await R.load(),P.isLoaded()||await P.load(),b=!0,M.resolve()),M.promise}function G(e,n,t,i){const o=e.spatialReference;if(!o||!n||o.equals(n))return e;h();const s=t.center,l=new a.A({xmin:s.x-e.x/2,xmax:s.x+e.x/2,ymin:s.y-e.y/2,ymax:s.y+e.y/2,spatialReference:o}),c=R.execute(l,n,{geographicTransformation:i}),f=z(n);return null==c||null!=f&&c.width>=f?function(e,n,t){const i=(0,r.GA)(n)/(0,r.GA)(t);return{x:e.x*i,y:e.y*i}}(e,o,n):{x:c.width,y:c.height}}function S(e,n=.01){return(0,r.GA)(e)?n/(0,r.GA)(e):0}function E(e,n,t,i=!0){const o=e.spatialReference;if(o.equals(n))return e;h();const s=R.execute(e,n,{geographicTransformation:t});return i&&s?(A([e],[s],o,n),s):s}function A(e,n,t,i){const o=I(t,!0),s=I(i,!0),r=S(t,w),a=S(i,w);if(r&&null!=o&&null!=s)for(let t=0;t<e.length;t++){const i=n[t];if(!i)continue;const{x:l}=e[t],{x:c}=i;c>=s[1]-a&&Math.abs(l-o[0])<r?i.x-=s[1]-s[0]:c<=s[0]+a&&Math.abs(l-o[1])<r&&(i.x+=s[1]-s[0])}}function N(e){const{inSR:n,outSR:t,preferPE:i}=e;if(n.equals(t)){const{points:n}=v(e,null);return n}if(n.isWebMercator&&t.isWGS84||n.isWGS84&&t.isWebMercator)return function(e){const{cols:n,rows:t,xres:i,yres:o,usePixelCenter:s,inSR:r,outSR:a}=e;let{xmin:l,ymax:f}=e;s&&(l+=i/2,f-=o/2);const x=[],m=[],h=Math.max(n,t);for(let e=0;e<h;e++){const s=l+i*Math.min(n,e),h=f-o*Math.min(t,e),p=(0,u.projectWithoutEngine)(new c.A({x:s,y:h,spatialReference:r}),r,a);e<=n&&x.push(p.x),e<=t&&m.push(p.y)}const p=[];for(let e=0;e<n;e++)for(let n=0;n<t;n++)p.push([x[e],m[n]]);return p}(e);if(i){if(n.isGeographic)return T(e);if(null!=C(n))return T(e)}return function(e){const{points:n}=v(e,null),{inSR:t,outSR:i,datumTransformation:o}=e,s=n.map(e=>new c.A(e[0],e[1],t)),r=R.executeMany(s,i,{geographicTransformation:o});return o&&A(s,r,t,i),r.map(e=>e?[e.x,e.y]:[NaN,NaN])}(e)}function T(e){const{inSR:n,outSR:t,datumTransformation:i}=e,o=C(n),{points:s,mask:r}=v(e,o);if(!n.isGeographic){const e=n.wkid?l.P.coordsys(n.wkid):l.P.fromString(n.isGeographic?l.a.PE_TYPE_GEOGCS:l.a.PE_TYPE_PROJCS,n.wkt2||n.wkt);l.h.projToGeog(e,s.length,s)}if(null!=i&&i.steps.length){let e;const n=179.9955;if(t.isGeographic&&(e=s.map(([e])=>e>n?1:e<-n?-1:0)),i.steps.forEach(e=>{const n=e.wkid?l.P.geogtran(e.wkid):l.P.fromString(l.a.PE_TYPE_GEOGTRAN,e.wkt);l.j.geogToGeog(n,s.length,s,null,e.isInverse?l.a.PE_TRANSFORM_2_TO_1:l.a.PE_TRANSFORM_1_TO_2)}),e)for(let t=0;t<s.length;t++){const i=e[t],o=s[t][0],r=o>n?1:o<-n?-1:0;i&&r&&i!==r&&(s[t][0]=i>0?o+360:o-360)}}if(!t.isGeographic){const e=C(t,!0),n=null!=e&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];!function(e,n){const[t,i]=n;for(let n=0;n<e.length;n++){const o=e[n][1];(o<t||o>i)&&(e[n]=[NaN,NaN])}}(s,n);const i=t.wkid?l.P.coordsys(t.wkid):l.P.fromString(t.isGeographic?l.a.PE_TYPE_GEOGCS:l.a.PE_TYPE_PROJCS,t.wkt2||t.wkt);l.h.geogToProj(i,s.length,s)}let a=s;if(r&&s.length!==r.length){a=[];for(let e=0,n=0;e<r.length;e++)r[e]?a.push(s[n++]):a.push([NaN,NaN])}return a}function C(e,n=!1){let t=e.wkid||e.wkt2||e.wkt;if(!t||e.isGeographic)return null;if(t=String(t),y.has(t)){const e=y.get(t);return n?e?.gcs:e?.pcs}const i=e.wkid?l.P.coordsys(e.wkid):l.P.fromString(e.isGeographic?l.a.PE_TYPE_GEOGCS:l.a.PE_TYPE_PROJCS,e.wkt2||e.wkt),o=_(i,S(e,1e-4)),s=_(i,0,!0);return y.set(t,{pcs:o,gcs:s}),n?s:o}function _(e,n=0,t=!1){const i=l.g.generate(e),o=t?e.horizonGcsGenerate():e.horizonPcsGenerate();if(!i||!o?.length)return null;let s=!1,r=o.find(e=>1===e.getInclusive()&&1===e.getKind());if(!r){if(r=o.find(e=>1===e.getInclusive()&&0===e.getKind()),!r)return null;s=!0}const a=t?0:(2===i.getNorthPoleLocation()?1:0)|(2===i.getSouthPoleLocation()?2:0),c=i.isPannableRectangle(),f=r.getCoord();if(s)return{isEnvelope:s,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-n,f[0][1]-n,f[1][0]+n,f[1][1]+n],poleLocation:a};let u=0;const x=[];let[m,h]=f[0],[p,g]=f[0];for(let e=0,n=f.length;e<n;e++){u++,u===n&&(u=0);const[t,i]=f[e],[o,s]=f[u];if(s===i)x.push([t,o,i,s,2]);else{const e=(o-t)/(s-i||1e-4),n=t-e*i;i<s?x.push([e,n,i,s,0]):x.push([e,n,s,i,1])}m=m<t?m:t,h=h<i?h:i,p=p>t?p:t,g=g>i?g:i}return{isEnvelope:!1,isPannable:c,vertices:f,coef:x,bbox:[m,h,p,g],poleLocation:a}}function v(e,n){const t=[],{cols:i,rows:o,xres:s,yres:r,usePixelCenter:a}=e;let{xmin:l,ymax:c}=e;if(a&&(l+=s/2,c-=r/2),null==n){for(let e=0;e<i;e++)for(let n=0;n<o;n++)t.push([l+s*e,c-r*n]);return{points:t}}const f=new Uint8Array(i*o);if(n.isEnvelope){const{isPannable:e,bbox:[a,u,x,m]}=n;for(let n=0,h=0;n<i;n++){const i=l+s*n,p=e||i>=a&&i<=x;for(let e=0;e<o;e++,h++){const n=c-r*e;p&&n>=u&&n<=m&&(t.push([i,n]),f[h]=1)}}return{points:t,mask:f}}const u=n.coef,x=[];for(let e=0;e<o;e++){const n=c-r*e,t=[],i=[];for(let e=0;e<u.length;e++){const[o,s,r,a,l]=u[e];if(n===r&&r===a)t.push(o),t.push(s),i.push(2),i.push(2);else if(n>=r&&n<=a){const e=o*n+s;t.push(e),i.push(l)}}let o=t;if(t.length>2){let e=2===i[0]?0:i[0],n=t[0];o=[];for(let s=1;s<i.length;s++)2===i[s]&&s!==i.length-1||(i[s]!==e&&(o.push(0===e?Math.min(n,t[s-1]):Math.max(n,t[s-1])),e=i[s],n=t[s]),s===i.length-1&&o.push(0===i[s]?Math.min(n,t[s]):Math.max(n,t[s])));o.sort((e,n)=>e-n)}else t[0]>t[1]&&(o=[t[1],t[0]]);x.push(o)}for(let e=0,n=0;e<i;e++){const i=l+s*e;for(let e=0;e<o;e++,n++){const o=c-r*e,s=x[e];if(2===s.length)i>=s[0]&&i<=s[1]&&(t.push([i,o]),f[n]=1);else if(s.length>2){let e=!1;for(let n=0;n<s.length;n+=2)if(i>=s[n]&&i<=s[n+1]){e=!0;break}e&&(t.push([i,o]),f[n]=1)}}}return{points:t,mask:f}}function L(e,n,t=null,o=!0){const s=e.spatialReference;if(s.equals(n)||!n)return e;const r=F(e),l=z(s,!0),c=z(n);if(0===r||null==l||null==c){const i=W(e,n,t,o);if(i&&null==l&&null!=c&&Math.abs(i.width-c)<S(n)&&R.isLoaded()){const t=C(s);if(null!=t&&0===t.poleLocation&&e.width<(t.bbox[2]-t.bbox[0])/2)return function(e,n){const t=z(n);if(null==t)return null;let{xmin:i,ymin:o,xmax:s,ymax:r}=e;const l=e.spatialReference,c=new f.A({spatialReference:l,rings:[[[i,o],[s,o],[s,r],[i,r],[i,o]]]}),u=R.execute(c,n);if(2!==u.rings.length||!u.rings[0].length||!u.rings[1].length)return null;const{rings:x}=u,m=S(l),h=new a.A({spatialReference:n});for(let e=0;e<2;e++){i=s=x[e][0][0],o=r=x[e][0][1];for(let n=0;n<x[e].length;n++)i=i>x[e][n][0]?x[e][n][0]:i,s=s<x[e][n][0]?x[e][n][0]:s,o=o>x[e][n][1]?x[e][n][1]:o,r=r<x[e][n][1]?x[e][n][1]:r;if(0===e)h.ymin=o,h.ymax=r,h.xmin=i,h.xmax=s;else if(h.ymin=Math.min(h.ymin,o),h.ymax=Math.max(h.ymax,r),Math.abs(s-t/2)<m)h.xmin=i,h.xmax=h.xmax+t;else{if(!(Math.abs(i+t/2)<m))return null;h.xmax=s+t}}return h}(e,n)||i}return i}const u=e.clone().normalize();if(1===u.length&&e.xmax<l&&e.xmax-l/2>S(s)){const{xmin:n,xmax:t}=e;for(let i=0;i<=r;i++){const o=0===i?n:-l/2,c=i===r?t-l*i:l/2;u[i]=new a.A({xmin:o,xmax:c,ymin:e.ymin,ymax:e.ymax,spatialReference:s})}}const x=u.map(e=>W(e,n,t,o)).filter(i.Ru);return 0===x.length?null:function(e,n){const t=z(e[0].spatialReference);if(e.length<2||null==t)return e[0];if(n=n??S(e[0].spatialReference),1===(e=e.filter(e=>e.width>n)).length)return e[0];let{xmin:i,xmax:o,ymin:s,ymax:r}=e[0];for(let n=1;n<e.length;n++){const i=e[n];o=i.xmax+t*n,s=Math.min(s,i.ymin),r=Math.max(r,i.ymax)}return new a.A({xmin:i,xmax:o,ymin:s,ymax:r,spatialReference:e[0].spatialReference})}(x)}function O(e,n,t){if("extent"===e.type){const{xmin:n,ymin:t,xmax:i,ymax:o,spatialReference:s}=e;e=new f.A({rings:[[[n,o],[i,o],[i,t],[n,t],[n,o]]],spatialReference:s})}return e.spatialReference.equals(n)?e:(h(),R.execute(e,n,{geographicTransformation:t}))}function W(e,n,t,i=!0,o=!0){const s=e.spatialReference;if(s.equals(n)||!n)return e;h();const r=R.execute(e,n,{geographicTransformation:t});if(o&&n.isWebMercator&&r&&(r.ymax=Math.min(20037508.342787,r.ymax),r.ymin=Math.max(-20037508.342787,r.ymin),r.ymin>=r.ymax))return null;if(!i||!r)return r;const a=I(s,!0),l=I(n,!0);if(null==a||null==l)return r;const f=S(s,.001),u=S(s,w),x=S(n,.001);if(Math.abs(r.xmin-l[0])<x&&Math.abs(r.xmax-l[1])<x){const i=Math.abs(e.xmin-a[0]),o=Math.abs(a[1]-e.xmax);if(i<f&&o>u){r.xmin=l[0];const i=[];i.push(new c.A(e.xmax,e.ymin,s)),i.push(new c.A(e.xmax,(e.ymin+e.ymax)/2,s)),i.push(new c.A(e.xmax,e.ymax,s));const o=i.map(e=>E(e,n,t)).filter(e=>!isNaN(e?.x)).map(e=>e.x);r.xmax=Math.max.apply(null,o)}if(o<f&&i>u){r.xmax=l[1];const i=[];i.push(new c.A(e.xmin,e.ymin,s)),i.push(new c.A(e.xmin,(e.ymin+e.ymax)/2,s)),i.push(new c.A(e.xmin,e.ymax,s));const o=i.map(e=>E(e,n,t)).filter(e=>!isNaN(e?.x)).map(e=>e.x);r.xmin=Math.min.apply(null,o)}}else{const e=S(n,.001);Math.abs(r.xmin-l[0])<e&&(r.xmin=l[0]),Math.abs(r.xmax-l[1])<e&&(r.xmax=l[1])}return r}function z(e,n=!1){if(!e)return null;const t=n?20037508.342787:20037508.342788905;return e.isWebMercator?2*t:e.wkid&&e.isGeographic?360:2*g[e.wkid]||null}function I(e,n=!1){if(e.isGeographic)return[-180,180];const t=z(e,n);return t?[-t/2,t/2]:null}function j(e,n,t,i){let o=(e-n)/t;return o-Math.floor(o)!==0?o=Math.floor(o):i&&(o-=1),o}function F(e,n=!1){const t=z(e.spatialReference);if(null==t)return 0;const i=n?0:-t/2,o=S(e.spatialReference),s=!n&&Math.abs(e.xmax-t/2)<o?t/2:e.xmax,r=!n&&Math.abs(e.xmin+t/2)<o?-t/2:e.xmin;return j(s,i,t,!0)-j(r,i,t,!1)}function Y(e){const n=e.storageInfo.origin.x,t=z(e.spatialReference,!0);if(null==t)return{originX:n,halfWorldWidth:null,pyramidsInfo:null};const i=t/2,{nativePixelSize:o,storageInfo:s,extent:r}=e,{maximumPyramidLevel:a,blockWidth:l,pyramidScalingFactor:c}=s;let f=o.x;const u=[],x=null!=e.transform&&"gcs-shift"===e.transform.type,m=n+(x?0:i),h=x?t-n:i-n;for(let e=0;e<=a;e++){const e=(r.xmax-n)/f/l,t=e-Math.floor(e)===0?e:Math.ceil(e),i=h/f/l,o=i-Math.floor(i)===0?i:Math.ceil(i),s=Math.floor(m/f/l),a=Math.round(m/f)%l,x=(l-Math.round(h/f)%l)%l;u.push({resolutionX:f,blockWidth:l,datasetColumnCount:t,worldColumnCountFromOrigin:o,leftMargin:a,rightPadding:x,originColumnOffset:s}),f*=c}return{originX:n,halfWorldWidth:i,pyramidsInfo:u,hasGCSSShiftTransform:x}}function B(e){const n=e.isAdaptive&&null==e.spacing;let t=e.spacing||[32,32],i=q(e),o={cols:i.size[0]+1,rows:i.size[1]+1};const s=i.outofBoundPointCount>0&&i.outofBoundPointCount<i.offsets.length/2;let r=i.outofBoundPointCount===i.offsets.length/2||n&&s?[0,0]:p(i.offsets,o,t,4);const a=(r[0]+r[1])/2,c=e.projectedExtent.spatialReference,f=e.srcBufferExtent.spatialReference;if(n&&(s||a>4)&&(c.isGeographic||C(c),t=[4,4],i=q({...e,spacing:t}),o={cols:i.size[0]+1,rows:i.size[1]+1},r=p(i.offsets,o,t,4)),i.error=r,t[0]>1&&(i.coefficients=J(i.offsets,o,s)),e.includeGCSGrid&&!c.isGeographic&&!c.isWebMercator)if(f.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:t};else{const n=C(c);if(null!=n&&!n.isEnvelope){const n=function(e){if(!e||e.isGeographic)return e;const n=String(e.wkid||e.wkt2||e.wkt);let t;return d.has(n)?t=d.get(n):(t=(e.wkid?l.P.coordsys(e.wkid):l.P.fromString(l.a.PE_TYPE_PROJCS,e.wkt2||e.wkt)).getGeogcs().getCode(),d.set(n,t)),new x.A({wkid:t})}(c),r=L(e.projectedExtent,n),{offsets:a}=q({...e,srcBufferExtent:r,spacing:t}),f=J(a,o,s);i.gcsGrid={offsets:a,coefficients:f,spacing:t}}}return i}function q(e){const{projectedExtent:n,srcBufferExtent:t,pixelSize:i,datumTransformation:o,rasterTransform:s}=e,r=n.spatialReference,a=t.spatialReference;h();const{xmin:l,ymin:f,xmax:u,ymax:x}=n,m=z(a),p=null!=m&&(e.hasWrapAround||"gcs-shift"===s?.type),g=e.spacing||[32,32],y=g[0]*i.x,d=g[1]*i.y,M=1===g[0],R=Math.ceil((u-l)/y-.1/g[0])+(M?0:1),P=Math.ceil((x-f)/d-.1/g[1])+(M?0:1),b=N({cols:R,rows:P,xmin:l,ymax:x,xres:y,yres:d,inSR:r,outSR:a,datumTransformation:o,preferPE:g[0]<=4,usePixelCenter:M}),k=[];let G,E=0;const A=M?-1:NaN,{xmin:T,xmax:_,ymax:v,width:L,height:O}=t,W=S(a,w),I=null!=m&&T>0&&_>m/2,j=C(r),F=null!=j&&j.poleLocation>0;for(let e=0;e<R;e++){const n=[];for(let t=0;t<P;t++){let i=b[e*P+t];if(p&&i[0]>_&&i[0]>m/2-W?i[0]-=m:p&&0===e&&i[0]<0&&I&&!s&&(i[0]+=m),!i||isNaN(i[0])||isNaN(i[1]))k.push(A),k.push(A),n.push(null),E++;else{if(s){const e=s.inverseTransform(new c.A({x:i[0],y:i[1],spatialReference:a}));i=[e.x,e.y]}n.push(i),e>0&&p&&G[t]&&i[0]<G[t][0]&&(i[0]+=m,F&&i[0]>_&&i[0]>m&&(i[0]-=m)),k.push((i[0]-T)/L),k.push((v-i[1])/O)}}G=n}return{offsets:k,error:null,coefficients:null,outofBoundPointCount:E,spacing:g,size:M?[R,P]:[R-1,P-1]}}function J(e,n,t){const{cols:i,rows:o}=n,s=new Float32Array((i-1)*(o-1)*2*6),r=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let n=0;n<i-1;n++){for(let t=0;t<o-1;t++){let l=n*o*2+2*t;const c=e[l],f=e[l+1],u=e[l+2],x=e[l+3];l+=2*o;const m=e[l],h=e[l+1],p=e[l+2],g=e[l+3];let y=0,d=12*(t*(i-1)+n);for(let e=0;e<3;e++)s[d++]=r[y++]*c+r[y++]*u+r[y++]*p;y=0;for(let e=0;e<3;e++)s[d++]=r[y++]*f+r[y++]*x+r[y++]*g;y=0;for(let e=0;e<3;e++)s[d++]=a[y++]*c+a[y++]*m+a[y++]*p;y=0;for(let e=0;e<3;e++)s[d++]=a[y++]*f+a[y++]*h+a[y++]*g}if(t)for(let e=0;e<s.length;e++)isNaN(s[e])&&(s[e]=-1)}return s}function X(e){const{spatialReference:n}=e,t=(0,m.Vp)(n);if(!t)return e;const[i,o]=t.valid,s=o-i;let r=0;if(e.xmin<i){const n=i-e.xmin;r=Math.ceil(n/s)}else if(e.xmin>o){const n=e.xmin-o;r=-Math.ceil(n/s)}return new a.A({spatialReference:e.spatialReference,xmin:e.xmin+r*s,ymin:e.ymin,xmax:e.xmax+r*s,ymax:e.ymax})}function K(e,n,t){const{storageInfo:i,pixelSize:o}=n;let s=0,a=!1;const{pyramidResolutions:l}=i,f="mixed"===i.tileInfo.format?.toLowerCase()?Math.max(1,Math.min(3,i.tileInfo.dpi/96)):1,u=(e.x+e.y)/2/f;if(null!=l&&l.length){const e=l[l.length-1],i=(e.x+e.y)/2,f=(o.x+o.y)/2;if(u<=f)s=0;else if(u>=i)s=l.length,a=u/i>8;else{let e,n=f;for(let i=1;i<=l.length;i++){if(e=(l[i-1].x+l[i-1].y)/2,u<=e){u===e?s=i:"down"===t?(s=i-1,a=u/n>8):s="up"===t||u-n>e-u||u/n>2?i:i-1;break}n=e}}const x=0===s?o:l[s-1];return a&&Math.min(x.x,x.y)*(0,r.GA)(n.spatialReference)>19567&&(a=!1),{pyramidLevel:s,pyramidResolution:new c.A({x:x.x,y:x.y,spatialReference:n.spatialReference}),excessiveReading:a}}const x=Math.log(e.x/o.x)/Math.LN2,m=Math.log(e.y/o.y)/Math.LN2,h=n.storageInfo.maximumPyramidLevel||0;s="down"===t?Math.floor(Math.min(x,m)):"up"===t?Math.ceil(Math.max(x,m)):Math.round((x+m)/2),s<0?s=0:s>h&&(a=s>h+3,s=h);const p=2**s;return{pyramidLevel:s,pyramidResolution:new c.A({x:p*n.nativePixelSize.x,y:p*n.nativePixelSize.y,spatialReference:n.spatialReference}),excessiveReading:a}}}}]);