geotiff 3.0.0 → 3.0.1

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.
Files changed (164) hide show
  1. package/dist-browser/geotiff.js +3 -2
  2. package/dist-browser/geotiff.js.map +1 -1
  3. package/dist-module/compression/basedecoder.d.ts +4 -0
  4. package/dist-module/compression/basedecoder.d.ts.map +1 -1
  5. package/dist-module/compression/basedecoder.js +6 -0
  6. package/dist-module/compression/index.d.ts +4 -4
  7. package/dist-module/compression/index.d.ts.map +1 -1
  8. package/dist-module/compression/index.js +4 -4
  9. package/dist-module/compression/jpeg.d.ts +6 -1
  10. package/dist-module/compression/jpeg.d.ts.map +1 -1
  11. package/dist-module/compression/jpeg.js +50 -5
  12. package/dist-module/compression/lzw.js +1 -1
  13. package/dist-module/compression/webimage.d.ts +1 -1
  14. package/dist-module/compression/webimage.d.ts.map +1 -1
  15. package/dist-module/compression/webimage.js +1 -1
  16. package/dist-module/dataslice.d.ts.map +1 -1
  17. package/dist-module/dataslice.js +2 -2
  18. package/dist-module/dataview64.d.ts +2 -2
  19. package/dist-module/dataview64.d.ts.map +1 -1
  20. package/dist-module/dataview64.js +4 -4
  21. package/dist-module/geotiff.d.ts +161 -45
  22. package/dist-module/geotiff.d.ts.map +1 -1
  23. package/dist-module/geotiff.js +111 -20
  24. package/dist-module/geotiffimage.d.ts +76 -110
  25. package/dist-module/geotiffimage.d.ts.map +1 -1
  26. package/dist-module/geotiffimage.js +98 -70
  27. package/dist-module/geotiffwriter.js +2 -2
  28. package/dist-module/globals.d.ts +48 -40
  29. package/dist-module/globals.d.ts.map +1 -1
  30. package/dist-module/globals.js +14 -10
  31. package/dist-module/imagefiledirectory.d.ts +2 -2
  32. package/dist-module/imagefiledirectory.d.ts.map +1 -1
  33. package/dist-module/imagefiledirectory.js +23 -12
  34. package/dist-module/logging.js +7 -7
  35. package/dist-module/pool.d.ts +2 -3
  36. package/dist-module/pool.d.ts.map +1 -1
  37. package/dist-module/pool.js +18 -16
  38. package/dist-module/predictor.js +1 -1
  39. package/dist-module/resample.d.ts +18 -18
  40. package/dist-module/resample.d.ts.map +1 -1
  41. package/dist-module/resample.js +12 -12
  42. package/dist-module/source/basesource.d.ts +7 -7
  43. package/dist-module/source/basesource.d.ts.map +1 -1
  44. package/dist-module/source/basesource.js +7 -7
  45. package/dist-module/source/blockedsource.d.ts +10 -10
  46. package/dist-module/source/blockedsource.d.ts.map +1 -1
  47. package/dist-module/source/blockedsource.js +12 -9
  48. package/dist-module/source/client/base.d.ts +8 -10
  49. package/dist-module/source/client/base.d.ts.map +1 -1
  50. package/dist-module/source/client/base.js +4 -3
  51. package/dist-module/source/client/fetch.d.ts +2 -7
  52. package/dist-module/source/client/fetch.d.ts.map +1 -1
  53. package/dist-module/source/client/fetch.js +7 -2
  54. package/dist-module/source/client/http.d.ts +4 -1
  55. package/dist-module/source/client/http.d.ts.map +1 -1
  56. package/dist-module/source/client/http.js +4 -4
  57. package/dist-module/source/client/xhr.d.ts +4 -1
  58. package/dist-module/source/client/xhr.d.ts.map +1 -1
  59. package/dist-module/source/client/xhr.js +1 -1
  60. package/dist-module/source/file.js +4 -4
  61. package/dist-module/source/filereader.js +1 -1
  62. package/dist-module/source/httputils.d.ts +14 -6
  63. package/dist-module/source/httputils.d.ts.map +1 -1
  64. package/dist-module/source/httputils.js +13 -12
  65. package/dist-module/source/remote.d.ts +31 -22
  66. package/dist-module/source/remote.d.ts.map +1 -1
  67. package/dist-module/source/remote.js +37 -13
  68. package/dist-module/utils.d.ts +7 -1
  69. package/dist-module/utils.d.ts.map +1 -1
  70. package/dist-module/utils.js +6 -0
  71. package/dist-module/worker/create.js +1 -1
  72. package/dist-node/compression/basedecoder.d.ts +4 -0
  73. package/dist-node/compression/basedecoder.d.ts.map +1 -1
  74. package/dist-node/compression/basedecoder.js +6 -0
  75. package/dist-node/compression/basedecoder.js.map +1 -1
  76. package/dist-node/compression/index.d.ts +4 -4
  77. package/dist-node/compression/index.d.ts.map +1 -1
  78. package/dist-node/compression/index.js +4 -4
  79. package/dist-node/compression/jpeg.d.ts +6 -1
  80. package/dist-node/compression/jpeg.d.ts.map +1 -1
  81. package/dist-node/compression/jpeg.js +50 -5
  82. package/dist-node/compression/jpeg.js.map +1 -1
  83. package/dist-node/compression/lzw.js +1 -1
  84. package/dist-node/compression/lzw.js.map +1 -1
  85. package/dist-node/compression/webimage.js +1 -1
  86. package/dist-node/compression/webimage.js.map +1 -1
  87. package/dist-node/dataslice.js +2 -2
  88. package/dist-node/dataslice.js.map +1 -1
  89. package/dist-node/dataview64.d.ts +2 -2
  90. package/dist-node/dataview64.d.ts.map +1 -1
  91. package/dist-node/dataview64.js +4 -4
  92. package/dist-node/dataview64.js.map +1 -1
  93. package/dist-node/geotiff.d.ts +161 -45
  94. package/dist-node/geotiff.d.ts.map +1 -1
  95. package/dist-node/geotiff.js +110 -20
  96. package/dist-node/geotiff.js.map +1 -1
  97. package/dist-node/geotiffimage.d.ts +77 -111
  98. package/dist-node/geotiffimage.d.ts.map +1 -1
  99. package/dist-node/geotiffimage.js +98 -70
  100. package/dist-node/geotiffimage.js.map +1 -1
  101. package/dist-node/geotiffwriter.js +2 -2
  102. package/dist-node/geotiffwriter.js.map +1 -1
  103. package/dist-node/globals.d.ts +48 -40
  104. package/dist-node/globals.d.ts.map +1 -1
  105. package/dist-node/globals.js +14 -10
  106. package/dist-node/globals.js.map +1 -1
  107. package/dist-node/imagefiledirectory.d.ts +2 -2
  108. package/dist-node/imagefiledirectory.d.ts.map +1 -1
  109. package/dist-node/imagefiledirectory.js +23 -12
  110. package/dist-node/imagefiledirectory.js.map +1 -1
  111. package/dist-node/logging.js +7 -7
  112. package/dist-node/logging.js.map +1 -1
  113. package/dist-node/pool.d.ts +2 -3
  114. package/dist-node/pool.d.ts.map +1 -1
  115. package/dist-node/pool.js +18 -16
  116. package/dist-node/pool.js.map +1 -1
  117. package/dist-node/predictor.js +1 -1
  118. package/dist-node/predictor.js.map +1 -1
  119. package/dist-node/resample.d.ts +18 -18
  120. package/dist-node/resample.d.ts.map +1 -1
  121. package/dist-node/resample.js +12 -12
  122. package/dist-node/source/basesource.d.ts +7 -7
  123. package/dist-node/source/basesource.d.ts.map +1 -1
  124. package/dist-node/source/basesource.js +7 -7
  125. package/dist-node/source/basesource.js.map +1 -1
  126. package/dist-node/source/blockedsource.d.ts +10 -10
  127. package/dist-node/source/blockedsource.d.ts.map +1 -1
  128. package/dist-node/source/blockedsource.js +12 -9
  129. package/dist-node/source/blockedsource.js.map +1 -1
  130. package/dist-node/source/client/base.d.ts +8 -10
  131. package/dist-node/source/client/base.d.ts.map +1 -1
  132. package/dist-node/source/client/base.js +4 -3
  133. package/dist-node/source/client/base.js.map +1 -1
  134. package/dist-node/source/client/fetch.d.ts +2 -6
  135. package/dist-node/source/client/fetch.d.ts.map +1 -1
  136. package/dist-node/source/client/fetch.js +7 -2
  137. package/dist-node/source/client/fetch.js.map +1 -1
  138. package/dist-node/source/client/http.d.ts +4 -1
  139. package/dist-node/source/client/http.d.ts.map +1 -1
  140. package/dist-node/source/client/http.js +4 -4
  141. package/dist-node/source/client/http.js.map +1 -1
  142. package/dist-node/source/client/xhr.d.ts +4 -1
  143. package/dist-node/source/client/xhr.d.ts.map +1 -1
  144. package/dist-node/source/client/xhr.js +1 -1
  145. package/dist-node/source/client/xhr.js.map +1 -1
  146. package/dist-node/source/file.js +4 -4
  147. package/dist-node/source/file.js.map +1 -1
  148. package/dist-node/source/filereader.js +1 -1
  149. package/dist-node/source/filereader.js.map +1 -1
  150. package/dist-node/source/httputils.d.ts +14 -6
  151. package/dist-node/source/httputils.d.ts.map +1 -1
  152. package/dist-node/source/httputils.js +13 -12
  153. package/dist-node/source/httputils.js.map +1 -1
  154. package/dist-node/source/remote.d.ts +31 -22
  155. package/dist-node/source/remote.d.ts.map +1 -1
  156. package/dist-node/source/remote.js +37 -13
  157. package/dist-node/source/remote.js.map +1 -1
  158. package/dist-node/utils.d.ts +7 -1
  159. package/dist-node/utils.d.ts.map +1 -1
  160. package/dist-node/utils.js +6 -0
  161. package/dist-node/utils.js.map +1 -1
  162. package/dist-node/worker/create.js +1 -1
  163. package/dist-node/worker/create.js.map +1 -1
  164. package/package.json +3 -54
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"AAohBA;;;;;;;;GAQG;AACH,6BAPW,MAAM,YACN,MAAM,WAEN,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;GAQG;AACH,yCAPW,UAAU,YACV,MAAM,WAEN,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;GAOG;AACH,6CALW,WAAW,WACX,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,WACN,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;GASG;AACH,+BALW,IAAI,GAAC,IAAI,WACT,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;GAUG;AACH,kCATW,MAAM,iBACN,MAAM,EAAE,YACR,MAAM,WAGN,WAAW,GAET,OAAO,CAAC,YAAY,CAAC,CASjC;AAED;;;;GAIG;AACH,kEAEC;;;yBAtlBY,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY;yBAK1G;IAAE,MAAM,EAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;uCAOhC,UAAU,GAAG,UAAU;;;;;;4CAOvB,UAAU,EAAE,GAAG,UAAU;;;;;;+BAOzB,wBAAwB,GAAG,6BAA6B;;;;;;;AAgMrE;;;GAGG;AAEH;;;GAGG;AACH;IA6IE;;;;;;;OAOG;IACH,0BALW,GAAC,YACD,cAAc,WACd,WAAW,oBAmCrB;IApLD;;;;;;;;OAQG;IACH,oBAPW,GAAC,gBACD,OAAO,WACP,OAAO,kBACP,MAAM,YAEN,cAAc,EAYxB;IARC,YAAoB;IACpB,iCAAgF;IAChF,sBAAgC;IAChC,iBAAsB;IACtB,uBAAoC;IACpC,eAAmC;IACnC,mBAAqB;IACrB,uBAAuB;IAGzB,qDAWC;IAED,qCAkCC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAOjC;IAED;;;;OAIG;IACH,iBAFa,OAAO,CAAC,MAAM,CAAC,CAmB3B;IAED;;;;OAIG;IACH,kBAFa,OAAO,CAAC,MAAM,CAAC,CA4B3B;IA4CD;;;;OAIG;IACH,aAKC;CACF;2BAxbwC,yBAAyB;AA6blE;;;GAGG;AACH;IACE;;;;OAIG;IACH,sBAHW,OAAO,iBACP,OAAO,EAAE,EAWnB;IAPC,kBAAwB;IACxB,yBAAkC;IAClC,sBAAkD;IAElD,sFAAkC;IAClC,mCAAyC;IACzC,0BAAsB;IAGxB,+FAMC;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuBjC;IAED;;;;OAIG;IACH,iBAFa,OAAO,CAAC,MAAM,CAAC,CAW3B;IAHC,kCAA8C;CAIjD;yBAhgBwB,cAAc;4BAFmB,cAAc;qBAGnD,UAAU;2BACQ,wBAAwB;2BAAxB,wBAAwB;0BACrC,cAAc;iBAfvB,WAAW;yBAHH,mBAAmB;6BASH,yBAAyB;AAiIlE;IACE;;;;;;;;;;;OAWG;IACH,sBAHW,OAAO,gBAAgB,EAAE,iBAAiB,GACxC,OAAO,CAAC,gBAAgB,CAAC,CA8FrC;CACF;yCAzOwC,yBAAyB;sBAT5C,gBAAgB"}
1
+ {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"AAsnBA;;;;;;;;GAQG;AACH,6BAPW,MAAM,YACN,mBAAmB,WAEnB,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;GAQG;AACH,yCAPW,UAAU,YACV,mBAAmB,WAEnB,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;GAOG;AACH,6CALW,WAAW,WACX,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,WACN,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;GASG;AACH,+BALW,IAAI,GAAC,IAAI,WACT,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;;;;;;;GAUG;AACH,kCATW,MAAM,iBACN,MAAM,EAAE,YACR,mBAAmB,WAGnB,WAAW,GAET,OAAO,CAAC,YAAY,CAAC,CASjC;AAED;;;;;GAKG;AACH,0DAHW,MAAM,GACJ,WAAW,CAIvB;;;yBAxrBY,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY;yBAK1G;IAAE,MAAM,EAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;uCAOhC,UAAU,GAAG,UAAU;;;;;;4CAOvB,UAAU,EAAE,GAAG,UAAU;;;;;;+BAOzB,wBAAwB,GAAG,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6RrE;;;GAGG;AAEH;;GAEG;AACH;IA8IE;;;;;;;OAOG;IACH,0BALW,UAAU,YACV,cAAc,WACd,WAAW,oBAmCrB;IArLD;;;;;;;;OAQG;IACH,oBAPW,UAAU,gBACV,OAAO,WACP,OAAO,kBACP,MAAM,YAEN,cAAc,EAYxB;IARC,mBAAoB;IACpB,iCAAgF;IAChF,sBAAgC;IAChC,iBAAsB;IACtB,uBAAoC;IACpC,eAAmC;IACnC,mBAAqB;IACrB,oBAAuB;IAGzB,qDAWC;IAED,qCAkCC;IAuCD;;;;OAIG;IACH,kBAFa,OAAO,CAAC,MAAM,CAAC,CA6B3B;IA4CD;;;;OAIG;IACH,+BAKC;CACF;2BAthBwC,yBAAyB;AA2hBlE;;;GAGG;AACH;IACE;;;;OAIG;IACH,sBAHW,OAAO,iBACP,OAAO,EAAE,EAWnB;IAPC,kBAAwB;IACxB,yBAAkC;IAClC,sBAAkD;IAElD,sFAAkC;IAClC,mCAAyC;IACzC,0BAAsB;IAGxB,+FAMC;IA8CC,kCAA8C;CAIjD;yBAlmBwB,cAAc;4BAFmB,cAAc;qBAGnD,UAAU;2BACQ,wBAAwB;2BAAxB,wBAAwB;0BACrC,cAAc;iBAfvB,WAAW;yBAHH,mBAAmB;6BASH,yBAAyB;AAwMlE;IACE;;;OAGG;IACH,kBAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAIjC;IAED;;OAEG;IACH,iBAFa,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED;;;;;;OAMG;IAEH;;;;;;;;;;;OAWG;IACH,sBAHW,kBAAkB;;;;;;;;;;;;;;KAA2B,GAC3C,OAAO,CAAC,gBAAgB,CAAC,CA8FrC;CACF;gCA/T+B,wBAAwB;yCARf,yBAAyB;sBAT5C,gBAAgB"}
@@ -15,6 +15,7 @@ import * as globals from './globals.js';
15
15
  import * as rgb from './rgb.js';
16
16
  import { getDecoder, addDecoder } from './compression/index.js';
17
17
  import { setLogger } from './logging.js';
18
+ /** @import { BaseSource } from './source/basesource.js' */
18
19
  export { globals };
19
20
  export { registerTag };
20
21
  export { rgb };
@@ -46,7 +47,69 @@ export { setLogger };
46
47
  * `(TypedArray | TypedArray[]) & { height: number; width: number}`
47
48
  * @typedef {TypedArrayWithDimensions | TypedArrayArrayWithDimensions} ReadRasterResult
48
49
  */
50
+ /**
51
+ * @typedef {Object} ReadRastersOptions
52
+ * @property {Array<number>} [window] the subset to read data from in pixels. Whole window if not specified.
53
+ * @property {Array<number>} [samples] the selection of samples to read from. Default is all samples.
54
+ * All samples if not specified.
55
+ * @property {Pool|null} [pool=null] The optional decoder pool to use.
56
+ * @property {number} [width] The desired width of the output. When the width is not the
57
+ * same as the images, resampling will be performed.
58
+ * @property {number} [height] The desired height of the output. When the width is not the
59
+ * same as the images, resampling will be performed.
60
+ * @property {string} [resampleMethod='nearest'] The desired resampling method.
61
+ * @property {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
62
+ * to be aborted
63
+ * @property {number|number[]} [fillValue] The value to use for parts of the image
64
+ * outside of the images extent. When multiple samples are requested and `interleave` is
65
+ * `false`, an array of fill values can be passed.
66
+ * @property {boolean|true|false} [interleave] whether the data shall be read
67
+ * in one single array or separate arrays.
68
+ */
69
+ /**
70
+ * @typedef {Object} ReadRGBOptions
71
+ * @property {Array<number>} [window] the subset to read data from in pixels. Whole window if not specified.
72
+ * @property {Pool|null} [pool=null] The optional decoder pool to use.
73
+ * @property {number} [width] The desired width of the output. When the width is no the
74
+ * same as the images, resampling will be performed.
75
+ * @property {number} [height] The desired height of the output. When the width is no the
76
+ * same as the images, resampling will be performed.
77
+ * @property {string} [resampleMethod='nearest'] The desired resampling method.
78
+ * @property {boolean} [enableAlpha=false] Enable reading alpha channel if present.
79
+ * @property {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
80
+ * to be aborted
81
+ * @property {boolean|true|false} [interleave] whether the data shall be read
82
+ * in one single array or separate arrays.
83
+ */
84
+ /**
85
+ * @typedef {Object} BlockedSourceOptions
86
+ * @property {number|null} [blockSize=null] Block size for a BlockedSource.
87
+ * @property {number} [cacheSize=100] The number of blocks to cache.
88
+ */
89
+ /**
90
+ * @typedef {Object} RemoteSourceOptions
91
+ * @property {Object} [headers={}] Additional headers to add to each request
92
+ * @property {number} [maxRanges=0] Maximum number of ranges to request in a single HTTP request. 0 means no multi-range requests.
93
+ * @property {boolean} [allowFullFile=false] Whether to allow full file responses when requesting ranges
94
+ * @property {boolean} [forceXHR=false] When the Fetch API would be used, force using XMLHttpRequest instead.
95
+ */
96
+ /**
97
+ * @overload
98
+ * @param {DataSlice} dataSlice
99
+ * @param {0x0002} fieldType
100
+ * @param {number} count
101
+ * @param {number} offset
102
+ * @returns {string}
103
+ */
104
+ /**
105
+ * @param {DataSlice} dataSlice
106
+ * @param {import('./globals.js').FieldType} fieldType
107
+ * @param {number} count
108
+ * @param {number} offset
109
+ * @returns {TypedArray|Array<number>|string}
110
+ */
49
111
  function getValues(dataSlice, fieldType, count, offset) {
112
+ /** @type {TypedArray|Array|null} */
50
113
  let values = null;
51
114
  let readMethod = null;
52
115
  const fieldTypeLength = getFieldTypeSize(fieldType);
@@ -104,7 +167,10 @@ function getValues(dataSlice, fieldType, count, offset) {
104
167
  readMethod = dataSlice.readFloat64;
105
168
  break;
106
169
  default:
107
- throw new RangeError(`Invalid field type: ${fieldType}`);
170
+ // will throw below
171
+ }
172
+ if (values === null || readMethod === null) {
173
+ throw new RangeError(`Invalid field type: ${fieldType}`);
108
174
  }
109
175
  // normal fields
110
176
  if (!(fieldType === fieldTypes.RATIONAL || fieldType === fieldTypes.SRATIONAL)) {
@@ -119,7 +185,7 @@ function getValues(dataSlice, fieldType, count, offset) {
119
185
  }
120
186
  }
121
187
  if (fieldType === fieldTypes.ASCII) {
122
- return new TextDecoder('utf-8').decode(values);
188
+ return new TextDecoder('utf-8').decode(/** @type {Uint8Array} */ (values));
123
189
  }
124
190
  return values;
125
191
  }
@@ -134,6 +200,26 @@ class GeoTIFFImageIndexError extends Error {
134
200
  }
135
201
  }
136
202
  class GeoTIFFBase {
203
+ /**
204
+ * @param {number} [_index=0] the index of the image to return.
205
+ * @returns {Promise<GeoTIFFImage>} the image at the given index
206
+ */
207
+ async getImage(_index = 0) {
208
+ throw new Error('Not implemented');
209
+ }
210
+ /**
211
+ * @returns {Promise<number>} the number of internal subfile images
212
+ */
213
+ async getImageCount() {
214
+ throw new Error('Not implemented');
215
+ }
216
+ /**
217
+ * @typedef {Object} ReadRastersWindowOptions
218
+ * @property {number} [resX] desired Y resolution (world units per pixel)
219
+ * @property {number} [resY] desired X resolution (world units per pixel)
220
+ * @property {Array<number>} [bbox] the subset to read data from in
221
+ * geographical coordinates. Whole image if not specified.
222
+ */
137
223
  /**
138
224
  * (experimental) Reads raster data from the best fitting image. This function uses
139
225
  * the image with the lowest resolution that is still a higher resolution than the
@@ -143,7 +229,7 @@ class GeoTIFFBase {
143
229
  * Then, the [readRasters]{@link GeoTIFFImage#readRasters} method of the selected
144
230
  * image is called and the result returned.
145
231
  * @see GeoTIFFImage.readRasters
146
- * @param {import('./geotiffimage').ReadRasterOptions} [options={}] optional parameters
232
+ * @param {ReadRastersOptions & ReadRastersWindowOptions} options optional parameters
147
233
  * @returns {Promise<ReadRasterResult>} the decoded array(s), with `height` and `width`, as a promise
148
234
  */
149
235
  async readRasters(options = {}) {
@@ -233,12 +319,11 @@ class GeoTIFFBase {
233
319
  */
234
320
  /**
235
321
  * The abstraction for a whole GeoTIFF file.
236
- * @augments GeoTIFFBase
237
322
  */
238
323
  class GeoTIFF extends GeoTIFFBase {
239
324
  /**
240
325
  * @constructor
241
- * @param {*} source The datasource to read from.
326
+ * @param {BaseSource} source The datasource to read from.
242
327
  * @param {boolean} littleEndian Whether the image uses little endian.
243
328
  * @param {boolean} bigTiff Whether the image uses bigTIFF conventions.
244
329
  * @param {number} firstIFDOffset The numeric byte-offset from the start of the image
@@ -308,7 +393,7 @@ class GeoTIFF extends GeoTIFFBase {
308
393
  * @returns {Promise<GeoTIFFImage>} the image at the given index
309
394
  */
310
395
  async getImage(index = 0) {
311
- return new GeoTIFFImage(await this.requestIFD(index), this.dataView, this.littleEndian, this.cache, this.source);
396
+ return new GeoTIFFImage(await this.requestIFD(index), this.littleEndian, this.cache, this.source);
312
397
  }
313
398
  /**
314
399
  * Returns the count of the internal subfiles.
@@ -356,6 +441,7 @@ class GeoTIFF extends GeoTIFFBase {
356
441
  slice = await this.getSlice(offset, metadataSize);
357
442
  }
358
443
  const fullString = getValues(slice, fieldTypes.ASCII, metadataSize, offset);
444
+ /** @type {Object} */
359
445
  this.ghostValues = {};
360
446
  fullString
361
447
  .split('\n')
@@ -370,7 +456,7 @@ class GeoTIFF extends GeoTIFFBase {
370
456
  /**
371
457
  * Parse a (Geo)TIFF file from the given source.
372
458
  *
373
- * @param {*} source The source of data to parse from.
459
+ * @param {BaseSource} source The source of data to parse from.
374
460
  * @param {GeoTIFFOptions} [options] Additional options.
375
461
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
376
462
  * to be aborted
@@ -455,7 +541,11 @@ class MultiGeoTIFF extends GeoTIFFBase {
455
541
  * @returns {Promise<GeoTIFFImage>} the image at the given index
456
542
  */
457
543
  async getImage(index = 0) {
544
+ // Initialize this.imageCounts if not yet done
458
545
  await this.getImageCount();
546
+ if (!this.imageCounts) {
547
+ throw new Error('Image counts not available');
548
+ }
459
549
  await this.parseFileDirectoriesPerFile();
460
550
  let visited = 0;
461
551
  let relativeIndex = 0;
@@ -463,7 +553,7 @@ class MultiGeoTIFF extends GeoTIFFBase {
463
553
  const imageFile = this.imageFiles[i];
464
554
  for (let ii = 0; ii < this.imageCounts[i]; ii++) {
465
555
  if (index === visited) {
466
- return new GeoTIFFImage(await imageFile.requestIFD(relativeIndex), imageFile.dataView, imageFile.littleEndian, imageFile.cache, imageFile.source);
556
+ return new GeoTIFFImage(await imageFile.requestIFD(relativeIndex), imageFile.littleEndian, imageFile.cache, imageFile.source);
467
557
  }
468
558
  visited++;
469
559
  relativeIndex++;
@@ -492,26 +582,26 @@ export { MultiGeoTIFF };
492
582
  /**
493
583
  * Creates a new GeoTIFF from a remote URL.
494
584
  * @param {string} url The URL to access the image from
495
- * @param {object} [options] Additional options to pass to the source.
585
+ * @param {RemoteSourceOptions} [options] Additional options to pass to the source.
496
586
  * See {@link makeRemoteSource} for details.
497
587
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
498
588
  * to be aborted
499
589
  * @returns {Promise<GeoTIFF>} The resulting GeoTIFF file.
500
590
  */
501
591
  export async function fromUrl(url, options = {}, signal) {
502
- return GeoTIFF.fromSource(makeRemoteSource(url, options), signal);
592
+ return GeoTIFF.fromSource(makeRemoteSource(url, options), undefined, signal);
503
593
  }
504
594
  /**
505
595
  * Creates a new GeoTIFF from a custom {@link BaseClient}.
506
596
  * @param {BaseClient} client The client.
507
- * @param {object} [options] Additional options to pass to the source.
597
+ * @param {RemoteSourceOptions} [options] Additional options to pass to the source.
508
598
  * See {@link makeRemoteSource} for details.
509
599
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
510
600
  * to be aborted
511
601
  * @returns {Promise<GeoTIFF>} The resulting GeoTIFF file.
512
602
  */
513
603
  export async function fromCustomClient(client, options = {}, signal) {
514
- return GeoTIFF.fromSource(makeCustomSource(client, options), signal);
604
+ return GeoTIFF.fromSource(makeCustomSource(client, options), undefined, signal);
515
605
  }
516
606
  /**
517
607
  * Construct a new GeoTIFF from an
@@ -522,7 +612,7 @@ export async function fromCustomClient(client, options = {}, signal) {
522
612
  * @returns {Promise<GeoTIFF>} The resulting GeoTIFF file.
523
613
  */
524
614
  export async function fromArrayBuffer(arrayBuffer, signal) {
525
- return GeoTIFF.fromSource(makeBufferSource(arrayBuffer), signal);
615
+ return GeoTIFF.fromSource(makeBufferSource(arrayBuffer), undefined, signal);
526
616
  }
527
617
  /**
528
618
  * Construct a GeoTIFF from a local file path. This uses the node
@@ -537,7 +627,7 @@ export async function fromArrayBuffer(arrayBuffer, signal) {
537
627
  * @returns {Promise<GeoTIFF>} The resulting GeoTIFF file.
538
628
  */
539
629
  export async function fromFile(path, signal) {
540
- return GeoTIFF.fromSource(makeFileSource(path), signal);
630
+ return GeoTIFF.fromSource(makeFileSource(path), undefined, signal);
541
631
  }
542
632
  /**
543
633
  * Construct a GeoTIFF from an HTML
@@ -550,13 +640,13 @@ export async function fromFile(path, signal) {
550
640
  * @returns {Promise<GeoTIFF>} The resulting GeoTIFF file.
551
641
  */
552
642
  export async function fromBlob(blob, signal) {
553
- return GeoTIFF.fromSource(makeFileReaderSource(blob), signal);
643
+ return GeoTIFF.fromSource(makeFileReaderSource(blob), undefined, signal);
554
644
  }
555
645
  /**
556
646
  * Construct a MultiGeoTIFF from the given URLs.
557
647
  * @param {string} mainUrl The URL for the main file.
558
648
  * @param {string[]} overviewUrls An array of URLs for the overview images.
559
- * @param {Object} [options] Additional options to pass to the source.
649
+ * @param {RemoteSourceOptions} [options] Additional options to pass to the source.
560
650
  * See [makeRemoteSource]{@link module:source.makeRemoteSource}
561
651
  * for details.
562
652
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
@@ -564,14 +654,15 @@ export async function fromBlob(blob, signal) {
564
654
  * @returns {Promise<MultiGeoTIFF>} The resulting MultiGeoTIFF file.
565
655
  */
566
656
  export async function fromUrls(mainUrl, overviewUrls = [], options = {}, signal) {
567
- const mainFile = await GeoTIFF.fromSource(makeRemoteSource(mainUrl, options), signal);
568
- const overviewFiles = await Promise.all(overviewUrls.map((url) => GeoTIFF.fromSource(makeRemoteSource(url, options))));
657
+ const mainFile = await GeoTIFF.fromSource(makeRemoteSource(mainUrl, options), undefined, signal);
658
+ const overviewFiles = await Promise.all(overviewUrls.map((url) => GeoTIFF.fromSource(makeRemoteSource(url, options), undefined, signal)));
569
659
  return new MultiGeoTIFF(mainFile, overviewFiles);
570
660
  }
571
661
  /**
572
662
  * Main creating function for GeoTIFF files.
573
- * @param {(Array)} array of pixel values
574
- * @returns {metadata} metadata
663
+ * @param {Array} values of pixel values
664
+ * @param {Object} metadata
665
+ * @returns {ArrayBuffer}
575
666
  */
576
667
  export function writeArrayBuffer(values, metadata) {
577
668
  return writeGeotiff(values, metadata);
@@ -1,87 +1,33 @@
1
1
  export default GeoTIFFImage;
2
- export type ReadRasterOptions = {
3
- /**
4
- * window] the subset to read data from in pixels.
5
- */
6
- window?: number[] | undefined;
7
- /**
8
- * image] the subset to read data from in
9
- * geographical coordinates.
10
- */
11
- bbox?: number[] | undefined;
12
- /**
13
- * samples] the selection of samples to read from. Default is all samples.
14
- */
15
- samples?: number[] | undefined;
16
- /**
17
- * whether the data shall be read
18
- * in one single array or separate
19
- * arrays.
20
- */
21
- interleave?: boolean | undefined;
22
- /**
23
- * The optional decoder pool to use.
24
- */
25
- pool?: Pool;
26
- /**
27
- * The desired width of the output. When the width is not the
28
- * same as the images, resampling will be performed.
29
- */
30
- width?: number | undefined;
31
- /**
32
- * The desired height of the output. When the width is not the
33
- * same as the images, resampling will be performed.
34
- */
35
- height?: number | undefined;
36
- /**
37
- * The desired resampling method.
38
- */
39
- resampleMethod?: string | undefined;
40
- /**
41
- * An AbortSignal that may be signalled if the request is
42
- * to be aborted
43
- */
44
- signal?: AbortSignal | undefined;
45
- /**
46
- * The value to use for parts of the image
47
- * outside of the images extent. When multiple
48
- * samples are requested, an array of fill values
49
- * can be passed.
50
- */
51
- fillValue?: number | number[] | undefined;
52
- };
53
- export type TypedArray = import("./geotiff.js").TypedArray;
54
- export type ReadRasterResult = import("./geotiff.js").ReadRasterResult;
55
2
  /**
56
3
  * GeoTIFF sub-file image.
57
4
  */
58
5
  declare class GeoTIFFImage {
59
6
  /**
60
7
  * @constructor
61
- * @param {import("./imagefiledirectory.js").ImageFileDirectory} fileDirectory The parsed file directory
62
- * @param {DataView} dataView The DataView for the underlying file.
8
+ * @param {import("./imagefiledirectory").ImageFileDirectory} fileDirectory The parsed file directory
63
9
  * @param {Boolean} littleEndian Whether the file is encoded in little or big endian
64
10
  * @param {Boolean} cache Whether or not decoded tiles shall be cached
65
- * @param {import('./source/basesource').BaseSource} source The datasource to read from
11
+ * @param {import('./source/basesource.js').BaseSource} source The datasource to read from
66
12
  */
67
- constructor(fileDirectory: import("./imagefiledirectory.js").ImageFileDirectory, dataView: DataView, littleEndian: boolean, cache: boolean, source: import("./source/basesource").BaseSource);
68
- fileDirectory: import("./imagefiledirectory.js").ImageFileDirectory;
69
- dataView: DataView<ArrayBufferLike>;
13
+ constructor(fileDirectory: import("./imagefiledirectory").ImageFileDirectory, littleEndian: boolean, cache: boolean, source: import("./source/basesource.js").BaseSource);
14
+ fileDirectory: import("./imagefiledirectory").ImageFileDirectory;
70
15
  littleEndian: boolean;
71
16
  tiles: {} | null;
72
17
  isTiled: boolean;
73
- planarConfiguration: any;
74
- source: import("./source/basesource").BaseSource;
18
+ /** @type {1 | 2} */
19
+ planarConfiguration: 1 | 2;
20
+ source: import("./source/basesource.js").BaseSource;
75
21
  /**
76
22
  * Returns the associated parsed file directory.
77
- * @returns {import("./imagefiledirectory.js").ImageFileDirectory} the parsed file directory
23
+ * @returns {import("./imagefiledirectory").ImageFileDirectory} the parsed file directory
78
24
  */
79
- getFileDirectory(): import("./imagefiledirectory.js").ImageFileDirectory;
25
+ getFileDirectory(): import("./imagefiledirectory").ImageFileDirectory;
80
26
  /**
81
27
  * Returns the associated parsed geo keys.
82
- * @returns {Record<import('./globals.js').GeoKeyName, *>|null} the parsed geo keys
28
+ * @returns {Partial<Record<import('./globals.js').GeoKeyName, *>>|null} the parsed geo keys
83
29
  */
84
- getGeoKeys(): Record<import("./globals.js").GeoKeyName, any> | null;
30
+ getGeoKeys(): Partial<Record<import("./globals.js").GeoKeyName, any>> | null;
85
31
  /**
86
32
  * Returns the width of the image.
87
33
  * @returns {Number} the width of the image
@@ -142,59 +88,76 @@ declare class GeoTIFFImage {
142
88
  * @param {Array} imageWindow The image window in pixel coordinates
143
89
  * @param {Array} samples The selected samples (0-based indices)
144
90
  * @param {TypedArray|TypedArray[]} valueArrays The array(s) to write into
145
- * @param {Boolean} interleave Whether or not to write in an interleaved manner
146
- * @param {import("./geotiff").Pool|AbstractDecoder} poolOrDecoder the decoder or decoder pool
147
- * @param {number} width the width of window to be read into
148
- * @param {number} height the height of window to be read into
149
- * @param {number} resampleMethod the resampling method to be used when interpolating
91
+ * @param {boolean|undefined} interleave Whether or not to write in an interleaved manner
92
+ * @param {import("./geotiff").Pool|import("./geotiff").BaseDecoder} poolOrDecoder the decoder or decoder pool
93
+ * @param {number} [width] the width of window to be read into
94
+ * @param {number} [height] the height of window to be read into
95
+ * @param {string} [resampleMethod] the resampling method to be used when interpolating
150
96
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
151
97
  * to be aborted
152
98
  * @returns {Promise<ReadRasterResult>}
153
99
  */
154
100
  private _readRaster;
155
101
  /**
156
- * Reads raster data from the image. This function reads all selected samples
157
- * into separate arrays of the correct type for that sample or into a single
158
- * combined array when `interleave` is set. When provided, only a subset
159
- * of the raster is read for each sample.
160
- *
161
- * @param {ReadRasterOptions} [options={}] optional parameters
102
+ * @overload
103
+ * @param {ReadRastersOptions & {interleave: true}} options optional parameters
104
+ * @returns {Promise<import("./geotiff").TypedArrayWithDimensions>} the decoded arrays as a promise
105
+ */
106
+ readRasters(options: ReadRastersOptions & {
107
+ interleave: true;
108
+ }): Promise<import("./geotiff").TypedArrayWithDimensions>;
109
+ /**
110
+ * @overload
111
+ * @param {ReadRastersOptions & {interleave: false}} options optional parameters
112
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the decoded arrays as a promise
113
+ */
114
+ readRasters(options: ReadRastersOptions & {
115
+ interleave: false;
116
+ }): Promise<import("./geotiff").TypedArrayArrayWithDimensions>;
117
+ /**
118
+ * @overload
119
+ * @param {ReadRastersOptions & {interleave: boolean}} options optional parameters
162
120
  * @returns {Promise<ReadRasterResult>} the decoded arrays as a promise
163
121
  */
164
- readRasters({ window: wnd, samples, interleave, pool, width, height, resampleMethod, fillValue, signal, }?: ReadRasterOptions): Promise<ReadRasterResult>;
122
+ readRasters(options: ReadRastersOptions & {
123
+ interleave: boolean;
124
+ }): Promise<ReadRasterResult>;
125
+ /**
126
+ * @overload
127
+ * @param {ReadRastersOptions} [options={}] optional parameters
128
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the decoded arrays as a promise
129
+ */
130
+ readRasters(options?: ReadRastersOptions | undefined): Promise<import("./geotiff").TypedArrayArrayWithDimensions>;
165
131
  /**
166
- * Reads raster data from the image as RGB.
167
- * Colorspaces other than RGB will be transformed to RGB, color maps expanded.
168
- * When no other method is applicable, the first sample is used to produce a
169
- * grayscale image.
170
- * When provided, only a subset of the raster is read for each sample.
171
- *
172
- * @param {Object} [options] optional parameters
173
- * @param {Array<number>} [options.window] the subset to read data from in pixels.
174
- * @param {boolean} [options.interleave=true] whether the data shall be read
175
- * in one single array or separate
176
- * arrays.
177
- * @param {import("./geotiff").Pool} [options.pool=null] The optional decoder pool to use.
178
- * @param {number} [options.width] The desired width of the output. When the width is no the
179
- * same as the images, resampling will be performed.
180
- * @param {number} [options.height] The desired height of the output. When the width is no the
181
- * same as the images, resampling will be performed.
182
- * @param {string} [options.resampleMethod='nearest'] The desired resampling method.
183
- * @param {boolean} [options.enableAlpha=false] Enable reading alpha channel if present.
184
- * @param {AbortSignal} [options.signal] An AbortSignal that may be signalled if the request is
185
- * to be aborted
132
+ * @overload
133
+ * @param {ReadRGBOptions & {interleave: true}} options optional parameters
134
+ * @returns {Promise<import("./geotiff").TypedArrayWithDimensions>} the RGB array as a Promise
135
+ */
136
+ readRGB(options: ReadRGBOptions & {
137
+ interleave: true;
138
+ }): Promise<import("./geotiff").TypedArrayWithDimensions>;
139
+ /**
140
+ * @overload
141
+ * @param {ReadRGBOptions & {interleave: false}} options optional parameters
142
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the RGB array as a Promise
143
+ */
144
+ readRGB(options: ReadRGBOptions & {
145
+ interleave: false;
146
+ }): Promise<import("./geotiff").TypedArrayArrayWithDimensions>;
147
+ /**
148
+ * @overload
149
+ * @param {ReadRGBOptions & {interleave: boolean}} options optional parameters
186
150
  * @returns {Promise<ReadRasterResult>} the RGB array as a Promise
187
151
  */
188
- readRGB({ window, interleave, pool, width, height, resampleMethod, enableAlpha, signal }?: {
189
- window?: number[] | undefined;
190
- interleave?: boolean | undefined;
191
- pool?: import("./pool.js").default | undefined;
192
- width?: number | undefined;
193
- height?: number | undefined;
194
- resampleMethod?: string | undefined;
195
- enableAlpha?: boolean | undefined;
196
- signal?: AbortSignal | undefined;
152
+ readRGB(options: ReadRGBOptions & {
153
+ interleave: boolean;
197
154
  }): Promise<ReadRasterResult>;
155
+ /**
156
+ * @overload
157
+ * @param {ReadRGBOptions} [options={}] optional parameters
158
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the RGB array as a Promise
159
+ */
160
+ readRGB(options?: ReadRGBOptions | undefined): Promise<import("./geotiff").TypedArrayArrayWithDimensions>;
198
161
  /**
199
162
  * Returns an array of tiepoints.
200
163
  * @returns {Promise<Object[]>}
@@ -206,10 +169,10 @@ declare class GeoTIFFImage {
206
169
  * If sample is passed to null, dataset-level metadata will be returned.
207
170
  * Otherwise only metadata specific to the provided sample will be returned.
208
171
  *
209
- * @param {number} [sample=null] The sample index.
172
+ * @param {number|null} [sample=null] The sample index.
210
173
  * @returns {Promise<Object>}
211
174
  */
212
- getGDALMetadata(sample?: number): Promise<Object>;
175
+ getGDALMetadata(sample?: number | null): Promise<Object>;
213
176
  /**
214
177
  * Returns the GDAL nodata value
215
178
  * @returns {number|null}
@@ -224,12 +187,12 @@ declare class GeoTIFFImage {
224
187
  /**
225
188
  * Returns the image resolution as a XYZ-vector. When the image has no affine
226
189
  * transformation, then an exception is thrown.
227
- * @param {GeoTIFFImage} [referenceImage=null] A reference image to calculate the resolution from
190
+ * @param {GeoTIFFImage|null} [referenceImage=null] A reference image to calculate the resolution from
228
191
  * in cases when the current image does not have the
229
192
  * required tags on its own.
230
193
  * @returns {Array<number>} The resolution as a vector
231
194
  */
232
- getResolution(referenceImage?: GeoTIFFImage): Array<number>;
195
+ getResolution(referenceImage?: GeoTIFFImage | null): Array<number>;
233
196
  /**
234
197
  * Returns whether or not the pixels of the image depict an area (or point).
235
198
  * @returns {Boolean} Whether the pixels are a point
@@ -245,4 +208,7 @@ declare class GeoTIFFImage {
245
208
  */
246
209
  getBoundingBox(tilegrid?: boolean): Array<number>;
247
210
  }
211
+ import type { ReadRastersOptions } from "./geotiff";
212
+ import type { ReadRasterResult } from "./geotiff";
213
+ import type { ReadRGBOptions } from "./geotiff";
248
214
  //# sourceMappingURL=geotiffimage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geotiffimage.d.ts","sourceRoot":"","sources":["../src/geotiffimage.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;WAmBc,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAcJ,OAAO,cAAc,EAAE,UAAU;+BACjC,OAAO,cAAc,EAAE,gBAAgB;AA0IrD;;GAEG;AACH;IACE;;;;;;;OAOG;IACH,2BANW,OAAO,yBAAyB,EAAE,kBAAkB,YACpD,QAAQ,iDAGR,OAAO,qBAAqB,EAAE,UAAU,EAelD;IAZC,oEAAkC;IAClC,oCAAwB;IACxB,sBAAgC;IAChC,iBAA8B;IAC9B,iBAAoD;IAEpD,yBAAiG;IAKjG,iDAAoB;IAGtB;;;OAGG;IACH,oBAFa,OAAO,yBAAyB,EAAE,kBAAkB,CAIhE;IAED;;;OAGG;IACH,cAFa,MAAM,CAAC,OAAO,cAAc,EAAE,UAAU,EAAE,GAAC,CAAC,GAAC,IAAI,CAI7D;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,6BAGC;IAED;;;OAGG;IACH,uBAEC;IAED;;;OAGG;IACH,wBAQC;IAED,wBAEC;IAED,+BAMC;IAED;;;;OAIG;IACH,2BAQC;IAED,kCAMC;IAED,6FAyCC;IAED,2CAGC;IAED,4CAEC;IAED,mMAIC;IAED;;;;;;;;;OASG;IACH,oEALW,OAAO,WAAW,EAAE,IAAI,GAAC,OAAO,WAAW,EAAE,WAAW,WACxD,WAAW,GAET,OAAO,CAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAC,CAAC,CAkE/E;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAsHC;IAED;;;;;;;;OAQG;IACH,4GAHW,iBAAiB,GACf,OAAO,CAAC,gBAAgB,CAAC,CA6DrC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,2FAfG;QAAgC,MAAM;QACZ,UAAU;QAGO,IAAI;QACtB,KAAK;QAEL,MAAM;QAEN,cAAc;QACb,WAAW;QACP,MAAM;KAEpC,GAAU,OAAO,CAAC,gBAAgB,CAAC,CA0GrC;IAED;;;OAGG;IACH,gBAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB7B;IAED;;;;;;;;OAQG;IACH,yBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAsB3B;IAED;;;OAGG;IACH,iBAFa,MAAM,GAAC,IAAI,CAQvB;IAED;;;;OAIG;IACH,aAFa,KAAK,CAAC,MAAM,CAAC,CAoBzB;IAED;;;;;;;OAOG;IACH,+BALW,YAAY,GAGV,KAAK,CAAC,MAAM,CAAC,CAuCzB;IAED;;;OAGG;IACH,uBAEC;IAED;;;;;;;OAOG;IACH,0BAJW,OAAO,GAEL,KAAK,CAAC,MAAM,CAAC,CAgDzB;CACF"}
1
+ {"version":3,"file":"geotiffimage.d.ts","sourceRoot":"","sources":["../src/geotiffimage.js"],"names":[],"mappings":";AAuJA;;GAEG;AACH;IACE;;;;;;OAMG;IACH,2BALW,OAAO,sBAAsB,EAAE,kBAAkB,iDAGjD,OAAO,wBAAwB,EAAE,UAAU,EAerD;IAZC,iEAAkC;IAClC,sBAAgC;IAChC,iBAA8B;IAC9B,iBAAoD;IAKpD,oBAAoB;IACpB,qBADW,CAAC,GAAG,CAAC,CAC8B;IAE9C,oDAAoB;IAGtB;;;OAGG;IACH,oBAFa,OAAO,sBAAsB,EAAE,kBAAkB,CAI7D;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,MAAM,CAAC,OAAO,cAAc,EAAE,UAAU,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAItE;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,6BAGC;IAED;;;OAGG;IACH,uBAEC;IAED;;;OAGG;IACH,wBAQC;IAED,wBAEC;IAED,+BAMC;IAED;;;;OAIG;IACH,2BAQC;IAED,kCAMC;IAED,6FAyCC;IAED,2CAGC;IAED,4CAEC;IAED,mMAIC;IAED;;;;;;;;;OASG;IACH,oEALW,OAAO,WAAW,EAAE,IAAI,GAAC,OAAO,WAAW,EAAE,WAAW,WACxD,WAAW,GAET,OAAO,CAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAC,CAAC,CAqE/E;IAED;;;;;;;;;;;;;;OAcG;IACH,oBA6HC;;;;;;IAGE,qBACQ,kBAAkB,GAAG;QAAC,UAAU,EAAE,IAAI,CAAA;KAAC,GACrC,OAAO,CAAC,OAAO,WAAW,EAAE,wBAAwB,CAAC,CACjE;;;;;;IAGE,qBACQ,kBAAkB,GAAG;QAAC,UAAU,EAAE,KAAK,CAAA;KAAC,GACtC,OAAO,CAAC,OAAO,WAAW,EAAE,6BAA6B,CAAC,CACtE;;;;;;IAGE,qBACQ,kBAAkB,GAAG;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CACrC;;;;;;IAGE,uDAEU,OAAO,CAAC,OAAO,WAAW,EAAE,6BAA6B,CAAC,CACtE;;;;;;IA+EE,iBACQ,cAAc,GAAG;QAAC,UAAU,EAAE,IAAI,CAAA;KAAC,GACjC,OAAO,CAAC,OAAO,WAAW,EAAE,wBAAwB,CAAC,CACjE;;;;;;IAGE,iBACQ,cAAc,GAAG;QAAC,UAAU,EAAE,KAAK,CAAA;KAAC,GAClC,OAAO,CAAC,OAAO,WAAW,EAAE,6BAA6B,CAAC,CACtE;;;;;;IAGE,iBACQ,cAAc,GAAG;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GACpC,OAAO,CAAC,gBAAgB,CAAC,CACrC;;;;;;IAGE,+CAEU,OAAO,CAAC,OAAO,WAAW,EAAE,6BAA6B,CAAC,CACtE;IA2HD;;;OAGG;IACH,gBAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB7B;IAED;;;;;;;;OAQG;IACH,yBAHW,MAAM,GAAC,IAAI,GACT,OAAO,CAAC,MAAM,CAAC,CAsB3B;IAED;;;OAGG;IACH,iBAFa,MAAM,GAAC,IAAI,CAQvB;IAED;;;;OAIG;IACH,aAFa,KAAK,CAAC,MAAM,CAAC,CAoBzB;IAED;;;;;;;OAOG;IACH,+BALW,YAAY,GAAC,IAAI,GAGf,KAAK,CAAC,MAAM,CAAC,CAuCzB;IAED;;;OAGG;IACH,uBAEC;IAED;;;;;;;OAOG;IACH,0BAJW,OAAO,GAEL,KAAK,CAAC,MAAM,CAAC,CAgDzB;CACF;wCA79BqC,WAAW;sCADb,WAAW;oCAEb,WAAW"}