geotiff 2.0.2 → 2.0.3

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.
@@ -178,6 +178,7 @@ import { getDecoder } from "./compression/index.js";
178
178
  import { addDecoder } from "./compression/index.js";
179
179
  import { setLogger } from "./logging.js";
180
180
  import Pool from "./pool.js";
181
+ import GeoTIFFImage from "./geotiffimage.js";
181
182
  declare class GeoTIFFBase {
182
183
  /**
183
184
  * (experimental) Reads raster data from the best fitting image. This function uses
@@ -204,6 +205,5 @@ declare class ImageFileDirectory {
204
205
  geoKeyDirectory: any;
205
206
  nextIFDByteOffset: any;
206
207
  }
207
- import GeoTIFFImage from "./geotiffimage.js";
208
- export { globals, rgb, getDecoder, addDecoder, setLogger, Pool };
208
+ export { globals, rgb, getDecoder, addDecoder, setLogger, Pool, GeoTIFFImage };
209
209
  //# sourceMappingURL=geotiff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"AAuoBA;;;;;;;;GAQG;AACH,6BAPW,MAAM,YACN,MAAM,qCAIJ,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;GAOG;AACH,6CALW,WAAW,qCAGT,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,qCAGJ,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;GASG;AACH,+BALW,IAAI,OAAK,qCAGP,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;GAUG;AACH,kCATW,MAAM,iBACN,MAAM,EAAE,oDAMN,QAAQ,YAAY,CAAC,CASjC;AAED;;;;GAIG;AACH,kEAEC;;yBAjsBY,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY;;;;;;;AA+PvH;;;GAGG;AAEH;;;GAGG;AACH;IA+NE;;;;;;;OAOG;IACH,yHAgCC;IAtQD;;;;;;;;OAQG;IACH,uCANW,OAAO,WACP,OAAO,kBACP,MAAM,wCAahB;IAPC,YAAoB;IACpB,sBAAgC;IAChC,iBAAsB;IACtB,uBAAoC;IACpC,eAAmC;IACnC,mBAAqB;IACrB,uBAAuB;IAGzB,qDAWC;IAED;;;;;;;OAOG;IACH,6BAHW,MAAM,GACJ,QAAQ,kBAAkB,CAAC,CA0EvC;IAED,qCAkCC;IAED;;;;;OAKG;IACH,sCAFa,QAAQ,YAAY,CAAC,CAQjC;IAED;;;;OAIG;IACH,iBAFa,QAAQ,MAAM,CAAC,CAmB3B;IAED;;;;OAIG;IACH,kBAFa,YAAe,CA4B3B;IA4CD;;;;OAIG;IACH,aAKC;CACF;AAKD;;;GAGG;AACH;IACE;;;;OAIG;IACH,sBAHW,OAAO,iBACP,OAAO,EAAE,EAWnB;IAPC,kBAAwB;IACxB,yBAAkC;IAClC,sBAAkD;IAElD,oDAAkC;IAClC,mCAAyC;IACzC,0BAAsB;IAGxB,6DAMC;IAED;;;;;OAKG;IACH,sCAFa,QAAQ,YAAY,CAAC,CAwBjC;IAED;;;;OAIG;IACH,iBAFa,QAAQ,MAAM,CAAC,CAW3B;IAHC,kCAA8C;CAIjD;;;;;;;AAvdD;IACE;;;;;;;;;;;OAWG;IACH,kFAFa,QAAQ,CAAC,UAAU,GAAC,UAAU,EAAE,CAAC,CAAC,CA6F9C;CACF;;AAhID;;;GAGG;AACH;IACE,8EAIC;IAHC,mBAAkC;IAClC,qBAAsC;IACtC,uBAA0C;CAE7C"}
1
+ {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"AAuoBA;;;;;;;;GAQG;AACH,6BAPW,MAAM,YACN,MAAM,qCAIJ,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;GAOG;AACH,6CALW,WAAW,qCAGT,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,qCAGJ,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;GASG;AACH,+BALW,IAAI,OAAK,qCAGP,QAAQ,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;GAUG;AACH,kCATW,MAAM,iBACN,MAAM,EAAE,oDAMN,QAAQ,YAAY,CAAC,CASjC;AAED;;;;GAIG;AACH,kEAEC;;yBAjsBY,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY;;;;;;;AA+PvH;;;GAGG;AAEH;;;GAGG;AACH;IA+NE;;;;;;;OAOG;IACH,yHAgCC;IAtQD;;;;;;;;OAQG;IACH,uCANW,OAAO,WACP,OAAO,kBACP,MAAM,wCAahB;IAPC,YAAoB;IACpB,sBAAgC;IAChC,iBAAsB;IACtB,uBAAoC;IACpC,eAAmC;IACnC,mBAAqB;IACrB,uBAAuB;IAGzB,qDAWC;IAED;;;;;;;OAOG;IACH,6BAHW,MAAM,GACJ,QAAQ,kBAAkB,CAAC,CA0EvC;IAED,qCAkCC;IAED;;;;;OAKG;IACH,sCAFa,QAAQ,YAAY,CAAC,CAQjC;IAED;;;;OAIG;IACH,iBAFa,QAAQ,MAAM,CAAC,CAmB3B;IAED;;;;OAIG;IACH,kBAFa,YAAe,CA4B3B;IA4CD;;;;OAIG;IACH,aAKC;CACF;AAKD;;;GAGG;AACH;IACE;;;;OAIG;IACH,sBAHW,OAAO,iBACP,OAAO,EAAE,EAWnB;IAPC,kBAAwB;IACxB,yBAAkC;IAClC,sBAAkD;IAElD,oDAAkC;IAClC,mCAAyC;IACzC,0BAAsB;IAGxB,6DAMC;IAED;;;;;OAKG;IACH,sCAFa,QAAQ,YAAY,CAAC,CAwBjC;IAED;;;;OAIG;IACH,iBAFa,QAAQ,MAAM,CAAC,CAW3B;IAHC,kCAA8C;CAIjD;;;;;;;;AAvdD;IACE;;;;;;;;;;;OAWG;IACH,kFAFa,QAAQ,CAAC,UAAU,GAAC,UAAU,EAAE,CAAC,CAAC,CA6F9C;CACF;;AAhID;;;GAGG;AACH;IACE,8EAIC;IAHC,mBAAkC;IAClC,qBAAsC;IACtC,uBAA0C;CAE7C"}
@@ -146,7 +146,7 @@ var e=require("buffer").Buffer;Object.defineProperty(exports,"__esModule",{value
146
146
  },{"./globals.js":"j27V","./utils.js":"FOZT"}],"dy4f":[function(require,module,exports) {
147
147
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setLogger=o,exports.debug=a,exports.log=i,exports.info=l,exports.warn=p,exports.error=f,exports.time=c,exports.timeEnd=s;var e=n(require("@babel/runtime/helpers/classCallCheck")),r=n(require("@babel/runtime/helpers/createClass"));function n(e){return e&&e.__esModule?e:{default:e}}var t=function(){function n(){(0,e.default)(this,n)}return(0,r.default)(n,[{key:"log",value:function(){}},{key:"debug",value:function(){}},{key:"info",value:function(){}},{key:"warn",value:function(){}},{key:"error",value:function(){}},{key:"time",value:function(){}},{key:"timeEnd",value:function(){}}]),n}(),u=new t;function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new t;u=e}function a(){var e;return(e=u).debug.apply(e,arguments)}function i(){var e;return(e=u).log.apply(e,arguments)}function l(){var e;return(e=u).info.apply(e,arguments)}function p(){var e;return(e=u).warn.apply(e,arguments)}function f(){var e;return(e=u).error.apply(e,arguments)}function c(){var e;return(e=u).time.apply(e,arguments)}function s(){var e;return(e=u).timeEnd.apply(e,arguments)}
148
148
  },{"@babel/runtime/helpers/classCallCheck":"fcMS","@babel/runtime/helpers/createClass":"P8NW"}],"bsJs":[function(require,module,exports) {
149
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromUrl=B,exports.fromArrayBuffer=M,exports.fromFile=_,exports.fromBlob=W,exports.fromUrls=H,exports.writeArrayBuffer=z,Object.defineProperty(exports,"Pool",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(exports,"getDecoder",{enumerable:!0,get:function(){return m.getDecoder}}),Object.defineProperty(exports,"addDecoder",{enumerable:!0,get:function(){return m.addDecoder}}),Object.defineProperty(exports,"setLogger",{enumerable:!0,get:function(){return k.setLogger}}),exports.rgb=exports.globals=exports.MultiGeoTIFF=exports.default=exports.GeoTIFF=void 0;var e=I(require("@babel/runtime/helpers/defineProperty")),t=I(require("@babel/runtime/helpers/slicedToArray")),r=I(require("@babel/runtime/helpers/asyncToGenerator")),n=I(require("@babel/runtime/helpers/createClass")),a=I(require("@babel/runtime/helpers/inherits")),i=I(require("@babel/runtime/helpers/possibleConstructorReturn")),s=I(require("@babel/runtime/helpers/getPrototypeOf")),u=I(require("@babel/runtime/helpers/wrapNativeSuper")),f=I(require("@babel/runtime/helpers/classCallCheck")),o=I(require("@babel/runtime/regenerator")),c=I(require("./geotiffimage.js")),l=I(require("./dataview64.js")),p=I(require("./dataslice.js")),d=I(require("./pool.js")),h=require("./source/remote.js"),b=require("./source/arraybuffer.js"),y=require("./source/filereader.js"),g=require("./source/file.js"),v=O(require("./globals.js"));exports.globals=v;var x=require("./geotiffwriter.js"),w=O(require("./rgb.js"));exports.rgb=w;var m=require("./compression/index.js"),k=require("./logging.js");function T(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(T=function(e){return e?r:t})(e)}function O(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=T(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}function I(e){return e&&e.__esModule?e:{default:e}}function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function D(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?F(Object(n),!0).forEach(function(r){(0,e.default)(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function A(e){var t=S();return function(){var r,n=(0,s.default)(e);if(t){var a=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.default)(this,r)}}function S(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function R(e){switch(e){case v.fieldTypes.BYTE:case v.fieldTypes.ASCII:case v.fieldTypes.SBYTE:case v.fieldTypes.UNDEFINED:return 1;case v.fieldTypes.SHORT:case v.fieldTypes.SSHORT:return 2;case v.fieldTypes.LONG:case v.fieldTypes.SLONG:case v.fieldTypes.FLOAT:case v.fieldTypes.IFD:return 4;case v.fieldTypes.RATIONAL:case v.fieldTypes.SRATIONAL:case v.fieldTypes.DOUBLE:case v.fieldTypes.LONG8:case v.fieldTypes.SLONG8:case v.fieldTypes.IFD8:return 8;default:throw new RangeError("Invalid field type: ".concat(e))}}function q(e){var t=e.GeoKeyDirectory;if(!t)return null;for(var r={},n=4;n<=4*t[3];n+=4){var a=v.geoKeyNames[t[n]],i=t[n+1]?v.fieldTagNames[t[n+1]]:null,s=t[n+2],u=t[n+3],f=null;if(i){if(null==(f=e[i]))throw new Error("Could not get value of geoKey '".concat(a,"'."));"string"==typeof f?f=f.substring(u,u+s-1):f.subarray&&(f=f.subarray(u,u+s),1===s&&(f=f[0]))}else f=u;r[a]=f}return r}function j(e,t,r,n){var a=null,i=null,s=R(t);switch(t){case v.fieldTypes.BYTE:case v.fieldTypes.ASCII:case v.fieldTypes.UNDEFINED:a=new Uint8Array(r),i=e.readUint8;break;case v.fieldTypes.SBYTE:a=new Int8Array(r),i=e.readInt8;break;case v.fieldTypes.SHORT:a=new Uint16Array(r),i=e.readUint16;break;case v.fieldTypes.SSHORT:a=new Int16Array(r),i=e.readInt16;break;case v.fieldTypes.LONG:case v.fieldTypes.IFD:a=new Uint32Array(r),i=e.readUint32;break;case v.fieldTypes.SLONG:a=new Int32Array(r),i=e.readInt32;break;case v.fieldTypes.LONG8:case v.fieldTypes.IFD8:a=new Array(r),i=e.readUint64;break;case v.fieldTypes.SLONG8:a=new Array(r),i=e.readInt64;break;case v.fieldTypes.RATIONAL:a=new Uint32Array(2*r),i=e.readUint32;break;case v.fieldTypes.SRATIONAL:a=new Int32Array(2*r),i=e.readInt32;break;case v.fieldTypes.FLOAT:a=new Float32Array(r),i=e.readFloat32;break;case v.fieldTypes.DOUBLE:a=new Float64Array(r),i=e.readFloat64;break;default:throw new RangeError("Invalid field type: ".concat(t))}if(t!==v.fieldTypes.RATIONAL&&t!==v.fieldTypes.SRATIONAL)for(var u=0;u<r;++u)a[u]=i.call(e,n+u*s);else for(var f=0;f<r;f+=2)a[f]=i.call(e,n+f*s),a[f+1]=i.call(e,n+(f*s+4));return t===v.fieldTypes.ASCII?new TextDecoder("utf-8").decode(a):a}var P=function e(t,r,n){(0,f.default)(this,e),this.fileDirectory=t,this.geoKeyDirectory=r,this.nextIFDByteOffset=n},E=function(e){(0,a.default)(r,e);var t=A(r);function r(e){var n;return(0,f.default)(this,r),(n=t.call(this,"No image at index ".concat(e))).index=e,n}return r}((0,u.default)(Error)),U=function(){function e(){(0,f.default)(this,e)}return(0,n.default)(e,[{key:"readRasters",value:function(){var e=(0,r.default)(o.default.mark(function e(){var r,n,a,i,s,u,f,c,l,p,d,h,b,y,g,v,x,w,m,k,T,O,I,F,A,S,R,q,j,P,E,U,N,C,L,B,G,M,V,_=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=_.length>0&&void 0!==_[0]?_[0]:{},n=r.window,a=r.width,i=r.height,s=r.resX,u=r.resY,f=r.bbox,e.next=5,this.getImage();case 5:return c=e.sent,l=c,e.next=9,this.getImageCount();case 9:if(p=e.sent,d=c.getBoundingBox(),!n||!f){e.next=13;break}throw new Error('Both "bbox" and "window" passed.');case 13:if(!a&&!i){e.next=24;break}if(n&&(h=c.getOrigin(),b=(0,t.default)(h,2),y=b[0],g=b[1],v=c.getResolution(),x=(0,t.default)(v,2),w=x[0],m=x[1],f=[y+n[0]*w,g+n[1]*m,y+n[2]*w,g+n[3]*m]),k=f||d,!a){e.next=20;break}if(!s){e.next=19;break}throw new Error("Both width and resX passed");case 19:s=(k[2]-k[0])/a;case 20:if(!i){e.next=24;break}if(!u){e.next=23;break}throw new Error("Both width and resY passed");case 23:u=(k[3]-k[1])/i;case 24:if(!s&&!u){e.next=48;break}T=[],O=0;case 27:if(!(O<p)){e.next=36;break}return e.next=30,this.getImage(O);case 30:I=e.sent,F=I.fileDirectory,A=F.SubfileType,S=F.NewSubfileType,(0===O||2===A||1&S)&&T.push(I);case 33:++O,e.next=27;break;case 36:T.sort(function(e,t){return e.getWidth()-t.getWidth()}),R=0;case 38:if(!(R<T.length)){e.next=48;break}if(q=T[R],j=(d[2]-d[0])/q.getWidth(),P=(d[3]-d[1])/q.getHeight(),l=q,!(s&&s>j||u&&u>P)){e.next=45;break}return e.abrupt("break",48);case 45:++R,e.next=38;break;case 48:return E=n,f&&(U=c.getOrigin(),N=(0,t.default)(U,2),C=N[0],L=N[1],B=l.getResolution(c),G=(0,t.default)(B,2),M=G[0],V=G[1],E=[Math.round((f[0]-C)/M),Math.round((f[1]-L)/V),Math.round((f[2]-C)/M),Math.round((f[3]-L)/V)],E=[Math.min(E[0],E[2]),Math.min(E[1],E[3]),Math.max(E[0],E[2]),Math.max(E[1],E[3])]),e.abrupt("return",l.readRasters(D(D({},r),{},{window:E})));case 51:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()}]),e}(),N=function(e){(0,a.default)(s,e);var i=A(s);function s(e,t,r,n){var a,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return(0,f.default)(this,s),(a=i.call(this)).source=e,a.littleEndian=t,a.bigTiff=r,a.firstIFDOffset=n,a.cache=u.cache||!1,a.ifdRequests=[],a.ghostValues=null,a}return(0,n.default)(s,[{key:"getSlice",value:function(){var e=(0,r.default)(o.default.mark(function e(t,r){var n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.bigTiff?4048:1024,e.t0=p.default,e.next=4,this.source.fetch([{offset:t,length:void 0!==r?r:n}]);case 4:return e.t1=e.sent[0],e.t2=t,e.t3=this.littleEndian,e.t4=this.bigTiff,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3,e.t4));case 9:case"end":return e.stop()}},e,this)}));return function(t,r){return e.apply(this,arguments)}}()},{key:"parseFileDirectoryAt",value:function(){var e=(0,r.default)(o.default.mark(function e(t){var r,n,a,i,s,u,f,c,l,p,d,h,b,y,g,x,w,m,k,T;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.bigTiff?20:12,n=this.bigTiff?8:2,e.next=4,this.getSlice(t);case 4:if(a=e.sent,i=this.bigTiff?a.readUint64(t):a.readUint16(t),s=i*r+(this.bigTiff?16:6),a.covers(t,s)){e.next=11;break}return e.next=10,this.getSlice(t,s);case 10:a=e.sent;case 11:u={},f=t+(this.bigTiff?8:2),c=0;case 14:if(!(c<i)){e.next=41;break}if(l=a.readUint16(f),p=a.readUint16(f+2),d=this.bigTiff?a.readUint64(f+4):a.readUint32(f+4),h=void 0,b=void 0,y=R(p),g=f+(this.bigTiff?12:8),!(y*d<=(this.bigTiff?8:4))){e.next=26;break}h=j(a,p,d,g),e.next=36;break;case 26:if(x=a.readOffset(g),w=R(p)*d,!a.covers(x,w)){e.next=32;break}h=j(a,p,d,x),e.next=36;break;case 32:return e.next=34,this.getSlice(x,w);case 34:m=e.sent,h=j(m,p,d,x);case 36:b=1===d&&-1===v.arrayFields.indexOf(l)&&p!==v.fieldTypes.RATIONAL&&p!==v.fieldTypes.SRATIONAL?h[0]:h,u[v.fieldTagNames[l]]=b;case 38:f+=r,++c,e.next=14;break;case 41:return k=q(u),T=a.readOffset(t+n+r*i),e.abrupt("return",new P(u,k,T));case 44:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"requestIFD",value:function(){var e=(0,r.default)(o.default.mark(function e(t){var n=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.ifdRequests[t]){e.next=4;break}return e.abrupt("return",this.ifdRequests[t]);case 4:if(0!==t){e.next=9;break}return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),e.abrupt("return",this.ifdRequests[t]);case 9:if(this.ifdRequests[t-1]){e.next=19;break}e.prev=10,this.ifdRequests[t-1]=this.requestIFD(t-1),e.next=19;break;case 14:if(e.prev=14,e.t0=e.catch(10),!(e.t0 instanceof E)){e.next=18;break}throw new E(t);case 18:throw e.t0;case 19:return this.ifdRequests[t]=(0,r.default)(o.default.mark(function e(){var r;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.ifdRequests[t-1];case 2:if(0!==(r=e.sent).nextIFDByteOffset){e.next=5;break}throw new E(t);case 5:return e.abrupt("return",n.parseFileDirectoryAt(r.nextIFDByteOffset));case 6:case"end":return e.stop()}},e)}))(),e.abrupt("return",this.ifdRequests[t]);case 21:case"end":return e.stop()}},e,this,[[10,14]])}));return function(t){return e.apply(this,arguments)}}()},{key:"getImage",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r,n=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:0,e.next=3,this.requestIFD(t);case 3:return r=e.sent,e.abrupt("return",new c.default(r.fileDirectory,r.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source));case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImageCount",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=0,r=!0;case 2:if(!r){e.next=18;break}return e.prev=3,e.next=6,this.requestIFD(t);case 6:++t,e.next=16;break;case 9:if(e.prev=9,e.t0=e.catch(3),!(e.t0 instanceof E)){e.next=15;break}r=!1,e.next=16;break;case 15:throw e.t0;case 16:e.next=2;break;case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}},e,this,[[3,9]])}));return function(){return e.apply(this,arguments)}}()},{key:"getGhostValues",value:function(){var e=(0,r.default)(o.default.mark(function e(){var r,n,a,i,s,u,f,c,l=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.bigTiff?16:8,!this.ghostValues){e.next=3;break}return e.abrupt("return",this.ghostValues);case 3:return a=(n="GDAL_STRUCTURAL_METADATA_SIZE=").length+100,e.next=7,this.getSlice(r,a);case 7:if(i=e.sent,n!==j(i,v.fieldTypes.ASCII,n.length,r)){e.next=19;break}if(s=j(i,v.fieldTypes.ASCII,a,r),u=s.split("\n")[0],!((f=Number(u.split("=")[1].split(" ")[0])+u.length)>a)){e.next=16;break}return e.next=15,this.getSlice(r,f);case 15:i=e.sent;case 16:c=j(i,v.fieldTypes.ASCII,f,r),this.ghostValues={},c.split("\n").filter(function(e){return e.length>0}).map(function(e){return e.split("=")}).forEach(function(e){var r=(0,t.default)(e,2),n=r[0],a=r[1];l.ghostValues[n]=a});case 19:return e.abrupt("return",this.ghostValues);case 20:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"close",value:function(){return"function"==typeof this.source.close&&this.source.close()}}],[{key:"fromSource",value:function(){var e=(0,r.default)(o.default.mark(function e(t,r,n){var a,i,u,f,c,p,d;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.fetch([{offset:0,length:1024}],n);case 2:if(a=e.sent[0],i=new l.default(a),18761!==(u=i.getUint16(0,0))){e.next=9;break}f=!0,e.next=14;break;case 9:if(19789!==u){e.next=13;break}f=!1,e.next=14;break;case 13:throw new TypeError("Invalid byte order value.");case 14:if(42!==(c=i.getUint16(2,f))){e.next=19;break}p=!1,e.next=27;break;case 19:if(43!==c){e.next=26;break}if(p=!0,8===i.getUint16(4,f)){e.next=24;break}throw new Error("Unsupported offset byte-size.");case 24:e.next=27;break;case 26:throw new TypeError("Invalid magic number.");case 27:return d=p?i.getUint64(8,f):i.getUint32(4,f),e.abrupt("return",new s(t,f,p,d,r));case 29:case"end":return e.stop()}},e)}));return function(t,r,n){return e.apply(this,arguments)}}()}]),s}(U);exports.GeoTIFF=N;var C=N;exports.default=C;var L=function(e){(0,a.default)(i,e);var t=A(i);function i(e,r){var n;return(0,f.default)(this,i),(n=t.call(this)).mainFile=e,n.overviewFiles=r,n.imageFiles=[e].concat(r),n.fileDirectoriesPerFile=null,n.fileDirectoriesPerFileParsing=null,n.imageCount=null,n}return(0,n.default)(i,[{key:"parseFileDirectoriesPerFile",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=[this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map(function(e){return e.parseFileDirectoryAt(e.firstIFDOffset)})),e.next=3,Promise.all(t);case 3:return this.fileDirectoriesPerFile=e.sent,e.abrupt("return",this.fileDirectoriesPerFile);case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImage",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r,n,a,i,s,u,f=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:0,e.next=3,this.getImageCount();case 3:return e.next=5,this.parseFileDirectoriesPerFile();case 5:r=0,n=0,a=0;case 8:if(!(a<this.imageFiles.length)){e.next=26;break}i=this.imageFiles[a],s=0;case 11:if(!(s<this.imageCounts[a])){e.next=22;break}if(t!==r){e.next=17;break}return e.next=15,i.requestIFD(n);case 15:return u=e.sent,e.abrupt("return",new c.default(u.fileDirectory,u.geoKeyDirectory,i.dataView,i.littleEndian,i.cache,i.source));case 17:r++,n++;case 19:s++,e.next=11;break;case 22:n=0;case 23:a++,e.next=8;break;case 26:throw new RangeError("Invalid image index");case 27:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImageCount",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null===this.imageCount){e.next=2;break}return e.abrupt("return",this.imageCount);case 2:return t=[this.mainFile.getImageCount()].concat(this.overviewFiles.map(function(e){return e.getImageCount()})),e.next=5,Promise.all(t);case 5:return this.imageCounts=e.sent,this.imageCount=this.imageCounts.reduce(function(e,t){return e+t},0),e.abrupt("return",this.imageCount);case 8:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()}]),i}(U);function B(e){return G.apply(this,arguments)}function G(){return(G=(0,r.default)(o.default.mark(function e(t){var r,n,a=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:{},n=a.length>2?a[2]:void 0,e.abrupt("return",N.fromSource((0,h.makeRemoteSource)(t,r),n));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function M(e,t){return V.apply(this,arguments)}function V(){return(V=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,b.makeBufferSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _(e,t){return K.apply(this,arguments)}function K(){return(K=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,g.makeFileSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function W(e,t){return Y.apply(this,arguments)}function Y(){return(Y=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,y.makeFileReaderSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function H(e){return X.apply(this,arguments)}function X(){return(X=(0,r.default)(o.default.mark(function e(t){var r,n,a,i,s,u=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:[],n=u.length>2&&void 0!==u[2]?u[2]:{},a=u.length>3?u[3]:void 0,e.next=5,N.fromSource((0,h.makeRemoteSource)(t,n),a);case 5:return i=e.sent,e.next=8,Promise.all(r.map(function(e){return N.fromSource((0,h.makeRemoteSource)(e,n))}));case 8:return s=e.sent,e.abrupt("return",new L(i,s));case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function z(e,t){return(0,x.writeGeotiff)(e,t)}exports.MultiGeoTIFF=L;
149
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromUrl=B,exports.fromArrayBuffer=M,exports.fromFile=_,exports.fromBlob=W,exports.fromUrls=H,exports.writeArrayBuffer=z,Object.defineProperty(exports,"GeoTIFFImage",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(exports,"Pool",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(exports,"getDecoder",{enumerable:!0,get:function(){return m.getDecoder}}),Object.defineProperty(exports,"addDecoder",{enumerable:!0,get:function(){return m.addDecoder}}),Object.defineProperty(exports,"setLogger",{enumerable:!0,get:function(){return k.setLogger}}),exports.rgb=exports.globals=exports.MultiGeoTIFF=exports.default=exports.GeoTIFF=void 0;var e=O(require("@babel/runtime/helpers/defineProperty")),t=O(require("@babel/runtime/helpers/slicedToArray")),r=O(require("@babel/runtime/helpers/asyncToGenerator")),n=O(require("@babel/runtime/helpers/createClass")),a=O(require("@babel/runtime/helpers/inherits")),i=O(require("@babel/runtime/helpers/possibleConstructorReturn")),s=O(require("@babel/runtime/helpers/getPrototypeOf")),u=O(require("@babel/runtime/helpers/wrapNativeSuper")),f=O(require("@babel/runtime/helpers/classCallCheck")),o=O(require("@babel/runtime/regenerator")),c=O(require("./geotiffimage.js")),l=O(require("./dataview64.js")),p=O(require("./dataslice.js")),d=O(require("./pool.js")),h=require("./source/remote.js"),b=require("./source/arraybuffer.js"),y=require("./source/filereader.js"),g=require("./source/file.js"),x=I(require("./globals.js"));exports.globals=x;var v=require("./geotiffwriter.js"),w=I(require("./rgb.js"));exports.rgb=w;var m=require("./compression/index.js"),k=require("./logging.js");function T(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(T=function(e){return e?r:t})(e)}function I(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=T(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}function O(e){return e&&e.__esModule?e:{default:e}}function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function D(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?F(Object(n),!0).forEach(function(r){(0,e.default)(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function A(e){var t=S();return function(){var r,n=(0,s.default)(e);if(t){var a=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.default)(this,r)}}function S(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function R(e){switch(e){case x.fieldTypes.BYTE:case x.fieldTypes.ASCII:case x.fieldTypes.SBYTE:case x.fieldTypes.UNDEFINED:return 1;case x.fieldTypes.SHORT:case x.fieldTypes.SSHORT:return 2;case x.fieldTypes.LONG:case x.fieldTypes.SLONG:case x.fieldTypes.FLOAT:case x.fieldTypes.IFD:return 4;case x.fieldTypes.RATIONAL:case x.fieldTypes.SRATIONAL:case x.fieldTypes.DOUBLE:case x.fieldTypes.LONG8:case x.fieldTypes.SLONG8:case x.fieldTypes.IFD8:return 8;default:throw new RangeError("Invalid field type: ".concat(e))}}function q(e){var t=e.GeoKeyDirectory;if(!t)return null;for(var r={},n=4;n<=4*t[3];n+=4){var a=x.geoKeyNames[t[n]],i=t[n+1]?x.fieldTagNames[t[n+1]]:null,s=t[n+2],u=t[n+3],f=null;if(i){if(null==(f=e[i]))throw new Error("Could not get value of geoKey '".concat(a,"'."));"string"==typeof f?f=f.substring(u,u+s-1):f.subarray&&(f=f.subarray(u,u+s),1===s&&(f=f[0]))}else f=u;r[a]=f}return r}function j(e,t,r,n){var a=null,i=null,s=R(t);switch(t){case x.fieldTypes.BYTE:case x.fieldTypes.ASCII:case x.fieldTypes.UNDEFINED:a=new Uint8Array(r),i=e.readUint8;break;case x.fieldTypes.SBYTE:a=new Int8Array(r),i=e.readInt8;break;case x.fieldTypes.SHORT:a=new Uint16Array(r),i=e.readUint16;break;case x.fieldTypes.SSHORT:a=new Int16Array(r),i=e.readInt16;break;case x.fieldTypes.LONG:case x.fieldTypes.IFD:a=new Uint32Array(r),i=e.readUint32;break;case x.fieldTypes.SLONG:a=new Int32Array(r),i=e.readInt32;break;case x.fieldTypes.LONG8:case x.fieldTypes.IFD8:a=new Array(r),i=e.readUint64;break;case x.fieldTypes.SLONG8:a=new Array(r),i=e.readInt64;break;case x.fieldTypes.RATIONAL:a=new Uint32Array(2*r),i=e.readUint32;break;case x.fieldTypes.SRATIONAL:a=new Int32Array(2*r),i=e.readInt32;break;case x.fieldTypes.FLOAT:a=new Float32Array(r),i=e.readFloat32;break;case x.fieldTypes.DOUBLE:a=new Float64Array(r),i=e.readFloat64;break;default:throw new RangeError("Invalid field type: ".concat(t))}if(t!==x.fieldTypes.RATIONAL&&t!==x.fieldTypes.SRATIONAL)for(var u=0;u<r;++u)a[u]=i.call(e,n+u*s);else for(var f=0;f<r;f+=2)a[f]=i.call(e,n+f*s),a[f+1]=i.call(e,n+(f*s+4));return t===x.fieldTypes.ASCII?new TextDecoder("utf-8").decode(a):a}var P=function e(t,r,n){(0,f.default)(this,e),this.fileDirectory=t,this.geoKeyDirectory=r,this.nextIFDByteOffset=n},E=function(e){(0,a.default)(r,e);var t=A(r);function r(e){var n;return(0,f.default)(this,r),(n=t.call(this,"No image at index ".concat(e))).index=e,n}return r}((0,u.default)(Error)),U=function(){function e(){(0,f.default)(this,e)}return(0,n.default)(e,[{key:"readRasters",value:function(){var e=(0,r.default)(o.default.mark(function e(){var r,n,a,i,s,u,f,c,l,p,d,h,b,y,g,x,v,w,m,k,T,I,O,F,A,S,R,q,j,P,E,U,N,C,L,B,G,M,V,_=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=_.length>0&&void 0!==_[0]?_[0]:{},n=r.window,a=r.width,i=r.height,s=r.resX,u=r.resY,f=r.bbox,e.next=5,this.getImage();case 5:return c=e.sent,l=c,e.next=9,this.getImageCount();case 9:if(p=e.sent,d=c.getBoundingBox(),!n||!f){e.next=13;break}throw new Error('Both "bbox" and "window" passed.');case 13:if(!a&&!i){e.next=24;break}if(n&&(h=c.getOrigin(),b=(0,t.default)(h,2),y=b[0],g=b[1],x=c.getResolution(),v=(0,t.default)(x,2),w=v[0],m=v[1],f=[y+n[0]*w,g+n[1]*m,y+n[2]*w,g+n[3]*m]),k=f||d,!a){e.next=20;break}if(!s){e.next=19;break}throw new Error("Both width and resX passed");case 19:s=(k[2]-k[0])/a;case 20:if(!i){e.next=24;break}if(!u){e.next=23;break}throw new Error("Both width and resY passed");case 23:u=(k[3]-k[1])/i;case 24:if(!s&&!u){e.next=48;break}T=[],I=0;case 27:if(!(I<p)){e.next=36;break}return e.next=30,this.getImage(I);case 30:O=e.sent,F=O.fileDirectory,A=F.SubfileType,S=F.NewSubfileType,(0===I||2===A||1&S)&&T.push(O);case 33:++I,e.next=27;break;case 36:T.sort(function(e,t){return e.getWidth()-t.getWidth()}),R=0;case 38:if(!(R<T.length)){e.next=48;break}if(q=T[R],j=(d[2]-d[0])/q.getWidth(),P=(d[3]-d[1])/q.getHeight(),l=q,!(s&&s>j||u&&u>P)){e.next=45;break}return e.abrupt("break",48);case 45:++R,e.next=38;break;case 48:return E=n,f&&(U=c.getOrigin(),N=(0,t.default)(U,2),C=N[0],L=N[1],B=l.getResolution(c),G=(0,t.default)(B,2),M=G[0],V=G[1],E=[Math.round((f[0]-C)/M),Math.round((f[1]-L)/V),Math.round((f[2]-C)/M),Math.round((f[3]-L)/V)],E=[Math.min(E[0],E[2]),Math.min(E[1],E[3]),Math.max(E[0],E[2]),Math.max(E[1],E[3])]),e.abrupt("return",l.readRasters(D(D({},r),{},{window:E})));case 51:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()}]),e}(),N=function(e){(0,a.default)(s,e);var i=A(s);function s(e,t,r,n){var a,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return(0,f.default)(this,s),(a=i.call(this)).source=e,a.littleEndian=t,a.bigTiff=r,a.firstIFDOffset=n,a.cache=u.cache||!1,a.ifdRequests=[],a.ghostValues=null,a}return(0,n.default)(s,[{key:"getSlice",value:function(){var e=(0,r.default)(o.default.mark(function e(t,r){var n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.bigTiff?4048:1024,e.t0=p.default,e.next=4,this.source.fetch([{offset:t,length:void 0!==r?r:n}]);case 4:return e.t1=e.sent[0],e.t2=t,e.t3=this.littleEndian,e.t4=this.bigTiff,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3,e.t4));case 9:case"end":return e.stop()}},e,this)}));return function(t,r){return e.apply(this,arguments)}}()},{key:"parseFileDirectoryAt",value:function(){var e=(0,r.default)(o.default.mark(function e(t){var r,n,a,i,s,u,f,c,l,p,d,h,b,y,g,v,w,m,k,T;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.bigTiff?20:12,n=this.bigTiff?8:2,e.next=4,this.getSlice(t);case 4:if(a=e.sent,i=this.bigTiff?a.readUint64(t):a.readUint16(t),s=i*r+(this.bigTiff?16:6),a.covers(t,s)){e.next=11;break}return e.next=10,this.getSlice(t,s);case 10:a=e.sent;case 11:u={},f=t+(this.bigTiff?8:2),c=0;case 14:if(!(c<i)){e.next=41;break}if(l=a.readUint16(f),p=a.readUint16(f+2),d=this.bigTiff?a.readUint64(f+4):a.readUint32(f+4),h=void 0,b=void 0,y=R(p),g=f+(this.bigTiff?12:8),!(y*d<=(this.bigTiff?8:4))){e.next=26;break}h=j(a,p,d,g),e.next=36;break;case 26:if(v=a.readOffset(g),w=R(p)*d,!a.covers(v,w)){e.next=32;break}h=j(a,p,d,v),e.next=36;break;case 32:return e.next=34,this.getSlice(v,w);case 34:m=e.sent,h=j(m,p,d,v);case 36:b=1===d&&-1===x.arrayFields.indexOf(l)&&p!==x.fieldTypes.RATIONAL&&p!==x.fieldTypes.SRATIONAL?h[0]:h,u[x.fieldTagNames[l]]=b;case 38:f+=r,++c,e.next=14;break;case 41:return k=q(u),T=a.readOffset(t+n+r*i),e.abrupt("return",new P(u,k,T));case 44:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"requestIFD",value:function(){var e=(0,r.default)(o.default.mark(function e(t){var n=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.ifdRequests[t]){e.next=4;break}return e.abrupt("return",this.ifdRequests[t]);case 4:if(0!==t){e.next=9;break}return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),e.abrupt("return",this.ifdRequests[t]);case 9:if(this.ifdRequests[t-1]){e.next=19;break}e.prev=10,this.ifdRequests[t-1]=this.requestIFD(t-1),e.next=19;break;case 14:if(e.prev=14,e.t0=e.catch(10),!(e.t0 instanceof E)){e.next=18;break}throw new E(t);case 18:throw e.t0;case 19:return this.ifdRequests[t]=(0,r.default)(o.default.mark(function e(){var r;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.ifdRequests[t-1];case 2:if(0!==(r=e.sent).nextIFDByteOffset){e.next=5;break}throw new E(t);case 5:return e.abrupt("return",n.parseFileDirectoryAt(r.nextIFDByteOffset));case 6:case"end":return e.stop()}},e)}))(),e.abrupt("return",this.ifdRequests[t]);case 21:case"end":return e.stop()}},e,this,[[10,14]])}));return function(t){return e.apply(this,arguments)}}()},{key:"getImage",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r,n=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:0,e.next=3,this.requestIFD(t);case 3:return r=e.sent,e.abrupt("return",new c.default(r.fileDirectory,r.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source));case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImageCount",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=0,r=!0;case 2:if(!r){e.next=18;break}return e.prev=3,e.next=6,this.requestIFD(t);case 6:++t,e.next=16;break;case 9:if(e.prev=9,e.t0=e.catch(3),!(e.t0 instanceof E)){e.next=15;break}r=!1,e.next=16;break;case 15:throw e.t0;case 16:e.next=2;break;case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}},e,this,[[3,9]])}));return function(){return e.apply(this,arguments)}}()},{key:"getGhostValues",value:function(){var e=(0,r.default)(o.default.mark(function e(){var r,n,a,i,s,u,f,c,l=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.bigTiff?16:8,!this.ghostValues){e.next=3;break}return e.abrupt("return",this.ghostValues);case 3:return a=(n="GDAL_STRUCTURAL_METADATA_SIZE=").length+100,e.next=7,this.getSlice(r,a);case 7:if(i=e.sent,n!==j(i,x.fieldTypes.ASCII,n.length,r)){e.next=19;break}if(s=j(i,x.fieldTypes.ASCII,a,r),u=s.split("\n")[0],!((f=Number(u.split("=")[1].split(" ")[0])+u.length)>a)){e.next=16;break}return e.next=15,this.getSlice(r,f);case 15:i=e.sent;case 16:c=j(i,x.fieldTypes.ASCII,f,r),this.ghostValues={},c.split("\n").filter(function(e){return e.length>0}).map(function(e){return e.split("=")}).forEach(function(e){var r=(0,t.default)(e,2),n=r[0],a=r[1];l.ghostValues[n]=a});case 19:return e.abrupt("return",this.ghostValues);case 20:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"close",value:function(){return"function"==typeof this.source.close&&this.source.close()}}],[{key:"fromSource",value:function(){var e=(0,r.default)(o.default.mark(function e(t,r,n){var a,i,u,f,c,p,d;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.fetch([{offset:0,length:1024}],n);case 2:if(a=e.sent[0],i=new l.default(a),18761!==(u=i.getUint16(0,0))){e.next=9;break}f=!0,e.next=14;break;case 9:if(19789!==u){e.next=13;break}f=!1,e.next=14;break;case 13:throw new TypeError("Invalid byte order value.");case 14:if(42!==(c=i.getUint16(2,f))){e.next=19;break}p=!1,e.next=27;break;case 19:if(43!==c){e.next=26;break}if(p=!0,8===i.getUint16(4,f)){e.next=24;break}throw new Error("Unsupported offset byte-size.");case 24:e.next=27;break;case 26:throw new TypeError("Invalid magic number.");case 27:return d=p?i.getUint64(8,f):i.getUint32(4,f),e.abrupt("return",new s(t,f,p,d,r));case 29:case"end":return e.stop()}},e)}));return function(t,r,n){return e.apply(this,arguments)}}()}]),s}(U);exports.GeoTIFF=N;var C=N;exports.default=C;var L=function(e){(0,a.default)(i,e);var t=A(i);function i(e,r){var n;return(0,f.default)(this,i),(n=t.call(this)).mainFile=e,n.overviewFiles=r,n.imageFiles=[e].concat(r),n.fileDirectoriesPerFile=null,n.fileDirectoriesPerFileParsing=null,n.imageCount=null,n}return(0,n.default)(i,[{key:"parseFileDirectoriesPerFile",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=[this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map(function(e){return e.parseFileDirectoryAt(e.firstIFDOffset)})),e.next=3,Promise.all(t);case 3:return this.fileDirectoriesPerFile=e.sent,e.abrupt("return",this.fileDirectoriesPerFile);case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImage",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t,r,n,a,i,s,u,f=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:0,e.next=3,this.getImageCount();case 3:return e.next=5,this.parseFileDirectoriesPerFile();case 5:r=0,n=0,a=0;case 8:if(!(a<this.imageFiles.length)){e.next=26;break}i=this.imageFiles[a],s=0;case 11:if(!(s<this.imageCounts[a])){e.next=22;break}if(t!==r){e.next=17;break}return e.next=15,i.requestIFD(n);case 15:return u=e.sent,e.abrupt("return",new c.default(u.fileDirectory,u.geoKeyDirectory,i.dataView,i.littleEndian,i.cache,i.source));case 17:r++,n++;case 19:s++,e.next=11;break;case 22:n=0;case 23:a++,e.next=8;break;case 26:throw new RangeError("Invalid image index");case 27:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getImageCount",value:function(){var e=(0,r.default)(o.default.mark(function e(){var t;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null===this.imageCount){e.next=2;break}return e.abrupt("return",this.imageCount);case 2:return t=[this.mainFile.getImageCount()].concat(this.overviewFiles.map(function(e){return e.getImageCount()})),e.next=5,Promise.all(t);case 5:return this.imageCounts=e.sent,this.imageCount=this.imageCounts.reduce(function(e,t){return e+t},0),e.abrupt("return",this.imageCount);case 8:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()}]),i}(U);function B(e){return G.apply(this,arguments)}function G(){return(G=(0,r.default)(o.default.mark(function e(t){var r,n,a=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:{},n=a.length>2?a[2]:void 0,e.abrupt("return",N.fromSource((0,h.makeRemoteSource)(t,r),n));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function M(e,t){return V.apply(this,arguments)}function V(){return(V=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,b.makeBufferSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _(e,t){return K.apply(this,arguments)}function K(){return(K=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,g.makeFileSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function W(e,t){return Y.apply(this,arguments)}function Y(){return(Y=(0,r.default)(o.default.mark(function e(t,r){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",N.fromSource((0,y.makeFileReaderSource)(t),r));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function H(e){return X.apply(this,arguments)}function X(){return(X=(0,r.default)(o.default.mark(function e(t){var r,n,a,i,s,u=arguments;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:[],n=u.length>2&&void 0!==u[2]?u[2]:{},a=u.length>3?u[3]:void 0,e.next=5,N.fromSource((0,h.makeRemoteSource)(t,n),a);case 5:return i=e.sent,e.next=8,Promise.all(r.map(function(e){return N.fromSource((0,h.makeRemoteSource)(e,n))}));case 8:return s=e.sent,e.abrupt("return",new L(i,s));case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function z(e,t){return(0,v.writeGeotiff)(e,t)}exports.MultiGeoTIFF=L;
150
150
  },{"@babel/runtime/helpers/defineProperty":"IxO8","@babel/runtime/helpers/slicedToArray":"HETk","@babel/runtime/helpers/asyncToGenerator":"agGE","@babel/runtime/helpers/createClass":"P8NW","@babel/runtime/helpers/inherits":"d4H2","@babel/runtime/helpers/possibleConstructorReturn":"pxk2","@babel/runtime/helpers/getPrototypeOf":"UJE0","@babel/runtime/helpers/wrapNativeSuper":"ozpi","@babel/runtime/helpers/classCallCheck":"fcMS","@babel/runtime/regenerator":"PMvg","./geotiffimage.js":"eOWo","./dataview64.js":"dqpX","./dataslice.js":"dGLV","./pool.js":"dHPO","./source/remote.js":"itmA","./source/arraybuffer.js":"wM9h","./source/filereader.js":"GiEG","./source/file.js":"G7Cz","./globals.js":"j27V","./geotiffwriter.js":"BGyE","./rgb.js":"fpBl","./compression/index.js":"FGCZ","./logging.js":"dy4f"}],"IKSA":[function(require,module,exports) {
151
151
  "use strict";function r(r,e){var t=r.length-e,o=0;do{for(var n=e;n>0;n--)r[o+e]+=r[o],o++;t-=e}while(t>0)}function e(r,e,t){for(var o=0,n=r.length,a=n/t;n>e;){for(var i=e;i>0;--i)r[o+e]+=r[o],++o;n-=e}for(var l=r.slice(),s=0;s<a;++s)for(var c=0;c<t;++c)r[t*s+c]=l[(t-c-1)*a+s]}function t(t,o,n,a,i,l){if(!o||1===o)return t;for(var s=0;s<i.length;++s){if(i[s]%8!=0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(i[s]!==i[0])throw new Error("When decoding with predictor, all samples must have the same size.")}for(var c=i[0]/8,f=2===l?1:i.length,h=0;h<a&&!(h*f*n*c>=t.byteLength);++h){var w=void 0;if(2===o){switch(i[0]){case 8:w=new Uint8Array(t,h*f*n*c,f*n*c);break;case 16:w=new Uint16Array(t,h*f*n*c,f*n*c/2);break;case 32:w=new Uint32Array(t,h*f*n*c,f*n*c/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(i[0]," bits per sample."))}r(w,f,c)}else 3===o&&e(w=new Uint8Array(t,h*f*n*c,f*n*c),f,c)}return t}Object.defineProperty(exports,"__esModule",{value:!0}),exports.applyPredictor=t;
152
152
  },{}],"FJDe":[function(require,module,exports) {