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
@@ -11,30 +11,10 @@ const globals_js_1 = require("./globals.js");
11
11
  const rgb_js_1 = require("./rgb.js");
12
12
  const index_js_1 = require("./compression/index.js");
13
13
  const resample_js_1 = require("./resample.js");
14
- /**
15
- * @typedef {Object} ReadRasterOptions
16
- * @property {Array<number>} [window=whole window] the subset to read data from in pixels.
17
- * @property {Array<number>} [bbox=whole image] the subset to read data from in
18
- * geographical coordinates.
19
- * @property {Array<number>} [samples=all samples] the selection of samples to read from. Default is all samples.
20
- * @property {boolean} [interleave=false] whether the data shall be read
21
- * in one single array or separate
22
- * arrays.
23
- * @property {Pool} [pool=null] The optional decoder pool to use.
24
- * @property {number} [width] The desired width of the output. When the width is not the
25
- * same as the images, resampling will be performed.
26
- * @property {number} [height] The desired height of the output. When the width is not the
27
- * same as the images, resampling will be performed.
28
- * @property {string} [resampleMethod='nearest'] The desired resampling method.
29
- * @property {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
30
- * to be aborted
31
- * @property {number|number[]} [fillValue] The value to use for parts of the image
32
- * outside of the images extent. When multiple
33
- * samples are requested, an array of fill values
34
- * can be passed.
35
- */
36
- /** @typedef {import("./geotiff.js").TypedArray} TypedArray */
37
- /** @typedef {import("./geotiff.js").ReadRasterResult} ReadRasterResult */
14
+ /** @import {TypedArray} from "./geotiff" */
15
+ /** @import {ReadRasterResult} from "./geotiff" */
16
+ /** @import {ReadRastersOptions} from "./geotiff" */
17
+ /** @import {ReadRGBOptions} from "./geotiff" */
38
18
  function sum(array, start, end) {
39
19
  let s = 0;
40
20
  for (let i = start; i < end; ++i) {
@@ -175,35 +155,34 @@ function normalizeArray(inBuffer, format, planarConfiguration, samplesPerPixel,
175
155
  class GeoTIFFImage {
176
156
  /**
177
157
  * @constructor
178
- * @param {import("./imagefiledirectory.js").ImageFileDirectory} fileDirectory The parsed file directory
179
- * @param {DataView} dataView The DataView for the underlying file.
158
+ * @param {import("./imagefiledirectory").ImageFileDirectory} fileDirectory The parsed file directory
180
159
  * @param {Boolean} littleEndian Whether the file is encoded in little or big endian
181
160
  * @param {Boolean} cache Whether or not decoded tiles shall be cached
182
- * @param {import('./source/basesource').BaseSource} source The datasource to read from
161
+ * @param {import('./source/basesource.js').BaseSource} source The datasource to read from
183
162
  */
184
- constructor(fileDirectory, dataView, littleEndian, cache, source) {
163
+ constructor(fileDirectory, littleEndian, cache, source) {
185
164
  this.fileDirectory = fileDirectory;
186
- this.dataView = dataView;
187
165
  this.littleEndian = littleEndian;
188
166
  this.tiles = cache ? {} : null;
189
167
  this.isTiled = !fileDirectory.hasTag('StripOffsets');
190
- const planarConfiguration = fileDirectory.getValue('PlanarConfiguration');
191
- this.planarConfiguration = (typeof planarConfiguration === 'undefined') ? 1 : planarConfiguration;
192
- if (this.planarConfiguration !== 1 && this.planarConfiguration !== 2) {
168
+ const planarConfiguration = fileDirectory.getValue('PlanarConfiguration') ?? 1;
169
+ if (planarConfiguration !== 1 && planarConfiguration !== 2) {
193
170
  throw new Error('Invalid planar configuration.');
194
171
  }
172
+ /** @type {1 | 2} */
173
+ this.planarConfiguration = planarConfiguration;
195
174
  this.source = source;
196
175
  }
197
176
  /**
198
177
  * Returns the associated parsed file directory.
199
- * @returns {import("./imagefiledirectory.js").ImageFileDirectory} the parsed file directory
178
+ * @returns {import("./imagefiledirectory").ImageFileDirectory} the parsed file directory
200
179
  */
201
180
  getFileDirectory() {
202
181
  return this.fileDirectory;
203
182
  }
204
183
  /**
205
184
  * Returns the associated parsed geo keys.
206
- * @returns {Record<import('./globals.js').GeoKeyName, *>|null} the parsed geo keys
185
+ * @returns {Partial<Record<import('./globals.js').GeoKeyName, *>>|null} the parsed geo keys
207
186
  */
208
187
  getGeoKeys() {
209
188
  return this.fileDirectory.parseGeoKeyDirectory();
@@ -360,6 +339,9 @@ class GeoTIFFImage {
360
339
  else if (this.planarConfiguration === 2) {
361
340
  index = (sample * numTilesPerRow * numTilesPerCol) + (y * numTilesPerRow) + x;
362
341
  }
342
+ if (index === undefined) {
343
+ throw new Error('Could not determine tile or strip index.');
344
+ }
363
345
  let offset;
364
346
  let byteCount;
365
347
  if (this.isTiled) {
@@ -409,11 +391,11 @@ class GeoTIFFImage {
409
391
  * @param {Array} imageWindow The image window in pixel coordinates
410
392
  * @param {Array} samples The selected samples (0-based indices)
411
393
  * @param {TypedArray|TypedArray[]} valueArrays The array(s) to write into
412
- * @param {Boolean} interleave Whether or not to write in an interleaved manner
413
- * @param {import("./geotiff").Pool|AbstractDecoder} poolOrDecoder the decoder or decoder pool
414
- * @param {number} width the width of window to be read into
415
- * @param {number} height the height of window to be read into
416
- * @param {number} resampleMethod the resampling method to be used when interpolating
394
+ * @param {boolean|undefined} interleave Whether or not to write in an interleaved manner
395
+ * @param {import("./geotiff").Pool|import("./geotiff").BaseDecoder} poolOrDecoder the decoder or decoder pool
396
+ * @param {number} [width] the width of window to be read into
397
+ * @param {number} [height] the height of window to be read into
398
+ * @param {string} [resampleMethod] the resampling method to be used when interpolating
417
399
  * @param {AbortSignal} [signal] An AbortSignal that may be signalled if the request is
418
400
  * to be aborted
419
401
  * @returns {Promise<ReadRasterResult>}
@@ -455,6 +437,9 @@ class GeoTIFFImage {
455
437
  bytesPerPixel = this.getSampleByteSize(sample);
456
438
  getPromise = this.getTileOrStrip(xTile, yTile, sample, poolOrDecoder, signal);
457
439
  }
440
+ if (!getPromise) {
441
+ throw new Error('Could not get tile or strip data.');
442
+ }
458
443
  const promise = getPromise.then((tile) => {
459
444
  const buffer = tile.data;
460
445
  const dataView = new DataView(buffer);
@@ -493,29 +478,57 @@ class GeoTIFFImage {
493
478
  || (height && (imageWindow[3] - imageWindow[1]) !== height)) {
494
479
  let resampled;
495
480
  if (interleave) {
496
- resampled = (0, resample_js_1.resampleInterleaved)(valueArrays, imageWindow[2] - imageWindow[0], imageWindow[3] - imageWindow[1], width, height, samples.length, resampleMethod);
481
+ resampled = (0, resample_js_1.resampleInterleaved)(
482
+ /** @type {TypedArray} */ (valueArrays), imageWindow[2] - imageWindow[0], imageWindow[3] - imageWindow[1],
483
+ /** @type {number} */ (width), /** @type {number} */ (height), samples.length, resampleMethod);
497
484
  }
498
485
  else {
499
- resampled = (0, resample_js_1.resample)(valueArrays, imageWindow[2] - imageWindow[0], imageWindow[3] - imageWindow[1], width, height, resampleMethod);
486
+ resampled = (0, resample_js_1.resample)(
487
+ /** @type {TypedArray[]} */ (valueArrays), imageWindow[2] - imageWindow[0], imageWindow[3] - imageWindow[1],
488
+ /** @type {number} */ (width), /** @type {number} */ (height), resampleMethod);
500
489
  }
501
- resampled.width = width;
502
- resampled.height = height;
503
- return resampled;
490
+ const resampledWithDimensions = /** @type {ReadRasterResult} */ (resampled);
491
+ resampledWithDimensions.width = width ?? imageWindow[2] - imageWindow[0];
492
+ resampledWithDimensions.height = height ?? imageWindow[3] - imageWindow[1];
493
+ return resampledWithDimensions;
504
494
  }
505
- valueArrays.width = width || imageWindow[2] - imageWindow[0];
506
- valueArrays.height = height || imageWindow[3] - imageWindow[1];
507
- return valueArrays;
495
+ const valueArraysWithDimensions = /** @type {ReadRasterResult} */ (valueArrays);
496
+ valueArraysWithDimensions.width = width || imageWindow[2] - imageWindow[0];
497
+ valueArraysWithDimensions.height = height || imageWindow[3] - imageWindow[1];
498
+ return valueArraysWithDimensions;
508
499
  }
500
+ /**
501
+ * @overload
502
+ * @param {ReadRastersOptions & {interleave: true}} options optional parameters
503
+ * @returns {Promise<import("./geotiff").TypedArrayWithDimensions>} the decoded arrays as a promise
504
+ */
505
+ /**
506
+ * @overload
507
+ * @param {ReadRastersOptions & {interleave: false}} options optional parameters
508
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the decoded arrays as a promise
509
+ */
510
+ /**
511
+ * @overload
512
+ * @param {ReadRastersOptions & {interleave: boolean}} options optional parameters
513
+ * @returns {Promise<ReadRasterResult>} the decoded arrays as a promise
514
+ */
515
+ /**
516
+ * @overload
517
+ * @param {ReadRastersOptions} [options={}] optional parameters
518
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the decoded arrays as a promise
519
+ */
509
520
  /**
510
521
  * Reads raster data from the image. This function reads all selected samples
511
522
  * into separate arrays of the correct type for that sample or into a single
512
523
  * combined array when `interleave` is set. When provided, only a subset
513
524
  * of the raster is read for each sample.
514
525
  *
515
- * @param {ReadRasterOptions} [options={}] optional parameters
526
+ * @param {ReadRastersOptions} [options={}] optional parameters
516
527
  * @returns {Promise<ReadRasterResult>} the decoded arrays as a promise
517
528
  */
518
- async readRasters({ window: wnd, samples = [], interleave, pool = null, width, height, resampleMethod, fillValue, signal, } = {}) {
529
+ async readRasters(options = {}) {
530
+ const { window: wnd, samples = [], pool = null, width, height, resampleMethod, fillValue, signal, } = options;
531
+ const interleave = 'interleave' in options && options.interleave;
519
532
  const imageWindow = wnd || [0, 0, this.getWidth(), this.getHeight()];
520
533
  // check parameters
521
534
  if (imageWindow[0] > imageWindow[2] || imageWindow[1] > imageWindow[3]) {
@@ -537,6 +550,7 @@ class GeoTIFFImage {
537
550
  }
538
551
  }
539
552
  }
553
+ /** @type {TypedArray|TypedArray[]} */
540
554
  let valueArrays;
541
555
  if (interleave) {
542
556
  const format = this.fileDirectory.hasTag('SampleFormat')
@@ -544,6 +558,9 @@ class GeoTIFFImage {
544
558
  const bitsPerSample = Math.max.apply(null, this.fileDirectory.getValue('BitsPerSample'));
545
559
  valueArrays = arrayForType(format, bitsPerSample, numPixels * samples.length);
546
560
  if (fillValue) {
561
+ if (Array.isArray(fillValue)) {
562
+ throw new Error('When reading interleaved data, fillValue must be a single number.');
563
+ }
547
564
  valueArrays.fill(fillValue);
548
565
  }
549
566
  }
@@ -568,6 +585,26 @@ class GeoTIFFImage {
568
585
  const result = await this._readRaster(imageWindow, samples, valueArrays, interleave, poolOrDecoder, width, height, resampleMethod, signal);
569
586
  return result;
570
587
  }
588
+ /**
589
+ * @overload
590
+ * @param {ReadRGBOptions & {interleave: true}} options optional parameters
591
+ * @returns {Promise<import("./geotiff").TypedArrayWithDimensions>} the RGB array as a Promise
592
+ */
593
+ /**
594
+ * @overload
595
+ * @param {ReadRGBOptions & {interleave: false}} options optional parameters
596
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the RGB array as a Promise
597
+ */
598
+ /**
599
+ * @overload
600
+ * @param {ReadRGBOptions & {interleave: boolean}} options optional parameters
601
+ * @returns {Promise<ReadRasterResult>} the RGB array as a Promise
602
+ */
603
+ /**
604
+ * @overload
605
+ * @param {ReadRGBOptions} [options={}] optional parameters
606
+ * @returns {Promise<import("./geotiff").TypedArrayArrayWithDimensions>} the RGB array as a Promise
607
+ */
571
608
  /**
572
609
  * Reads raster data from the image as RGB.
573
610
  * Colorspaces other than RGB will be transformed to RGB, color maps expanded.
@@ -575,23 +612,12 @@ class GeoTIFFImage {
575
612
  * grayscale image.
576
613
  * When provided, only a subset of the raster is read for each sample.
577
614
  *
578
- * @param {Object} [options] optional parameters
579
- * @param {Array<number>} [options.window] the subset to read data from in pixels.
580
- * @param {boolean} [options.interleave=true] whether the data shall be read
581
- * in one single array or separate
582
- * arrays.
583
- * @param {import("./geotiff").Pool} [options.pool=null] The optional decoder pool to use.
584
- * @param {number} [options.width] The desired width of the output. When the width is no the
585
- * same as the images, resampling will be performed.
586
- * @param {number} [options.height] The desired height of the output. When the width is no the
587
- * same as the images, resampling will be performed.
588
- * @param {string} [options.resampleMethod='nearest'] The desired resampling method.
589
- * @param {boolean} [options.enableAlpha=false] Enable reading alpha channel if present.
590
- * @param {AbortSignal} [options.signal] An AbortSignal that may be signalled if the request is
591
- * to be aborted
615
+ * @param {ReadRGBOptions} [options] optional parameters
592
616
  * @returns {Promise<ReadRasterResult>} the RGB array as a Promise
593
617
  */
594
- async readRGB({ window, interleave = true, pool = null, width, height, resampleMethod, enableAlpha = false, signal } = {}) {
618
+ async readRGB(options = {}) {
619
+ const { window, pool = null, width, height, resampleMethod, enableAlpha = false, signal } = options;
620
+ const interleave = ('interleave' in options && options.interleave) ?? false;
595
621
  const imageWindow = window || [0, 0, this.getWidth(), this.getHeight()];
596
622
  // check parameters
597
623
  if (imageWindow[0] > imageWindow[2] || imageWindow[1] > imageWindow[3]) {
@@ -636,6 +662,7 @@ class GeoTIFFImage {
636
662
  }
637
663
  const subOptions = {
638
664
  window: imageWindow,
665
+ /** @type {true} */
639
666
  interleave: true,
640
667
  samples,
641
668
  pool,
@@ -683,9 +710,10 @@ class GeoTIFFImage {
683
710
  }
684
711
  data = [red, green, blue];
685
712
  }
686
- data.width = raster.width;
687
- data.height = raster.height;
688
- return data;
713
+ const dataWithDimensions = /** @type {import("./geotiff").ReadRasterResult} */ (data);
714
+ dataWithDimensions.width = raster.width;
715
+ dataWithDimensions.height = raster.height;
716
+ return dataWithDimensions;
689
717
  }
690
718
  /**
691
719
  * Returns an array of tiepoints.
@@ -715,7 +743,7 @@ class GeoTIFFImage {
715
743
  * If sample is passed to null, dataset-level metadata will be returned.
716
744
  * Otherwise only metadata specific to the provided sample will be returned.
717
745
  *
718
- * @param {number} [sample=null] The sample index.
746
+ * @param {number|null} [sample=null] The sample index.
719
747
  * @returns {Promise<Object>}
720
748
  */
721
749
  async getGDALMetadata(sample = null) {
@@ -775,7 +803,7 @@ class GeoTIFFImage {
775
803
  /**
776
804
  * Returns the image resolution as a XYZ-vector. When the image has no affine
777
805
  * transformation, then an exception is thrown.
778
- * @param {GeoTIFFImage} [referenceImage=null] A reference image to calculate the resolution from
806
+ * @param {GeoTIFFImage|null} [referenceImage=null] A reference image to calculate the resolution from
779
807
  * in cases when the current image does not have the
780
808
  * required tags on its own.
781
809
  * @returns {Array<number>} The resolution as a vector
@@ -821,7 +849,7 @@ class GeoTIFFImage {
821
849
  * @returns {Boolean} Whether the pixels are a point
822
850
  */
823
851
  pixelIsArea() {
824
- return this.geoKeys.GTRasterTypeGeoKey === 1;
852
+ return this.getGeoKeys()?.GTRasterTypeGeoKey === 1;
825
853
  }
826
854
  /**
827
855
  * Returns the image bounding box as an array of 4 values: min-x, min-y,
@@ -1 +1 @@
1
- {"version":3,"file":"geotiffimage.js","sourceRoot":"","sources":["../dist-module/geotiffimage.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geotiffimage.js","sourceRoot":"","sources":["../dist-module/geotiffimage.js"],"names":[],"mappings":"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"}
@@ -318,7 +318,7 @@ function writeGeotiff(data, metadata) {
318
318
  if (!metadata.BitsPerSample) {
319
319
  let bitsPerSample = 8;
320
320
  if (ArrayBuffer.isView(flattenedValues)) {
321
- bitsPerSample = 8 * flattenedValues.BYTES_PER_ELEMENT;
321
+ bitsPerSample = 8 * Object.getPrototypeOf(flattenedValues).BYTES_PER_ELEMENT;
322
322
  }
323
323
  metadata.BitsPerSample = (0, utils_js_1.times)(numBands, () => bitsPerSample);
324
324
  }
@@ -343,7 +343,7 @@ function writeGeotiff(data, metadata) {
343
343
  // default for Float64
344
344
  let elementSize = 8;
345
345
  if (ArrayBuffer.isView(flattenedValues)) {
346
- elementSize = flattenedValues.BYTES_PER_ELEMENT;
346
+ elementSize = Object.getPrototypeOf(flattenedValues).BYTES_PER_ELEMENT;
347
347
  }
348
348
  metadata.StripByteCounts = [numBands * elementSize * height * width];
349
349
  }
@@ -1 +1 @@
1
- {"version":3,"file":"geotiffwriter.js","sourceRoot":"","sources":["../dist-module/geotiffwriter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geotiffwriter.js","sourceRoot":"","sources":["../dist-module/geotiffwriter.js"],"names":[],"mappings":"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"}