UNPKG

@arcgis/core

Version:

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

1 lines • 7.52 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7087],{34727:(e,t,n)=>{n.d(t,{$8:()=>B,Cc:()=>s,Hx:()=>g,Io:()=>M,KJ:()=>u,Sp:()=>c,XM:()=>f,YN:()=>m,ZH:()=>d,cU:()=>a,gg:()=>h,hs:()=>l,kU:()=>o,or:()=>v,pF:()=>U,pq:()=>b,qE:()=>r});const i=new Float32Array(1);function a(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}function r(e,t,n){return Math.min(Math.max(e,t),n)}function s(e,t,n){return e+(t-e)*n}function l(e,t,n,i,a){return s(i,a,(e-t)/(n-t))}function o(e){return e*Math.PI/180}function u(e){return 180*e/Math.PI}function f(e){return Math.acos(r(e,-1,1))}function m(e){return Math.asin(r(e,-1,1))}function c(e,t,n=1e-6){return e===t||!(!Number.isFinite(e)||!Number.isFinite(t))&&(e>t?e-t:t-e)<=n}function h(e,t,n=1e-6){return!c(e,t,n)&&e>t}function d(e,t,n=1e-6){return!c(e,t,n)&&e<t}function g(e,t,n=1e-6){return c(e,t,n)||e>t}const k=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function x(e){return k.setFloat64(0,e),k.getBigInt64(0)}const p=BigInt("1000000"),w=y(1);function y(e){const t=x(e=Math.abs(e)),n=function(e){return k.setBigInt64(0,e),k.getFloat64(0)}(t<=p?p:t-p);return Math.abs(e-n)}function M(e,t,n=w){if(e===t)return!0;if(!Number.isFinite(e)||!Number.isFinite(t))return!1;if(null!=n&&y(Math.min(Math.abs(e),Math.abs(t)))<n)return Math.abs(e-t)<=n;const i=x(e),a=x(t);return i<0==a<0&&!((i<a?a-i:i-a)>p)}function B(e){return V(Math.max(-b,Math.min(e,b)))}function V(e){return i[0]=e,i[0]}function v(e){const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[3]*e[3]+e[4]*e[4]+e[5]*e[5],i=e[6]*e[6]+e[7]*e[7]+e[8]*e[8];return!(c(t,1)&&c(n,1)&&c(i,1))}const b=V(34028234663852886e22);function U(e,t,n){if(void 0===n||0==+n)return Math[e](t);if(t=+t,n=+n,isNaN(t)||"number"!=typeof n||n%1!=0)return NaN;let i=t.toString().split("e");return i=(t=Math[e](+(i[0]+"e"+(i[1]?+i[1]-n:-n)))).toString().split("e"),+(i[0]+"e"+(i[1]?+i[1]+n:n))}},57087:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var i=n(34727),a={};a.defaultNoDataValue=(0,i.$8)(-1/0),a.decode=function(e,t){var n=(t=t||{}).encodedMaskData||null===t.encodedMaskData,u=o(e,t.inputOffset||0,n),f=null!=t.noDataValue?(0,i.$8)(t.noDataValue):a.defaultNoDataValue,m=r(u,t.pixelType||Float32Array,t.encodedMaskData,f,t.returnMask),c={width:u.width,height:u.height,pixelData:m.resultPixels,minValue:u.pixels.minValue,maxValue:u.pixels.maxValue,noDataValue:f};return m.resultMask&&(c.maskData=m.resultMask),t.returnEncodedMask&&u.mask&&(c.encodedMaskData=u.mask.bitset?u.mask.bitset:null),t.returnFileInfo&&(c.fileInfo=s(u,f),t.computeUsedBitDepths&&(c.fileInfo.bitDepths=l(u))),c};var r=function(e,t,n,i,a){var r,s,l=0,o=e.pixels.numBlocksX,f=e.pixels.numBlocksY,m=Math.floor(e.width/o),c=Math.floor(e.height/f),h=2*e.maxZError;n=n||(e.mask?e.mask.bitset:null),r=new t(e.width*e.height),a&&n&&(s=new Uint8Array(e.width*e.height));for(var d,g,k=new Float32Array(m*c),x=0;x<=f;x++){var p=x!==f?c:e.height%f;if(0!==p)for(var w=0;w<=o;w++){var y=w!==o?m:e.width%o;if(0!==y){var M,B,V,v,b=x*e.width*c+w*m,U=e.width-y,D=e.pixels.blocks[l];if(D.encoding<2?(0===D.encoding?M=D.rawData:(u(D.stuffedData,D.bitsPerPixel,D.numValidPixels,D.offset,h,k,e.pixels.maxValue),M=k),B=0):V=2===D.encoding?0:D.offset,n)for(g=0;g<p;g++){for(7&b&&(v=n[b>>3],v<<=7&b),d=0;d<y;d++)7&b||(v=n[b>>3]),128&v?(s&&(s[b]=1),r[b++]=D.encoding<2?M[B++]:V):(s&&(s[b]=0),r[b++]=i),v<<=1;b+=U}else if(D.encoding<2)for(g=0;g<p;g++){for(d=0;d<y;d++)r[b++]=M[B++];b+=U}else for(g=0;g<p;g++)if(r.fill)r.fill(V,b,b+y),b+=y+U;else{for(d=0;d<y;d++)r[b++]=V;b+=U}if(1===D.encoding&&B!==D.numValidPixels)throw"Block and Mask do not match";l++}}}return{resultPixels:r,resultMask:s}},s=function(e,t){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,minValue:e.pixels.minValue,noDataValue:t}}},l=function(e){for(var t=e.pixels.numBlocksX*e.pixels.numBlocksY,n={},i=0;i<t;i++){var a=e.pixels.blocks[i];0===a.encoding?n.float32=!0:1===a.encoding?n[a.bitsPerPixel]=!0:n[0]=!0}return Object.keys(n)},o=function(e,t,n){var i={},a=new Uint8Array(e,t,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,a),"CntZImage"!=i.fileIdentifierString.trim())throw"Unexpected file identifier string: "+i.fileIdentifierString;t+=10;var r=new DataView(e,t,24);if(i.fileVersion=r.getInt32(0,!0),i.imageType=r.getInt32(4,!0),i.height=r.getUint32(8,!0),i.width=r.getUint32(12,!0),i.maxZError=r.getFloat64(16,!0),t+=24,!n)if(r=new DataView(e,t,16),i.mask={},i.mask.numBlocksY=r.getUint32(0,!0),i.mask.numBlocksX=r.getUint32(4,!0),i.mask.numBytes=r.getUint32(8,!0),i.mask.maxValue=r.getFloat32(12,!0),t+=16,i.mask.numBytes>0){var s=new Uint8Array(Math.ceil(i.width*i.height/8)),l=(r=new DataView(e,t,i.mask.numBytes)).getInt16(0,!0),o=2,u=0;do{if(l>0)for(;l--;)s[u++]=r.getUint8(o++);else{var f=r.getUint8(o++);for(l=-l;l--;)s[u++]=f}l=r.getInt16(o,!0),o+=2}while(o<i.mask.numBytes);if(-32768!==l||u<s.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=s,t+=i.mask.numBytes}else i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue||(s=new Uint8Array(Math.ceil(i.width*i.height/8)),i.mask.bitset=s);r=new DataView(e,t,16),i.pixels={},i.pixels.numBlocksY=r.getUint32(0,!0),i.pixels.numBlocksX=r.getUint32(4,!0),i.pixels.numBytes=r.getUint32(8,!0),i.pixels.maxValue=r.getFloat32(12,!0),t+=16;var m=i.pixels.numBlocksX,c=i.pixels.numBlocksY,h=m+(i.width%m>0?1:0),d=c+(i.height%c>0?1:0);i.pixels.blocks=new Array(h*d);for(var g=1e9,k=0,x=0;x<d;x++)for(var p=0;p<h;p++){var w=0,y=e.byteLength-t;r=new DataView(e,t,Math.min(10,y));var M={};i.pixels.blocks[k++]=M;var B=r.getUint8(0);if(w++,M.encoding=63&B,M.encoding>3)throw"Invalid block encoding ("+M.encoding+")";if(2!==M.encoding){if(0!==B&&2!==B){if(B>>=6,M.offsetType=B,2===B)M.offset=r.getInt8(1),w++;else if(1===B)M.offset=r.getInt16(1,!0),w+=2;else{if(0!==B)throw"Invalid block offset type";M.offset=r.getFloat32(1,!0),w+=4}if(g=Math.min(M.offset,g),1===M.encoding)if(B=r.getUint8(w),w++,M.bitsPerPixel=63&B,B>>=6,M.numValidPixelsType=B,2===B)M.numValidPixels=r.getUint8(w),w++;else if(1===B)M.numValidPixels=r.getUint16(w,!0),w+=2;else{if(0!==B)throw"Invalid valid pixel count type";M.numValidPixels=r.getUint32(w,!0),w+=4}}var V;if(t+=w,3!=M.encoding)if(0===M.encoding){var v=(i.pixels.numBytes-1)/4;if(v!==Math.floor(v))throw"uncompressed block has invalid length";V=new ArrayBuffer(4*v),new Uint8Array(V).set(new Uint8Array(e,t,4*v));for(var b=new Float32Array(V),U=0;U<b.length;U++)g=Math.min(g,b[U]);M.rawData=b,t+=4*v}else if(1===M.encoding){var D=Math.ceil(M.numValidPixels*M.bitsPerPixel/8),I=Math.ceil(D/4);V=new ArrayBuffer(4*I),new Uint8Array(V).set(new Uint8Array(e,t,D)),M.stuffedData=new Uint32Array(V),t+=D}}else t++,g=Math.min(g,0)}return i.pixels.minValue=g,i.eofOffset=t,i},u=function(e,t,n,i,a,r,s){var l,o,u,f=(1<<t)-1,m=0,c=0,h=Math.ceil((s-i)/a),d=4*e.length-Math.ceil(t*n/8);for(e[e.length-1]<<=8*d,l=0;l<n;l++){if(0===c&&(u=e[m++],c=32),c>=t)o=u>>>c-t&f,c-=t;else{var g=t-c;o=(u&f)<<g&f,o+=(u=e[m++])>>>(c=32-g)}r[l]=o<h?i+o*a:s}return r};const f=a.decode;class m{_decode(e){const t=f(e.buffer,e.options);return Promise.resolve({result:t,transferList:[t.pixelData.buffer]})}}function c(){return new m}}}]);