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
@@ -2,12 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const float16_1 = require("@petamoriken/float16");
4
4
  class DataView64 {
5
+ /**
6
+ * @param {ArrayBufferLike} arrayBuffer
7
+ */
5
8
  constructor(arrayBuffer) {
6
9
  this._dataView = new DataView(arrayBuffer);
7
10
  }
8
11
  get buffer() {
9
12
  return this._dataView.buffer;
10
13
  }
14
+ /**
15
+ * @param {number} offset
16
+ * @param {boolean} littleEndian
17
+ * @returns {number}
18
+ */
11
19
  getUint64(offset, littleEndian) {
12
20
  const left = this.getUint32(offset, littleEndian);
13
21
  const right = this.getUint32(offset + 4, littleEndian);
@@ -27,7 +35,12 @@ class DataView64 {
27
35
  }
28
36
  return combined;
29
37
  }
30
- // adapted from https://stackoverflow.com/a/55338384/8060591
38
+ /**
39
+ * Adapted from https://stackoverflow.com/a/55338384/8060591
40
+ * @param {number} offset
41
+ * @param {boolean} littleEndian
42
+ * @returns {number}
43
+ */
31
44
  getInt64(offset, littleEndian) {
32
45
  let value = 0;
33
46
  const isNegative = (this._dataView.getUint8(offset + (littleEndian ? 7 : 0)) & 0x80) > 0;
@@ -52,33 +65,77 @@ class DataView64 {
52
65
  }
53
66
  return value;
54
67
  }
68
+ /**
69
+ * @param {number} offset
70
+ * @returns {number}
71
+ */
55
72
  getUint8(offset) {
56
73
  return this._dataView.getUint8(offset);
57
74
  }
75
+ /**
76
+ * @param {number} offset
77
+ * @returns {number}
78
+ */
58
79
  getInt8(offset) {
59
80
  return this._dataView.getInt8(offset);
60
81
  }
82
+ /**
83
+ * @param {number} offset
84
+ * @param {boolean} littleEndian
85
+ * @returns {number}
86
+ */
61
87
  getUint16(offset, littleEndian) {
62
88
  return this._dataView.getUint16(offset, littleEndian);
63
89
  }
90
+ /**
91
+ * @param {number} offset
92
+ * @param {boolean} littleEndian
93
+ * @returns {number}
94
+ */
64
95
  getInt16(offset, littleEndian) {
65
96
  return this._dataView.getInt16(offset, littleEndian);
66
97
  }
98
+ /**
99
+ * @param {number} offset
100
+ * @param {boolean} littleEndian
101
+ * @returns {number}
102
+ */
67
103
  getUint32(offset, littleEndian) {
68
104
  return this._dataView.getUint32(offset, littleEndian);
69
105
  }
106
+ /**
107
+ * @param {number} offset
108
+ * @param {boolean} littleEndian
109
+ * @returns {number}
110
+ */
70
111
  getInt32(offset, littleEndian) {
71
112
  return this._dataView.getInt32(offset, littleEndian);
72
113
  }
114
+ /**
115
+ * @param {number} offset
116
+ * @param {boolean} littleEndian
117
+ * @returns {number}
118
+ */
73
119
  getFloat16(offset, littleEndian) {
74
120
  return (0, float16_1.getFloat16)(this._dataView, offset, littleEndian);
75
121
  }
122
+ /**
123
+ * @param {number} offset
124
+ * @param {boolean} littleEndian
125
+ * @returns {number}
126
+ */
76
127
  getFloat32(offset, littleEndian) {
77
128
  return this._dataView.getFloat32(offset, littleEndian);
78
129
  }
130
+ /**
131
+ * @param {number} offset
132
+ * @param {boolean} littleEndian
133
+ * @returns {number}
134
+ */
79
135
  getFloat64(offset, littleEndian) {
80
136
  return this._dataView.getFloat64(offset, littleEndian);
81
137
  }
82
138
  }
83
139
  exports.default = DataView64;
140
+ //# sourceMappingURL=dataview64.js.map
84
141
  //# sourceMappingURL=dataview64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataview64.js","sourceRoot":"","sources":["../dist-module/dataview64.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataview64.js","sourceRoot":"","sources":["../dist-module/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: any): 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?: any;
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: any;
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<any>;
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":["../dist-module/geotiff.js"],"names":[],"mappings":"AA6kBA;;;;;;;;GAQG;AACH,6BAPW,MAAM,YACN,mBAAmB,WAEnB,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AACD;;;;;;;;GAQG;AACH,yCAPW,UAAU,YACV,mBAAmB,WAEnB,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AACD;;;;;;;GAOG;AACH,6CALW,WAAW,WACX,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AACD;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,WACN,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AACD;;;;;;;;;GASG;AACH,+BALW,IAAI,GAAC,IAAI,WACT,WAAW,GAET,OAAO,CAAC,OAAO,CAAC,CAI5B;AACD;;;;;;;;;;GAUG;AACH,kCATW,MAAM,iBACN,MAAM,EAAE,YACR,mBAAmB,WAGnB,WAAW,GAET,OAAO,CAAC,YAAY,CAAC,CAMjC;AACD;;;;;GAKG;AACH,gEAFa,WAAW,CAIvB;;;yBA3oBY,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY;yBAI1G;IAAE,MAAM,EAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;uCAMhC,UAAU,GAAG,UAAU;;;;;;4CAMvB,UAAU,EAAE,GAAG,UAAU;;;;;;+BAMzB,wBAAwB,GAAG,6BAA6B;;;;;;;;;YAOvD,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6Q3D;;;GAGG;AACH;;GAEG;AACH;IAqII;;;;;;;OAOG;IACH,0BALW,UAAU,YACV,cAAc,WACd,WAAW,oBAoCrB;IA7KD;;;;;;;;OAQG;IACH,oBAPW,UAAU,gBACV,OAAO,WACP,OAAO,kBACP,MAAM,YAEN,cAAc,EAYxB;IARG,mBAAoB;IACpB,iCAAgF;IAChF,sBAAgC;IAChC,iBAAsB;IACtB,uBAAoC;IACpC,eAAmC;IACnC,mBAAqB;IACrB,iBAAuB;IAE3B,qDAMC;IACD,qCAqCC;IAmCD;;;;OAIG;IACH,kBAFa,OAAO,KAAQ,CA6B3B;IA2CD;;;;OAIG;IACH,+BAKC;CACJ;2BA3fwC,yBAAyB;AA8flE;;;GAGG;AACH;IACI;;;;OAIG;IACH,sBAHW,OAAO,iBACP,OAAO,EAAE,EAUnB;IANG,kBAAwB;IACxB,yBAAkC;IAClC,sBAAkD;IAClD,sFAAkC;IAClC,mCAAyC;IACzC,0BAAsB;IAE1B,+FAKC;IAwCG,kCAA8C;CAIrD;yBA9jBwB,cAAc;4BAFmB,cAAc;qBAGnD,UAAU;2BACQ,wBAAwB;2BAAxB,wBAAwB;0BACrC,cAAc;iBAZvB,WAAW;yBAHH,mBAAmB;6BAQH,yBAAyB;AAwMlE;IACI;;;OAGG;IACH,kBAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAIjC;IACD;;OAEG;IACH,iBAFa,OAAO,CAAC,MAAM,CAAC,CAI3B;IACD;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;IACH,sBAHW,kBAAkB;;;;;;;;;;;;;;KAA2B,GAC3C,OAAO,CAAC,gBAAgB,CAAC,CAiFrC;CACJ;gCAjT+B,wBAAwB;yCAPf,yBAAyB;sBAP5C,gBAAgB"}
1
+ {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../dist-module/geotiff.js"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.BaseResponse = exports.BaseClient = exports.GeoTIFFImage = exports.Pool = exports.MultiGeoTIFF = exports.GeoTIFF = exports.setLogger = exports.addDecoder = exports.getDecoder = exports.BaseDecoder = exports.rgb = exports.registerTag = exports.globals = void 0;
39
+ exports.BaseResponse = exports.BaseClient = exports.GeoTIFFImage = exports.Pool = exports.MultiGeoTIFF = exports.GeoTIFF = exports.ImageFileDirectory = exports.setLogger = exports.addDecoder = exports.getDecoder = exports.BaseDecoder = exports.rgb = exports.registerTag = exports.globals = void 0;
40
40
  exports.fromUrl = fromUrl;
41
41
  exports.fromCustomClient = fromCustomClient;
42
42
  exports.fromArrayBuffer = fromArrayBuffer;
@@ -73,6 +73,8 @@ const logging_js_1 = require("./logging.js");
73
73
  Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logging_js_1.setLogger; } });
74
74
  var basedecoder_js_1 = require("./compression/basedecoder.js");
75
75
  Object.defineProperty(exports, "BaseDecoder", { enumerable: true, get: function () { return __importDefault(basedecoder_js_1).default; } });
76
+ var imagefiledirectory_js_2 = require("./imagefiledirectory.js");
77
+ Object.defineProperty(exports, "ImageFileDirectory", { enumerable: true, get: function () { return imagefiledirectory_js_2.ImageFileDirectory; } });
76
78
  /**
77
79
  * @typedef {Uint8Array | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array}
78
80
  * TypedArray
@@ -92,6 +94,43 @@ Object.defineProperty(exports, "BaseDecoder", { enumerable: true, get: function
92
94
  * `TypedArray[] & { height: number; width: number}`
93
95
  * @typedef {TypedArray[] & Dimensions} TypedArrayArrayWithDimensions
94
96
  */
97
+ /**
98
+ * @typedef {Object} GeotiffWriterMetadata
99
+ * @property {number | number[]} [ImageWidth]
100
+ * @property {number | number[]} [ImageLength]
101
+ * @property {number} [width]
102
+ * @property {number} [height]
103
+ * @property {number | number[]} [BitsPerSample]
104
+ * @property {number | number[]} [Compression]
105
+ * @property {number | number[]} [PlanarConfiguration]
106
+ * @property {number | number[]} [ExtraSamples]
107
+ * @property {number | number[]} [PhotometricInterpretation]
108
+ * @property {number | number[]} [SamplesPerPixel]
109
+ * @property {number | number[]} [StripByteCounts]
110
+ * @property {number[]} [ModelPixelScale]
111
+ * @property {number[]} [ModelTransformation]
112
+ * @property {number[]} [ModelTiepoint]
113
+ * @property {number[]} [GeoKeyDirectory]
114
+ * @property {string} [GeoAsciiParams]
115
+ * @property {number[]} [GeoDoubleParams]
116
+ * @property {number | number[]} [Orientation]
117
+ * @property {number | number[]} [ResolutionUnit]
118
+ * @property {number | number[]} [XPosition]
119
+ * @property {number | number[]} [YPosition]
120
+ * @property {number | number[]} [RowsPerStrip]
121
+ * @property {number[]} [SampleFormat]
122
+ * @property {number | number[]} [TileWidth]
123
+ * @property {number | number[]} [TileLength]
124
+ * @property {number[]} [TileOffsets]
125
+ * @property {number[]} [TileByteCounts]
126
+ * @property {string} [GDAL_NODATA]
127
+ * @property {number | number[]} [GeographicTypeGeoKey]
128
+ * @property {number | number[]} [ProjectedCSTypeGeoKey]
129
+ * @property {string} [GeogCitationGeoKey]
130
+ * @property {string} [GTCitationGeoKey]
131
+ * @property {number | number[]} [GTModelTypeGeoKey]
132
+ * @property {number | number[]} [GTRasterTypeGeoKey]
133
+ */
95
134
  /**
96
135
  * The autogenerated docs are a little confusing here. The effective type is:
97
136
  *
@@ -103,7 +142,7 @@ Object.defineProperty(exports, "BaseDecoder", { enumerable: true, get: function
103
142
  * Use the {@link Pool.bindParameters} method to get a decoder worker for
104
143
  * a specific compression and its parameters.
105
144
  *
106
- * @property {(buffer: ArrayBuffer) => Promise<ArrayBuffer>} decode
145
+ * @property {(buffer: ArrayBufferLike) => Promise<ArrayBufferLike>} decode
107
146
  * A function that takes a compressed buffer and returns a promise resolving to the decoded buffer.
108
147
  */
109
148
  /**
@@ -142,12 +181,12 @@ Object.defineProperty(exports, "BaseDecoder", { enumerable: true, get: function
142
181
  */
143
182
  /**
144
183
  * @typedef {Object} BlockedSourceOptions
145
- * @property {number|null} [blockSize=null] Block size for a BlockedSource.
184
+ * @property {number} [blockSize] Block size for a BlockedSource.
146
185
  * @property {number} [cacheSize=100] The number of blocks to cache.
147
186
  */
148
187
  /**
149
188
  * @typedef {Object} RemoteSourceOptions
150
- * @property {Object} [headers={}] Additional headers to add to each request
189
+ * @property {Record<string, string>} [headers={}] Additional headers to add to each request
151
190
  * @property {number} [maxRanges=0] Maximum number of ranges to request in a single HTTP request. 0 means no multi-range requests.
152
191
  * @property {boolean} [allowFullFile=false] Whether to allow full file responses when requesting ranges
153
192
  * @property {boolean} [forceXHR=false] When the Fetch API would be used, force using XMLHttpRequest instead.
@@ -168,7 +207,7 @@ Object.defineProperty(exports, "BaseDecoder", { enumerable: true, get: function
168
207
  * @returns {TypedArray|Array<number>|string}
169
208
  */
170
209
  function getValues(dataSlice, fieldType, count, offset) {
171
- /** @type {TypedArray|Array|null} */
210
+ /** @type {TypedArray|Array<number>|null} */
172
211
  let values = null;
173
212
  let readMethod = null;
174
213
  const fieldTypeLength = (0, globals_js_1.getFieldTypeSize)(fieldType);
@@ -253,6 +292,9 @@ function getValues(dataSlice, fieldType, count, offset) {
253
292
  * in the file.
254
293
  */
255
294
  class GeoTIFFImageIndexError extends Error {
295
+ /**
296
+ * @param {number} index
297
+ */
256
298
  constructor(index) {
257
299
  super(`No image at index ${index}`);
258
300
  this.index = index;
@@ -337,7 +379,7 @@ class GeoTIFFBase {
337
379
  const image = await this.getImage(i);
338
380
  const subfileType = image.fileDirectory.getValue('SubfileType');
339
381
  const newSubfileType = image.fileDirectory.getValue('NewSubfileType');
340
- if (i === 0 || subfileType === 2 || newSubfileType & 1) {
382
+ if (i === 0 || subfileType === 2 || (newSubfileType || 0) & 1) {
341
383
  allImages.push(image);
342
384
  }
343
385
  }
@@ -397,9 +439,16 @@ class GeoTIFF extends GeoTIFFBase {
397
439
  this.bigTiff = bigTiff;
398
440
  this.firstIFDOffset = firstIFDOffset;
399
441
  this.cache = options.cache || false;
442
+ /** @type {Array<Promise<import('./imagefiledirectory.js').ImageFileDirectory> | undefined>} */
400
443
  this.ifdRequests = [];
444
+ /** @type {Record<string, unknown>|null} */
401
445
  this.ghostValues = null;
402
446
  }
447
+ /**
448
+ * @param {number} offset
449
+ * @param {number} [size]
450
+ * @returns {Promise<DataSlice>}
451
+ */
403
452
  async getSlice(offset, size) {
404
453
  const fallbackSize = this.bigTiff ? 4048 : 1024;
405
454
  return new dataslice_js_1.default((await this.source.fetch([{
@@ -407,6 +456,10 @@ class GeoTIFF extends GeoTIFFBase {
407
456
  length: typeof size !== 'undefined' ? size : fallbackSize,
408
457
  }]))[0], offset, this.littleEndian, this.bigTiff);
409
458
  }
459
+ /**
460
+ * @param {number} index
461
+ * @return {Promise<import('./imagefiledirectory.js').ImageFileDirectory>}
462
+ */
410
463
  async requestIFD(index) {
411
464
  // see if we already have that IFD index requested.
412
465
  if (this.ifdRequests[index]) {
@@ -437,7 +490,11 @@ class GeoTIFF extends GeoTIFFBase {
437
490
  // if the previous IFD was loaded, we can finally fetch the one we are interested in.
438
491
  // we need to wrap this in an IIFE, otherwise this.ifdRequests[index] would be delayed
439
492
  this.ifdRequests[index] = (async () => {
440
- const previousIfd = await this.ifdRequests[index - 1];
493
+ const previousPromise = this.ifdRequests[index - 1];
494
+ if (!previousPromise) {
495
+ throw new Error('Previous IFD request missing');
496
+ }
497
+ const previousIfd = await previousPromise;
441
498
  if (previousIfd.nextIFDByteOffset === 0) {
442
499
  throw new GeoTIFFImageIndexError(index);
443
500
  }
@@ -482,11 +539,11 @@ class GeoTIFF extends GeoTIFFBase {
482
539
  /**
483
540
  * Get the values of the COG ghost area as a parsed map.
484
541
  * See https://gdal.org/drivers/raster/cog.html#header-ghost-area for reference
485
- * @returns {Promise<Object>} the parsed ghost area or null, if no such area was found
542
+ * @returns {Promise<Record<string, unknown>|null>} the parsed ghost area or null, if no such area was found
486
543
  */
487
544
  async getGhostValues() {
488
545
  const offset = this.bigTiff ? 16 : 8;
489
- if (this.ghostValues) {
546
+ if (this.ghostValues !== null) {
490
547
  return this.ghostValues;
491
548
  }
492
549
  const detectionString = 'GDAL_STRUCTURAL_METADATA_SIZE=';
@@ -500,15 +557,16 @@ class GeoTIFF extends GeoTIFFBase {
500
557
  slice = await this.getSlice(offset, metadataSize);
501
558
  }
502
559
  const fullString = getValues(slice, globals_js_1.fieldTypes.ASCII, metadataSize, offset);
503
- /** @type {Object} */
504
- this.ghostValues = {};
560
+ /** @type {Record<string, unknown>} */
561
+ const ghostValues = {};
505
562
  fullString
506
563
  .split('\n')
507
564
  .filter((line) => line.length > 0)
508
565
  .map((line) => line.split('='))
509
566
  .forEach(([key, value]) => {
510
- this.ghostValues[key] = value;
567
+ ghostValues[key] = value;
511
568
  });
569
+ this.ghostValues = ghostValues;
512
570
  }
513
571
  return this.ghostValues;
514
572
  }
@@ -523,7 +581,7 @@ class GeoTIFF extends GeoTIFFBase {
523
581
  static async fromSource(source, options, signal) {
524
582
  const headerData = (await source.fetch([{ offset: 0, length: 1024 }], signal))[0];
525
583
  const dataView = new dataview64_js_1.default(headerData);
526
- const BOM = dataView.getUint16(0, 0);
584
+ const BOM = dataView.getUint16(0, false);
527
585
  let littleEndian;
528
586
  if (BOM === 0x4949) {
529
587
  littleEndian = true;
@@ -719,11 +777,13 @@ async function fromUrls(mainUrl, overviewUrls = [], options = {}, signal) {
719
777
  }
720
778
  /**
721
779
  * Main creating function for GeoTIFF files.
722
- * @param {Array} values of pixel values
723
- * @param {Object} metadata
780
+ * @param {Array<number>|Array<Array<Array<number>>>|TypedArray} values The pixel values to write.
781
+ * Can be a flat array of all pixels or a 3-dimensional array of shape `[band][row][column]`.
782
+ * @param {GeotiffWriterMetadata} metadata
724
783
  * @returns {ArrayBuffer}
725
784
  */
726
785
  function writeArrayBuffer(values, metadata) {
727
786
  return (0, geotiffwriter_js_1.writeGeotiff)(values, metadata);
728
787
  }
788
+ //# sourceMappingURL=geotiff.js.map
729
789
  //# sourceMappingURL=geotiff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.js","sourceRoot":"","sources":["../dist-module/geotiff.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geotiff.js","sourceRoot":"","sources":["../dist-module/geotiff.js"],"names":[],"mappings":"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"}