geotiff 3.0.2 → 3.0.4-beta.0

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 (279) hide show
  1. package/dist-browser/geotiff.js +3 -3
  2. package/dist-browser/geotiff.js.map +1 -1
  3. package/dist-module/compression/basedecoder.d.ts +30 -4
  4. package/dist-module/compression/basedecoder.d.ts.map +1 -1
  5. package/dist-module/compression/basedecoder.js +22 -1
  6. package/dist-module/compression/basedecoder.js.map +1 -0
  7. package/dist-module/compression/deflate.d.ts +2 -1
  8. package/dist-module/compression/deflate.d.ts.map +1 -1
  9. package/dist-module/compression/deflate.js +2 -0
  10. package/dist-module/compression/deflate.js.map +1 -0
  11. package/dist-module/compression/index.d.ts +14 -22
  12. package/dist-module/compression/index.d.ts.map +1 -1
  13. package/dist-module/compression/index.js +36 -25
  14. package/dist-module/compression/index.js.map +1 -0
  15. package/dist-module/compression/jpeg.d.ts +55 -15
  16. package/dist-module/compression/jpeg.d.ts.map +1 -1
  17. package/dist-module/compression/jpeg.js +187 -16
  18. package/dist-module/compression/jpeg.js.map +1 -0
  19. package/dist-module/compression/lerc.d.ts +11 -1
  20. package/dist-module/compression/lerc.d.ts.map +1 -1
  21. package/dist-module/compression/lerc.js +16 -4
  22. package/dist-module/compression/lerc.js.map +1 -0
  23. package/dist-module/compression/lzw.d.ts +2 -1
  24. package/dist-module/compression/lzw.d.ts.map +1 -1
  25. package/dist-module/compression/lzw.js +29 -1
  26. package/dist-module/compression/lzw.js.map +1 -0
  27. package/dist-module/compression/packbits.d.ts +2 -1
  28. package/dist-module/compression/packbits.d.ts.map +1 -1
  29. package/dist-module/compression/packbits.js +2 -0
  30. package/dist-module/compression/packbits.js.map +1 -0
  31. package/dist-module/compression/raw.d.ts +2 -1
  32. package/dist-module/compression/raw.d.ts.map +1 -1
  33. package/dist-module/compression/raw.js +2 -0
  34. package/dist-module/compression/raw.js.map +1 -0
  35. package/dist-module/compression/webimage.d.ts +2 -1
  36. package/dist-module/compression/webimage.d.ts.map +1 -1
  37. package/dist-module/compression/webimage.js +5 -0
  38. package/dist-module/compression/webimage.js.map +1 -0
  39. package/dist-module/compression/zstd.d.ts +4 -2
  40. package/dist-module/compression/zstd.d.ts.map +1 -1
  41. package/dist-module/compression/zstd.js +3 -1
  42. package/dist-module/compression/zstd.js.map +1 -0
  43. package/dist-module/dataslice.d.ts +78 -22
  44. package/dist-module/dataslice.d.ts.map +1 -1
  45. package/dist-module/dataslice.js +57 -1
  46. package/dist-module/dataslice.js.map +1 -0
  47. package/dist-module/dataview64.d.ts +71 -14
  48. package/dist-module/dataview64.d.ts.map +1 -1
  49. package/dist-module/dataview64.js +58 -1
  50. package/dist-module/dataview64.js.map +1 -0
  51. package/dist-module/geotiff.d.ts +61 -12
  52. package/dist-module/geotiff.d.ts.map +1 -1
  53. package/dist-module/geotiff.js +73 -14
  54. package/dist-module/geotiff.js.map +1 -0
  55. package/dist-module/geotiffimage.d.ts +41 -15
  56. package/dist-module/geotiffimage.d.ts.map +1 -1
  57. package/dist-module/geotiffimage.js +132 -52
  58. package/dist-module/geotiffimage.js.map +1 -0
  59. package/dist-module/geotiffwriter.d.ts +28 -1
  60. package/dist-module/geotiffwriter.d.ts.map +1 -1
  61. package/dist-module/geotiffwriter.js +206 -84
  62. package/dist-module/geotiffwriter.js.map +1 -0
  63. package/dist-module/globals.d.ts +912 -92
  64. package/dist-module/globals.d.ts.map +1 -1
  65. package/dist-module/globals.js +201 -227
  66. package/dist-module/globals.js.map +1 -0
  67. package/dist-module/imagefiledirectory.d.ts +72 -19
  68. package/dist-module/imagefiledirectory.d.ts.map +1 -1
  69. package/dist-module/imagefiledirectory.js +51 -26
  70. package/dist-module/imagefiledirectory.js.map +1 -0
  71. package/dist-module/logging.d.ts +36 -10
  72. package/dist-module/logging.d.ts.map +1 -1
  73. package/dist-module/logging.js +16 -2
  74. package/dist-module/logging.js.map +1 -0
  75. package/dist-module/pool.d.ts +15 -8
  76. package/dist-module/pool.d.ts.map +1 -1
  77. package/dist-module/pool.js +11 -3
  78. package/dist-module/pool.js.map +1 -0
  79. package/dist-module/predictor.d.ts +10 -1
  80. package/dist-module/predictor.d.ts.map +1 -1
  81. package/dist-module/predictor.js +19 -0
  82. package/dist-module/predictor.js.map +1 -0
  83. package/dist-module/resample.d.ts.map +1 -1
  84. package/dist-module/resample.js +12 -0
  85. package/dist-module/resample.js.map +1 -0
  86. package/dist-module/rgb.js +1 -0
  87. package/dist-module/rgb.js.map +1 -0
  88. package/dist-module/source/arraybuffer.d.ts +7 -4
  89. package/dist-module/source/arraybuffer.d.ts.map +1 -1
  90. package/dist-module/source/arraybuffer.js +15 -1
  91. package/dist-module/source/arraybuffer.js.map +1 -0
  92. package/dist-module/source/basesource.d.ts +11 -6
  93. package/dist-module/source/basesource.d.ts.map +1 -1
  94. package/dist-module/source/basesource.js +7 -4
  95. package/dist-module/source/basesource.js.map +1 -0
  96. package/dist-module/source/blockedsource.d.ts +2 -2
  97. package/dist-module/source/blockedsource.d.ts.map +1 -1
  98. package/dist-module/source/blockedsource.js +8 -5
  99. package/dist-module/source/blockedsource.js.map +1 -0
  100. package/dist-module/source/client/base.d.ts +8 -7
  101. package/dist-module/source/client/base.d.ts.map +1 -1
  102. package/dist-module/source/client/base.js +7 -5
  103. package/dist-module/source/client/base.js.map +1 -0
  104. package/dist-module/source/client/fetch.d.ts +6 -2
  105. package/dist-module/source/client/fetch.d.ts.map +1 -1
  106. package/dist-module/source/client/fetch.js +7 -2
  107. package/dist-module/source/client/fetch.js.map +1 -0
  108. package/dist-module/source/client/http.d.ts +27 -5
  109. package/dist-module/source/client/http.d.ts.map +1 -1
  110. package/dist-module/source/client/http.js +16 -2
  111. package/dist-module/source/client/http.js.map +1 -0
  112. package/dist-module/source/client/xhr.d.ts +22 -3
  113. package/dist-module/source/client/xhr.d.ts.map +1 -1
  114. package/dist-module/source/client/xhr.js +12 -2
  115. package/dist-module/source/client/xhr.js.map +1 -0
  116. package/dist-module/source/file.d.ts +8 -5
  117. package/dist-module/source/file.d.ts.map +1 -1
  118. package/dist-module/source/file.js +40 -8
  119. package/dist-module/source/file.js.map +1 -0
  120. package/dist-module/source/filereader.d.ts +12 -4
  121. package/dist-module/source/filereader.d.ts.map +1 -1
  122. package/dist-module/source/filereader.js +15 -2
  123. package/dist-module/source/filereader.js.map +1 -0
  124. package/dist-module/source/httputils.d.ts +16 -9
  125. package/dist-module/source/httputils.d.ts.map +1 -1
  126. package/dist-module/source/httputils.js +19 -12
  127. package/dist-module/source/httputils.js.map +1 -0
  128. package/dist-module/source/remote.d.ts.map +1 -1
  129. package/dist-module/source/remote.js +19 -7
  130. package/dist-module/source/remote.js.map +1 -0
  131. package/dist-module/utils.d.ts +36 -41
  132. package/dist-module/utils.d.ts.map +1 -1
  133. package/dist-module/utils.js +17 -12
  134. package/dist-module/utils.js.map +1 -0
  135. package/dist-module/worker/create.js +1 -1
  136. package/dist-module/worker/create.js.map +1 -0
  137. package/dist-module/worker/decoder.d.ts +2 -0
  138. package/dist-module/worker/decoder.d.ts.map +1 -0
  139. package/dist-module/worker/decoder.js +21 -0
  140. package/dist-module/worker/decoder.js.map +1 -0
  141. package/dist-node/compression/basedecoder.d.ts +30 -4
  142. package/dist-node/compression/basedecoder.d.ts.map +1 -1
  143. package/dist-node/compression/basedecoder.js +22 -1
  144. package/dist-node/compression/basedecoder.js.map +1 -1
  145. package/dist-node/compression/deflate.d.ts +2 -1
  146. package/dist-node/compression/deflate.d.ts.map +1 -1
  147. package/dist-node/compression/deflate.js +2 -0
  148. package/dist-node/compression/deflate.js.map +1 -1
  149. package/dist-node/compression/index.d.ts +14 -22
  150. package/dist-node/compression/index.d.ts.map +1 -1
  151. package/dist-node/compression/index.js +36 -25
  152. package/dist-node/compression/index.js.map +1 -1
  153. package/dist-node/compression/jpeg.d.ts +55 -16
  154. package/dist-node/compression/jpeg.d.ts.map +1 -1
  155. package/dist-node/compression/jpeg.js +187 -16
  156. package/dist-node/compression/jpeg.js.map +1 -1
  157. package/dist-node/compression/lerc.d.ts +11 -1
  158. package/dist-node/compression/lerc.d.ts.map +1 -1
  159. package/dist-node/compression/lerc.js +16 -4
  160. package/dist-node/compression/lerc.js.map +1 -1
  161. package/dist-node/compression/lzw.d.ts +2 -1
  162. package/dist-node/compression/lzw.d.ts.map +1 -1
  163. package/dist-node/compression/lzw.js +29 -1
  164. package/dist-node/compression/lzw.js.map +1 -1
  165. package/dist-node/compression/packbits.d.ts +2 -1
  166. package/dist-node/compression/packbits.d.ts.map +1 -1
  167. package/dist-node/compression/packbits.js +2 -0
  168. package/dist-node/compression/packbits.js.map +1 -1
  169. package/dist-node/compression/raw.d.ts +2 -1
  170. package/dist-node/compression/raw.d.ts.map +1 -1
  171. package/dist-node/compression/raw.js +2 -0
  172. package/dist-node/compression/raw.js.map +1 -1
  173. package/dist-node/compression/webimage.d.ts +2 -2
  174. package/dist-node/compression/webimage.d.ts.map +1 -1
  175. package/dist-node/compression/webimage.js +5 -0
  176. package/dist-node/compression/webimage.js.map +1 -1
  177. package/dist-node/compression/zstd.d.ts +2 -1
  178. package/dist-node/compression/zstd.d.ts.map +1 -1
  179. package/dist-node/compression/zstd.js +3 -1
  180. package/dist-node/compression/zstd.js.map +1 -1
  181. package/dist-node/dataslice.d.ts +78 -22
  182. package/dist-node/dataslice.d.ts.map +1 -1
  183. package/dist-node/dataslice.js +57 -1
  184. package/dist-node/dataslice.js.map +1 -1
  185. package/dist-node/dataview64.d.ts +71 -14
  186. package/dist-node/dataview64.d.ts.map +1 -1
  187. package/dist-node/dataview64.js +58 -1
  188. package/dist-node/dataview64.js.map +1 -1
  189. package/dist-node/geotiff.d.ts +61 -12
  190. package/dist-node/geotiff.d.ts.map +1 -1
  191. package/dist-node/geotiff.js +75 -15
  192. package/dist-node/geotiff.js.map +1 -1
  193. package/dist-node/geotiffimage.d.ts +41 -15
  194. package/dist-node/geotiffimage.d.ts.map +1 -1
  195. package/dist-node/geotiffimage.js +132 -52
  196. package/dist-node/geotiffimage.js.map +1 -1
  197. package/dist-node/geotiffwriter.d.ts +28 -1
  198. package/dist-node/geotiffwriter.d.ts.map +1 -1
  199. package/dist-node/geotiffwriter.js +206 -84
  200. package/dist-node/geotiffwriter.js.map +1 -1
  201. package/dist-node/globals.d.ts +910 -90
  202. package/dist-node/globals.d.ts.map +1 -1
  203. package/dist-node/globals.js +202 -228
  204. package/dist-node/globals.js.map +1 -1
  205. package/dist-node/imagefiledirectory.d.ts +72 -19
  206. package/dist-node/imagefiledirectory.d.ts.map +1 -1
  207. package/dist-node/imagefiledirectory.js +51 -26
  208. package/dist-node/imagefiledirectory.js.map +1 -1
  209. package/dist-node/logging.d.ts +36 -10
  210. package/dist-node/logging.d.ts.map +1 -1
  211. package/dist-node/logging.js +16 -2
  212. package/dist-node/logging.js.map +1 -1
  213. package/dist-node/pool.d.ts +15 -8
  214. package/dist-node/pool.d.ts.map +1 -1
  215. package/dist-node/pool.js +11 -3
  216. package/dist-node/pool.js.map +1 -1
  217. package/dist-node/predictor.d.ts +10 -1
  218. package/dist-node/predictor.d.ts.map +1 -1
  219. package/dist-node/predictor.js +19 -0
  220. package/dist-node/predictor.js.map +1 -1
  221. package/dist-node/resample.d.ts.map +1 -1
  222. package/dist-node/resample.js +12 -0
  223. package/dist-node/resample.js.map +1 -1
  224. package/dist-node/rgb.js +1 -0
  225. package/dist-node/rgb.js.map +1 -1
  226. package/dist-node/source/arraybuffer.d.ts +7 -4
  227. package/dist-node/source/arraybuffer.d.ts.map +1 -1
  228. package/dist-node/source/arraybuffer.js +15 -1
  229. package/dist-node/source/arraybuffer.js.map +1 -1
  230. package/dist-node/source/basesource.d.ts +11 -6
  231. package/dist-node/source/basesource.d.ts.map +1 -1
  232. package/dist-node/source/basesource.js +7 -4
  233. package/dist-node/source/basesource.js.map +1 -1
  234. package/dist-node/source/blockedsource.d.ts +2 -2
  235. package/dist-node/source/blockedsource.d.ts.map +1 -1
  236. package/dist-node/source/blockedsource.js +8 -5
  237. package/dist-node/source/blockedsource.js.map +1 -1
  238. package/dist-node/source/client/base.d.ts +8 -7
  239. package/dist-node/source/client/base.d.ts.map +1 -1
  240. package/dist-node/source/client/base.js +7 -5
  241. package/dist-node/source/client/base.js.map +1 -1
  242. package/dist-node/source/client/fetch.d.ts +5 -2
  243. package/dist-node/source/client/fetch.d.ts.map +1 -1
  244. package/dist-node/source/client/fetch.js +7 -2
  245. package/dist-node/source/client/fetch.js.map +1 -1
  246. package/dist-node/source/client/http.d.ts +22 -4
  247. package/dist-node/source/client/http.d.ts.map +1 -1
  248. package/dist-node/source/client/http.js +16 -2
  249. package/dist-node/source/client/http.js.map +1 -1
  250. package/dist-node/source/client/xhr.d.ts +23 -3
  251. package/dist-node/source/client/xhr.d.ts.map +1 -1
  252. package/dist-node/source/client/xhr.js +12 -2
  253. package/dist-node/source/client/xhr.js.map +1 -1
  254. package/dist-node/source/file.d.ts +8 -5
  255. package/dist-node/source/file.d.ts.map +1 -1
  256. package/dist-node/source/file.js +40 -8
  257. package/dist-node/source/file.js.map +1 -1
  258. package/dist-node/source/filereader.d.ts +12 -4
  259. package/dist-node/source/filereader.d.ts.map +1 -1
  260. package/dist-node/source/filereader.js +15 -2
  261. package/dist-node/source/filereader.js.map +1 -1
  262. package/dist-node/source/httputils.d.ts +16 -9
  263. package/dist-node/source/httputils.d.ts.map +1 -1
  264. package/dist-node/source/httputils.js +19 -12
  265. package/dist-node/source/httputils.js.map +1 -1
  266. package/dist-node/source/remote.d.ts.map +1 -1
  267. package/dist-node/source/remote.js +19 -7
  268. package/dist-node/source/remote.js.map +1 -1
  269. package/dist-node/utils.d.ts +9 -8
  270. package/dist-node/utils.d.ts.map +1 -1
  271. package/dist-node/utils.js +17 -12
  272. package/dist-node/utils.js.map +1 -1
  273. package/dist-node/worker/create.js +1 -1
  274. package/dist-node/worker/create.js.map +1 -1
  275. package/dist-node/worker/decoder.d.ts +2 -0
  276. package/dist-node/worker/decoder.d.ts.map +1 -0
  277. package/dist-node/worker/decoder.js +24 -0
  278. package/dist-node/worker/decoder.js.map +1 -0
  279. package/package.json +5 -3
@@ -1,11 +1,19 @@
1
1
  import { getFloat16 } from '@petamoriken/float16';
2
2
  export default class DataView64 {
3
+ /**
4
+ * @param {ArrayBufferLike} arrayBuffer
5
+ */
3
6
  constructor(arrayBuffer) {
4
7
  this._dataView = new DataView(arrayBuffer);
5
8
  }
6
9
  get buffer() {
7
10
  return this._dataView.buffer;
8
11
  }
12
+ /**
13
+ * @param {number} offset
14
+ * @param {boolean} littleEndian
15
+ * @returns {number}
16
+ */
9
17
  getUint64(offset, littleEndian) {
10
18
  const left = this.getUint32(offset, littleEndian);
11
19
  const right = this.getUint32(offset + 4, littleEndian);
@@ -25,7 +33,12 @@ export default class DataView64 {
25
33
  }
26
34
  return combined;
27
35
  }
28
- // adapted from https://stackoverflow.com/a/55338384/8060591
36
+ /**
37
+ * Adapted from https://stackoverflow.com/a/55338384/8060591
38
+ * @param {number} offset
39
+ * @param {boolean} littleEndian
40
+ * @returns {number}
41
+ */
29
42
  getInt64(offset, littleEndian) {
30
43
  let value = 0;
31
44
  const isNegative = (this._dataView.getUint8(offset + (littleEndian ? 7 : 0)) & 0x80) > 0;
@@ -50,31 +63,75 @@ export default class DataView64 {
50
63
  }
51
64
  return value;
52
65
  }
66
+ /**
67
+ * @param {number} offset
68
+ * @returns {number}
69
+ */
53
70
  getUint8(offset) {
54
71
  return this._dataView.getUint8(offset);
55
72
  }
73
+ /**
74
+ * @param {number} offset
75
+ * @returns {number}
76
+ */
56
77
  getInt8(offset) {
57
78
  return this._dataView.getInt8(offset);
58
79
  }
80
+ /**
81
+ * @param {number} offset
82
+ * @param {boolean} littleEndian
83
+ * @returns {number}
84
+ */
59
85
  getUint16(offset, littleEndian) {
60
86
  return this._dataView.getUint16(offset, littleEndian);
61
87
  }
88
+ /**
89
+ * @param {number} offset
90
+ * @param {boolean} littleEndian
91
+ * @returns {number}
92
+ */
62
93
  getInt16(offset, littleEndian) {
63
94
  return this._dataView.getInt16(offset, littleEndian);
64
95
  }
96
+ /**
97
+ * @param {number} offset
98
+ * @param {boolean} littleEndian
99
+ * @returns {number}
100
+ */
65
101
  getUint32(offset, littleEndian) {
66
102
  return this._dataView.getUint32(offset, littleEndian);
67
103
  }
104
+ /**
105
+ * @param {number} offset
106
+ * @param {boolean} littleEndian
107
+ * @returns {number}
108
+ */
68
109
  getInt32(offset, littleEndian) {
69
110
  return this._dataView.getInt32(offset, littleEndian);
70
111
  }
112
+ /**
113
+ * @param {number} offset
114
+ * @param {boolean} littleEndian
115
+ * @returns {number}
116
+ */
71
117
  getFloat16(offset, littleEndian) {
72
118
  return getFloat16(this._dataView, offset, littleEndian);
73
119
  }
120
+ /**
121
+ * @param {number} offset
122
+ * @param {boolean} littleEndian
123
+ * @returns {number}
124
+ */
74
125
  getFloat32(offset, littleEndian) {
75
126
  return this._dataView.getFloat32(offset, littleEndian);
76
127
  }
128
+ /**
129
+ * @param {number} offset
130
+ * @param {boolean} littleEndian
131
+ * @returns {number}
132
+ */
77
133
  getFloat64(offset, littleEndian) {
78
134
  return this._dataView.getFloat64(offset, littleEndian);
79
135
  }
80
136
  }
137
+ //# sourceMappingURL=dataview64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataview64.js","sourceRoot":"","sources":["../src/dataview64.js"],"names":[],"mappings":"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"}
@@ -65,12 +65,14 @@ export function fromBlob(blob: Blob | File, signal?: AbortSignal): Promise<GeoTI
65
65
  export function fromUrls(mainUrl: string, overviewUrls?: string[], options?: RemoteSourceOptions, signal?: AbortSignal): Promise<MultiGeoTIFF>;
66
66
  /**
67
67
  * Main creating function for GeoTIFF files.
68
- * @param {Array} values of pixel values
69
- * @param {Object} metadata
68
+ * @param {Array<number>|Array<Array<Array<number>>>|TypedArray} values The pixel values to write.
69
+ * Can be a flat array of all pixels or a 3-dimensional array of shape `[band][row][column]`.
70
+ * @param {GeotiffWriterMetadata} metadata
70
71
  * @returns {ArrayBuffer}
71
72
  */
72
- export function writeArrayBuffer(values: any[], metadata: Object): ArrayBuffer;
73
+ export function writeArrayBuffer(values: Array<number> | Array<Array<Array<number>>> | TypedArray, metadata: GeotiffWriterMetadata): ArrayBuffer;
73
74
  export { default as BaseDecoder } from "./compression/basedecoder.js";
75
+ export { ImageFileDirectory } from "./imagefiledirectory.js";
74
76
  export default GeoTIFF;
75
77
  export type TypedArray = Uint8Array | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array;
76
78
  export type Dimensions = {
@@ -89,6 +91,42 @@ export type TypedArrayWithDimensions = TypedArray & Dimensions;
89
91
  * `TypedArray[] & { height: number; width: number}`
90
92
  */
91
93
  export type TypedArrayArrayWithDimensions = TypedArray[] & Dimensions;
94
+ export type GeotiffWriterMetadata = {
95
+ ImageWidth?: number | number[] | undefined;
96
+ ImageLength?: number | number[] | undefined;
97
+ width?: number | undefined;
98
+ height?: number | undefined;
99
+ BitsPerSample?: number | number[] | undefined;
100
+ Compression?: number | number[] | undefined;
101
+ PlanarConfiguration?: number | number[] | undefined;
102
+ ExtraSamples?: number | number[] | undefined;
103
+ PhotometricInterpretation?: number | number[] | undefined;
104
+ SamplesPerPixel?: number | number[] | undefined;
105
+ StripByteCounts?: number | number[] | undefined;
106
+ ModelPixelScale?: number[] | undefined;
107
+ ModelTransformation?: number[] | undefined;
108
+ ModelTiepoint?: number[] | undefined;
109
+ GeoKeyDirectory?: number[] | undefined;
110
+ GeoAsciiParams?: string | undefined;
111
+ GeoDoubleParams?: number[] | undefined;
112
+ Orientation?: number | number[] | undefined;
113
+ ResolutionUnit?: number | number[] | undefined;
114
+ XPosition?: number | number[] | undefined;
115
+ YPosition?: number | number[] | undefined;
116
+ RowsPerStrip?: number | number[] | undefined;
117
+ SampleFormat?: number[] | undefined;
118
+ TileWidth?: number | number[] | undefined;
119
+ TileLength?: number | number[] | undefined;
120
+ TileOffsets?: number[] | undefined;
121
+ TileByteCounts?: number[] | undefined;
122
+ GDAL_NODATA?: string | undefined;
123
+ GeographicTypeGeoKey?: number | number[] | undefined;
124
+ ProjectedCSTypeGeoKey?: number | number[] | undefined;
125
+ GeogCitationGeoKey?: string | undefined;
126
+ GTCitationGeoKey?: string | undefined;
127
+ GTModelTypeGeoKey?: number | number[] | undefined;
128
+ GTRasterTypeGeoKey?: number | number[] | undefined;
129
+ };
92
130
  /**
93
131
  * The autogenerated docs are a little confusing here. The effective type is:
94
132
  *
@@ -103,7 +141,7 @@ export type DecoderWorker = {
103
141
  /**
104
142
  * A function that takes a compressed buffer and returns a promise resolving to the decoded buffer.
105
143
  */
106
- decode: (buffer: ArrayBuffer) => Promise<ArrayBuffer>;
144
+ decode: (buffer: ArrayBufferLike) => Promise<ArrayBufferLike>;
107
145
  };
108
146
  export type ReadRastersOptions = {
109
147
  /**
@@ -192,7 +230,7 @@ export type BlockedSourceOptions = {
192
230
  /**
193
231
  * Block size for a BlockedSource.
194
232
  */
195
- blockSize?: number | null | undefined;
233
+ blockSize?: number | undefined;
196
234
  /**
197
235
  * The number of blocks to cache.
198
236
  */
@@ -202,7 +240,7 @@ export type RemoteSourceOptions = {
202
240
  /**
203
241
  * Additional headers to add to each request
204
242
  */
205
- headers?: Object | undefined;
243
+ headers?: Record<string, string> | undefined;
206
244
  /**
207
245
  * Maximum number of ranges to request in a single HTTP request. 0 means no multi-range requests.
208
246
  */
@@ -255,16 +293,27 @@ export class GeoTIFF extends GeoTIFFBase {
255
293
  bigTiff: boolean;
256
294
  firstIFDOffset: number;
257
295
  cache: boolean;
258
- ifdRequests: any[];
259
- ghostValues: Object;
260
- getSlice(offset: any, size: any): Promise<DataSlice>;
261
- requestIFD(index: any): Promise<any>;
296
+ /** @type {Array<Promise<import('./imagefiledirectory.js').ImageFileDirectory> | undefined>} */
297
+ ifdRequests: Array<Promise<import("./imagefiledirectory.js").ImageFileDirectory> | undefined>;
298
+ /** @type {Record<string, unknown>|null} */
299
+ ghostValues: Record<string, unknown> | null;
300
+ /**
301
+ * @param {number} offset
302
+ * @param {number} [size]
303
+ * @returns {Promise<DataSlice>}
304
+ */
305
+ getSlice(offset: number, size?: number): Promise<DataSlice>;
306
+ /**
307
+ * @param {number} index
308
+ * @return {Promise<import('./imagefiledirectory.js').ImageFileDirectory>}
309
+ */
310
+ requestIFD(index: number): Promise<import("./imagefiledirectory.js").ImageFileDirectory>;
262
311
  /**
263
312
  * Get the values of the COG ghost area as a parsed map.
264
313
  * See https://gdal.org/drivers/raster/cog.html#header-ghost-area for reference
265
- * @returns {Promise<Object>} the parsed ghost area or null, if no such area was found
314
+ * @returns {Promise<Record<string, unknown>|null>} the parsed ghost area or null, if no such area was found
266
315
  */
267
- getGhostValues(): Promise<Object>;
316
+ getGhostValues(): Promise<Record<string, unknown> | null>;
268
317
  /**
269
318
  * Closes the underlying file buffer
270
319
  * N.B. After the GeoTIFF has been completely processed it needs
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"AA+nBA;;;;;;;;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;;;yBAjsBY,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;;;;;;;;;YAQvD,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8R3D;;;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;2BA/hBwC,yBAAyB;AAoiBlE;;;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;yBA3mBwB,cAAc;4BAFmB,cAAc;qBAGnD,UAAU;2BACQ,wBAAwB;2BAAxB,wBAAwB;0BACrC,cAAc;iBAfvB,WAAW;yBAHH,mBAAmB;6BASH,yBAAyB;AAiNlE;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;gCAxU+B,wBAAwB;yCARf,yBAAyB;sBAT5C,gBAAgB"}
1
+ {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export { rgb };
22
22
  export { default as BaseDecoder } from './compression/basedecoder.js';
23
23
  export { getDecoder, addDecoder };
24
24
  export { setLogger };
25
+ export { ImageFileDirectory } from './imagefiledirectory.js';
25
26
  /**
26
27
  * @typedef {Uint8Array | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array}
27
28
  * TypedArray
@@ -41,6 +42,43 @@ export { setLogger };
41
42
  * `TypedArray[] & { height: number; width: number}`
42
43
  * @typedef {TypedArray[] & Dimensions} TypedArrayArrayWithDimensions
43
44
  */
45
+ /**
46
+ * @typedef {Object} GeotiffWriterMetadata
47
+ * @property {number | number[]} [ImageWidth]
48
+ * @property {number | number[]} [ImageLength]
49
+ * @property {number} [width]
50
+ * @property {number} [height]
51
+ * @property {number | number[]} [BitsPerSample]
52
+ * @property {number | number[]} [Compression]
53
+ * @property {number | number[]} [PlanarConfiguration]
54
+ * @property {number | number[]} [ExtraSamples]
55
+ * @property {number | number[]} [PhotometricInterpretation]
56
+ * @property {number | number[]} [SamplesPerPixel]
57
+ * @property {number | number[]} [StripByteCounts]
58
+ * @property {number[]} [ModelPixelScale]
59
+ * @property {number[]} [ModelTransformation]
60
+ * @property {number[]} [ModelTiepoint]
61
+ * @property {number[]} [GeoKeyDirectory]
62
+ * @property {string} [GeoAsciiParams]
63
+ * @property {number[]} [GeoDoubleParams]
64
+ * @property {number | number[]} [Orientation]
65
+ * @property {number | number[]} [ResolutionUnit]
66
+ * @property {number | number[]} [XPosition]
67
+ * @property {number | number[]} [YPosition]
68
+ * @property {number | number[]} [RowsPerStrip]
69
+ * @property {number[]} [SampleFormat]
70
+ * @property {number | number[]} [TileWidth]
71
+ * @property {number | number[]} [TileLength]
72
+ * @property {number[]} [TileOffsets]
73
+ * @property {number[]} [TileByteCounts]
74
+ * @property {string} [GDAL_NODATA]
75
+ * @property {number | number[]} [GeographicTypeGeoKey]
76
+ * @property {number | number[]} [ProjectedCSTypeGeoKey]
77
+ * @property {string} [GeogCitationGeoKey]
78
+ * @property {string} [GTCitationGeoKey]
79
+ * @property {number | number[]} [GTModelTypeGeoKey]
80
+ * @property {number | number[]} [GTRasterTypeGeoKey]
81
+ */
44
82
  /**
45
83
  * The autogenerated docs are a little confusing here. The effective type is:
46
84
  *
@@ -52,7 +90,7 @@ export { setLogger };
52
90
  * Use the {@link Pool.bindParameters} method to get a decoder worker for
53
91
  * a specific compression and its parameters.
54
92
  *
55
- * @property {(buffer: ArrayBuffer) => Promise<ArrayBuffer>} decode
93
+ * @property {(buffer: ArrayBufferLike) => Promise<ArrayBufferLike>} decode
56
94
  * A function that takes a compressed buffer and returns a promise resolving to the decoded buffer.
57
95
  */
58
96
  /**
@@ -91,12 +129,12 @@ export { setLogger };
91
129
  */
92
130
  /**
93
131
  * @typedef {Object} BlockedSourceOptions
94
- * @property {number|null} [blockSize=null] Block size for a BlockedSource.
132
+ * @property {number} [blockSize] Block size for a BlockedSource.
95
133
  * @property {number} [cacheSize=100] The number of blocks to cache.
96
134
  */
97
135
  /**
98
136
  * @typedef {Object} RemoteSourceOptions
99
- * @property {Object} [headers={}] Additional headers to add to each request
137
+ * @property {Record<string, string>} [headers={}] Additional headers to add to each request
100
138
  * @property {number} [maxRanges=0] Maximum number of ranges to request in a single HTTP request. 0 means no multi-range requests.
101
139
  * @property {boolean} [allowFullFile=false] Whether to allow full file responses when requesting ranges
102
140
  * @property {boolean} [forceXHR=false] When the Fetch API would be used, force using XMLHttpRequest instead.
@@ -117,7 +155,7 @@ export { setLogger };
117
155
  * @returns {TypedArray|Array<number>|string}
118
156
  */
119
157
  function getValues(dataSlice, fieldType, count, offset) {
120
- /** @type {TypedArray|Array|null} */
158
+ /** @type {TypedArray|Array<number>|null} */
121
159
  let values = null;
122
160
  let readMethod = null;
123
161
  const fieldTypeLength = getFieldTypeSize(fieldType);
@@ -202,6 +240,9 @@ function getValues(dataSlice, fieldType, count, offset) {
202
240
  * in the file.
203
241
  */
204
242
  class GeoTIFFImageIndexError extends Error {
243
+ /**
244
+ * @param {number} index
245
+ */
205
246
  constructor(index) {
206
247
  super(`No image at index ${index}`);
207
248
  this.index = index;
@@ -286,7 +327,7 @@ class GeoTIFFBase {
286
327
  const image = await this.getImage(i);
287
328
  const subfileType = image.fileDirectory.getValue('SubfileType');
288
329
  const newSubfileType = image.fileDirectory.getValue('NewSubfileType');
289
- if (i === 0 || subfileType === 2 || newSubfileType & 1) {
330
+ if (i === 0 || subfileType === 2 || (newSubfileType || 0) & 1) {
290
331
  allImages.push(image);
291
332
  }
292
333
  }
@@ -346,9 +387,16 @@ class GeoTIFF extends GeoTIFFBase {
346
387
  this.bigTiff = bigTiff;
347
388
  this.firstIFDOffset = firstIFDOffset;
348
389
  this.cache = options.cache || false;
390
+ /** @type {Array<Promise<import('./imagefiledirectory.js').ImageFileDirectory> | undefined>} */
349
391
  this.ifdRequests = [];
392
+ /** @type {Record<string, unknown>|null} */
350
393
  this.ghostValues = null;
351
394
  }
395
+ /**
396
+ * @param {number} offset
397
+ * @param {number} [size]
398
+ * @returns {Promise<DataSlice>}
399
+ */
352
400
  async getSlice(offset, size) {
353
401
  const fallbackSize = this.bigTiff ? 4048 : 1024;
354
402
  return new DataSlice((await this.source.fetch([{
@@ -356,6 +404,10 @@ class GeoTIFF extends GeoTIFFBase {
356
404
  length: typeof size !== 'undefined' ? size : fallbackSize,
357
405
  }]))[0], offset, this.littleEndian, this.bigTiff);
358
406
  }
407
+ /**
408
+ * @param {number} index
409
+ * @return {Promise<import('./imagefiledirectory.js').ImageFileDirectory>}
410
+ */
359
411
  async requestIFD(index) {
360
412
  // see if we already have that IFD index requested.
361
413
  if (this.ifdRequests[index]) {
@@ -386,7 +438,11 @@ class GeoTIFF extends GeoTIFFBase {
386
438
  // if the previous IFD was loaded, we can finally fetch the one we are interested in.
387
439
  // we need to wrap this in an IIFE, otherwise this.ifdRequests[index] would be delayed
388
440
  this.ifdRequests[index] = (async () => {
389
- const previousIfd = await this.ifdRequests[index - 1];
441
+ const previousPromise = this.ifdRequests[index - 1];
442
+ if (!previousPromise) {
443
+ throw new Error('Previous IFD request missing');
444
+ }
445
+ const previousIfd = await previousPromise;
390
446
  if (previousIfd.nextIFDByteOffset === 0) {
391
447
  throw new GeoTIFFImageIndexError(index);
392
448
  }
@@ -431,11 +487,11 @@ class GeoTIFF extends GeoTIFFBase {
431
487
  /**
432
488
  * Get the values of the COG ghost area as a parsed map.
433
489
  * See https://gdal.org/drivers/raster/cog.html#header-ghost-area for reference
434
- * @returns {Promise<Object>} the parsed ghost area or null, if no such area was found
490
+ * @returns {Promise<Record<string, unknown>|null>} the parsed ghost area or null, if no such area was found
435
491
  */
436
492
  async getGhostValues() {
437
493
  const offset = this.bigTiff ? 16 : 8;
438
- if (this.ghostValues) {
494
+ if (this.ghostValues !== null) {
439
495
  return this.ghostValues;
440
496
  }
441
497
  const detectionString = 'GDAL_STRUCTURAL_METADATA_SIZE=';
@@ -449,15 +505,16 @@ class GeoTIFF extends GeoTIFFBase {
449
505
  slice = await this.getSlice(offset, metadataSize);
450
506
  }
451
507
  const fullString = getValues(slice, fieldTypes.ASCII, metadataSize, offset);
452
- /** @type {Object} */
453
- this.ghostValues = {};
508
+ /** @type {Record<string, unknown>} */
509
+ const ghostValues = {};
454
510
  fullString
455
511
  .split('\n')
456
512
  .filter((line) => line.length > 0)
457
513
  .map((line) => line.split('='))
458
514
  .forEach(([key, value]) => {
459
- this.ghostValues[key] = value;
515
+ ghostValues[key] = value;
460
516
  });
517
+ this.ghostValues = ghostValues;
461
518
  }
462
519
  return this.ghostValues;
463
520
  }
@@ -472,7 +529,7 @@ class GeoTIFF extends GeoTIFFBase {
472
529
  static async fromSource(source, options, signal) {
473
530
  const headerData = (await source.fetch([{ offset: 0, length: 1024 }], signal))[0];
474
531
  const dataView = new DataView64(headerData);
475
- const BOM = dataView.getUint16(0, 0);
532
+ const BOM = dataView.getUint16(0, false);
476
533
  let littleEndian;
477
534
  if (BOM === 0x4949) {
478
535
  littleEndian = true;
@@ -668,8 +725,9 @@ export async function fromUrls(mainUrl, overviewUrls = [], options = {}, signal)
668
725
  }
669
726
  /**
670
727
  * Main creating function for GeoTIFF files.
671
- * @param {Array} values of pixel values
672
- * @param {Object} metadata
728
+ * @param {Array<number>|Array<Array<Array<number>>>|TypedArray} values The pixel values to write.
729
+ * Can be a flat array of all pixels or a 3-dimensional array of shape `[band][row][column]`.
730
+ * @param {GeotiffWriterMetadata} metadata
673
731
  * @returns {ArrayBuffer}
674
732
  */
675
733
  export function writeArrayBuffer(values, metadata) {
@@ -678,3 +736,4 @@ export function writeArrayBuffer(values, metadata) {
678
736
  export { Pool };
679
737
  export { GeoTIFFImage };
680
738
  export { BaseClient, BaseResponse };
739
+ //# sourceMappingURL=geotiff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geotiff.js","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ declare class GeoTIFFImage {
13
13
  constructor(fileDirectory: import("./imagefiledirectory").ImageFileDirectory, littleEndian: boolean, cache: boolean, source: import("./source/basesource.js").BaseSource);
14
14
  fileDirectory: import("./imagefiledirectory").ImageFileDirectory;
15
15
  littleEndian: boolean;
16
- tiles: {} | null;
16
+ /** @type {Array<Promise<ArrayBufferLike>>|null} */
17
+ tiles: Array<Promise<ArrayBufferLike>> | null;
17
18
  isTiled: boolean;
18
19
  /** @type {1 | 2} */
19
20
  planarConfiguration: 1 | 2;
@@ -54,18 +55,35 @@ declare class GeoTIFFImage {
54
55
  */
55
56
  getTileHeight(): number;
56
57
  getBlockWidth(): number;
57
- getBlockHeight(y: any): number;
58
+ /**
59
+ * @param {number} y
60
+ * @returns {number}
61
+ */
62
+ getBlockHeight(y: number): number;
58
63
  /**
59
64
  * Calculates the number of bytes for each pixel across all samples. Only full
60
65
  * bytes are supported, an exception is thrown when this is not the case.
61
66
  * @returns {Number} the bytes per pixel
62
67
  */
63
68
  getBytesPerPixel(): number;
64
- getSampleByteSize(i: any): number;
65
- getReaderForSample(sampleIndex: any): (byteOffset: number, littleEndian?: boolean) => number;
66
- getSampleFormat(sampleIndex?: number): any;
67
- getBitsPerSample(sampleIndex?: number): any;
68
- getArrayForSample(sampleIndex: any, size: any): Uint8Array<any> | Uint16Array<any> | Uint32Array<any> | Int8Array<any> | Int16Array<any> | Int32Array<any> | Float32Array<any> | Float64Array<any>;
69
+ /**
70
+ * @param {number} i
71
+ * @returns {number}
72
+ */
73
+ getSampleByteSize(i: number): number;
74
+ /**
75
+ * @param {number} sampleIndex
76
+ * @returns {(this: DataView, byteOffset: number, littleEndian: boolean) => number}
77
+ */
78
+ getReaderForSample(sampleIndex: number): (this: DataView, byteOffset: number, littleEndian: boolean) => number;
79
+ getSampleFormat(sampleIndex?: number): number;
80
+ getBitsPerSample(sampleIndex?: number): number;
81
+ /**
82
+ * @param {number} sampleIndex
83
+ * @param {number|ArrayBufferLike} sizeOrData
84
+ * @returns {TypedArray}
85
+ */
86
+ getArrayForSample(sampleIndex: number, sizeOrData: number | ArrayBufferLike): TypedArray;
69
87
  /**
70
88
  * Returns the decoded strip or tile.
71
89
  * @param {Number} x the strip or tile x-offset
@@ -74,19 +92,19 @@ declare class GeoTIFFImage {
74
92
  * @param {DecoderWorker|import("./geotiff").BaseDecoder} poolOrDecoder the decoder or decoder pool
75
93
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
76
94
  * to be aborted
77
- * @returns {Promise.<{x: number, y: number, sample: number, data: ArrayBuffer}>} the decoded strip or tile
95
+ * @returns {Promise.<{x: number, y: number, sample: number, data: ArrayBufferLike}>} the decoded strip or tile
78
96
  */
79
97
  getTileOrStrip(x: number, y: number, sample: number, poolOrDecoder: DecoderWorker | import("./geotiff").BaseDecoder, signal?: AbortSignal): Promise<{
80
98
  x: number;
81
99
  y: number;
82
100
  sample: number;
83
- data: ArrayBuffer;
101
+ data: ArrayBufferLike;
84
102
  }>;
85
103
  /**
86
104
  * Internal read function.
87
105
  * @private
88
- * @param {Array} imageWindow The image window in pixel coordinates
89
- * @param {Array} samples The selected samples (0-based indices)
106
+ * @param {Array<number>} imageWindow The image window in pixel coordinates
107
+ * @param {Array<number>} samples The selected samples (0-based indices)
90
108
  * @param {TypedArray|TypedArray[]} valueArrays The array(s) to write into
91
109
  * @param {boolean|undefined} interleave Whether or not to write in an interleaved manner
92
110
  * @param {DecoderWorker|import("./geotiff").BaseDecoder} poolOrDecoder the decoder or decoder pool
@@ -160,9 +178,16 @@ declare class GeoTIFFImage {
160
178
  readRGB(options?: ReadRGBOptions | undefined): Promise<import("./geotiff").TypedArrayArrayWithDimensions>;
161
179
  /**
162
180
  * Returns an array of tiepoints.
163
- * @returns {Promise<Object[]>}
181
+ * @returns {Promise<Array<{i: number, j: number, k: number, x: number, y: number, z: number}>>} the tiepoints
164
182
  */
165
- getTiePoints(): Promise<Object[]>;
183
+ getTiePoints(): Promise<Array<{
184
+ i: number;
185
+ j: number;
186
+ k: number;
187
+ x: number;
188
+ y: number;
189
+ z: number;
190
+ }>>;
166
191
  /**
167
192
  * Returns the parsed GDAL metadata items.
168
193
  *
@@ -170,9 +195,9 @@ declare class GeoTIFFImage {
170
195
  * Otherwise only metadata specific to the provided sample will be returned.
171
196
  *
172
197
  * @param {number|null} [sample=null] The sample index.
173
- * @returns {Promise<Object>}
198
+ * @returns {Promise<Record<string, unknown>|null>} The GDAL metadata items
174
199
  */
175
- getGDALMetadata(sample?: number | null): Promise<Object>;
200
+ getGDALMetadata(sample?: number | null): Promise<Record<string, unknown> | null>;
176
201
  /**
177
202
  * Returns the GDAL nodata value
178
203
  * @returns {number|null}
@@ -208,6 +233,7 @@ declare class GeoTIFFImage {
208
233
  */
209
234
  getBoundingBox(tilegrid?: boolean): Array<number>;
210
235
  }
236
+ import type { TypedArray } from "./geotiff";
211
237
  import type { DecoderWorker } from "./geotiff";
212
238
  import type { ReadRastersOptions } from "./geotiff";
213
239
  import type { ReadRasterResult } from "./geotiff";
@@ -1 +1 @@
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,aAAa,GAAC,OAAO,WAAW,EAAE,WAAW,WAC7C,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;mCA/9B4C,WAAW;wCAElB,WAAW;sCADb,WAAW;oCAEb,WAAW"}
1
+ {"version":3,"file":"geotiffimage.d.ts","sourceRoot":"","sources":["../src/geotiffimage.js"],"names":[],"mappings":"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"}