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.
- package/dist-browser/geotiff.js +3 -3
- package/dist-browser/geotiff.js.map +1 -1
- package/dist-module/compression/basedecoder.d.ts +30 -4
- package/dist-module/compression/basedecoder.d.ts.map +1 -1
- package/dist-module/compression/basedecoder.js +22 -1
- package/dist-module/compression/basedecoder.js.map +1 -0
- package/dist-module/compression/deflate.d.ts +2 -1
- package/dist-module/compression/deflate.d.ts.map +1 -1
- package/dist-module/compression/deflate.js +2 -0
- package/dist-module/compression/deflate.js.map +1 -0
- package/dist-module/compression/index.d.ts +14 -22
- package/dist-module/compression/index.d.ts.map +1 -1
- package/dist-module/compression/index.js +36 -25
- package/dist-module/compression/index.js.map +1 -0
- package/dist-module/compression/jpeg.d.ts +55 -15
- package/dist-module/compression/jpeg.d.ts.map +1 -1
- package/dist-module/compression/jpeg.js +187 -16
- package/dist-module/compression/jpeg.js.map +1 -0
- package/dist-module/compression/lerc.d.ts +11 -1
- package/dist-module/compression/lerc.d.ts.map +1 -1
- package/dist-module/compression/lerc.js +16 -4
- package/dist-module/compression/lerc.js.map +1 -0
- package/dist-module/compression/lzw.d.ts +2 -1
- package/dist-module/compression/lzw.d.ts.map +1 -1
- package/dist-module/compression/lzw.js +29 -1
- package/dist-module/compression/lzw.js.map +1 -0
- package/dist-module/compression/packbits.d.ts +2 -1
- package/dist-module/compression/packbits.d.ts.map +1 -1
- package/dist-module/compression/packbits.js +2 -0
- package/dist-module/compression/packbits.js.map +1 -0
- package/dist-module/compression/raw.d.ts +2 -1
- package/dist-module/compression/raw.d.ts.map +1 -1
- package/dist-module/compression/raw.js +2 -0
- package/dist-module/compression/raw.js.map +1 -0
- package/dist-module/compression/webimage.d.ts +2 -1
- package/dist-module/compression/webimage.d.ts.map +1 -1
- package/dist-module/compression/webimage.js +5 -0
- package/dist-module/compression/webimage.js.map +1 -0
- package/dist-module/compression/zstd.d.ts +4 -2
- package/dist-module/compression/zstd.d.ts.map +1 -1
- package/dist-module/compression/zstd.js +3 -1
- package/dist-module/compression/zstd.js.map +1 -0
- package/dist-module/dataslice.d.ts +78 -22
- package/dist-module/dataslice.d.ts.map +1 -1
- package/dist-module/dataslice.js +57 -1
- package/dist-module/dataslice.js.map +1 -0
- package/dist-module/dataview64.d.ts +71 -14
- package/dist-module/dataview64.d.ts.map +1 -1
- package/dist-module/dataview64.js +58 -1
- package/dist-module/dataview64.js.map +1 -0
- package/dist-module/geotiff.d.ts +61 -12
- package/dist-module/geotiff.d.ts.map +1 -1
- package/dist-module/geotiff.js +73 -14
- package/dist-module/geotiff.js.map +1 -0
- package/dist-module/geotiffimage.d.ts +41 -15
- package/dist-module/geotiffimage.d.ts.map +1 -1
- package/dist-module/geotiffimage.js +132 -52
- package/dist-module/geotiffimage.js.map +1 -0
- package/dist-module/geotiffwriter.d.ts +28 -1
- package/dist-module/geotiffwriter.d.ts.map +1 -1
- package/dist-module/geotiffwriter.js +206 -84
- package/dist-module/geotiffwriter.js.map +1 -0
- package/dist-module/globals.d.ts +912 -92
- package/dist-module/globals.d.ts.map +1 -1
- package/dist-module/globals.js +201 -227
- package/dist-module/globals.js.map +1 -0
- package/dist-module/imagefiledirectory.d.ts +72 -19
- package/dist-module/imagefiledirectory.d.ts.map +1 -1
- package/dist-module/imagefiledirectory.js +51 -26
- package/dist-module/imagefiledirectory.js.map +1 -0
- package/dist-module/logging.d.ts +36 -10
- package/dist-module/logging.d.ts.map +1 -1
- package/dist-module/logging.js +16 -2
- package/dist-module/logging.js.map +1 -0
- package/dist-module/pool.d.ts +15 -8
- package/dist-module/pool.d.ts.map +1 -1
- package/dist-module/pool.js +11 -3
- package/dist-module/pool.js.map +1 -0
- package/dist-module/predictor.d.ts +10 -1
- package/dist-module/predictor.d.ts.map +1 -1
- package/dist-module/predictor.js +19 -0
- package/dist-module/predictor.js.map +1 -0
- package/dist-module/resample.d.ts.map +1 -1
- package/dist-module/resample.js +12 -0
- package/dist-module/resample.js.map +1 -0
- package/dist-module/rgb.js +1 -0
- package/dist-module/rgb.js.map +1 -0
- package/dist-module/source/arraybuffer.d.ts +7 -4
- package/dist-module/source/arraybuffer.d.ts.map +1 -1
- package/dist-module/source/arraybuffer.js +15 -1
- package/dist-module/source/arraybuffer.js.map +1 -0
- package/dist-module/source/basesource.d.ts +11 -6
- package/dist-module/source/basesource.d.ts.map +1 -1
- package/dist-module/source/basesource.js +7 -4
- package/dist-module/source/basesource.js.map +1 -0
- package/dist-module/source/blockedsource.d.ts +2 -2
- package/dist-module/source/blockedsource.d.ts.map +1 -1
- package/dist-module/source/blockedsource.js +8 -5
- package/dist-module/source/blockedsource.js.map +1 -0
- package/dist-module/source/client/base.d.ts +8 -7
- package/dist-module/source/client/base.d.ts.map +1 -1
- package/dist-module/source/client/base.js +7 -5
- package/dist-module/source/client/base.js.map +1 -0
- package/dist-module/source/client/fetch.d.ts +6 -2
- package/dist-module/source/client/fetch.d.ts.map +1 -1
- package/dist-module/source/client/fetch.js +7 -2
- package/dist-module/source/client/fetch.js.map +1 -0
- package/dist-module/source/client/http.d.ts +27 -5
- package/dist-module/source/client/http.d.ts.map +1 -1
- package/dist-module/source/client/http.js +16 -2
- package/dist-module/source/client/http.js.map +1 -0
- package/dist-module/source/client/xhr.d.ts +22 -3
- package/dist-module/source/client/xhr.d.ts.map +1 -1
- package/dist-module/source/client/xhr.js +12 -2
- package/dist-module/source/client/xhr.js.map +1 -0
- package/dist-module/source/file.d.ts +8 -5
- package/dist-module/source/file.d.ts.map +1 -1
- package/dist-module/source/file.js +40 -8
- package/dist-module/source/file.js.map +1 -0
- package/dist-module/source/filereader.d.ts +12 -4
- package/dist-module/source/filereader.d.ts.map +1 -1
- package/dist-module/source/filereader.js +15 -2
- package/dist-module/source/filereader.js.map +1 -0
- package/dist-module/source/httputils.d.ts +16 -9
- package/dist-module/source/httputils.d.ts.map +1 -1
- package/dist-module/source/httputils.js +19 -12
- package/dist-module/source/httputils.js.map +1 -0
- package/dist-module/source/remote.d.ts.map +1 -1
- package/dist-module/source/remote.js +19 -7
- package/dist-module/source/remote.js.map +1 -0
- package/dist-module/utils.d.ts +36 -41
- package/dist-module/utils.d.ts.map +1 -1
- package/dist-module/utils.js +17 -12
- package/dist-module/utils.js.map +1 -0
- package/dist-module/worker/create.js +1 -1
- package/dist-module/worker/create.js.map +1 -0
- package/dist-module/worker/decoder.d.ts +2 -0
- package/dist-module/worker/decoder.d.ts.map +1 -0
- package/dist-module/worker/decoder.js +21 -0
- package/dist-module/worker/decoder.js.map +1 -0
- package/dist-node/compression/basedecoder.d.ts +30 -4
- package/dist-node/compression/basedecoder.d.ts.map +1 -1
- package/dist-node/compression/basedecoder.js +22 -1
- package/dist-node/compression/basedecoder.js.map +1 -1
- package/dist-node/compression/deflate.d.ts +2 -1
- package/dist-node/compression/deflate.d.ts.map +1 -1
- package/dist-node/compression/deflate.js +2 -0
- package/dist-node/compression/deflate.js.map +1 -1
- package/dist-node/compression/index.d.ts +14 -22
- package/dist-node/compression/index.d.ts.map +1 -1
- package/dist-node/compression/index.js +36 -25
- package/dist-node/compression/index.js.map +1 -1
- package/dist-node/compression/jpeg.d.ts +55 -16
- package/dist-node/compression/jpeg.d.ts.map +1 -1
- package/dist-node/compression/jpeg.js +187 -16
- package/dist-node/compression/jpeg.js.map +1 -1
- package/dist-node/compression/lerc.d.ts +11 -1
- package/dist-node/compression/lerc.d.ts.map +1 -1
- package/dist-node/compression/lerc.js +16 -4
- package/dist-node/compression/lerc.js.map +1 -1
- package/dist-node/compression/lzw.d.ts +2 -1
- package/dist-node/compression/lzw.d.ts.map +1 -1
- package/dist-node/compression/lzw.js +29 -1
- package/dist-node/compression/lzw.js.map +1 -1
- package/dist-node/compression/packbits.d.ts +2 -1
- package/dist-node/compression/packbits.d.ts.map +1 -1
- package/dist-node/compression/packbits.js +2 -0
- package/dist-node/compression/packbits.js.map +1 -1
- package/dist-node/compression/raw.d.ts +2 -1
- package/dist-node/compression/raw.d.ts.map +1 -1
- package/dist-node/compression/raw.js +2 -0
- package/dist-node/compression/raw.js.map +1 -1
- package/dist-node/compression/webimage.d.ts +2 -2
- package/dist-node/compression/webimage.d.ts.map +1 -1
- package/dist-node/compression/webimage.js +5 -0
- package/dist-node/compression/webimage.js.map +1 -1
- package/dist-node/compression/zstd.d.ts +2 -1
- package/dist-node/compression/zstd.d.ts.map +1 -1
- package/dist-node/compression/zstd.js +3 -1
- package/dist-node/compression/zstd.js.map +1 -1
- package/dist-node/dataslice.d.ts +78 -22
- package/dist-node/dataslice.d.ts.map +1 -1
- package/dist-node/dataslice.js +57 -1
- package/dist-node/dataslice.js.map +1 -1
- package/dist-node/dataview64.d.ts +71 -14
- package/dist-node/dataview64.d.ts.map +1 -1
- package/dist-node/dataview64.js +58 -1
- package/dist-node/dataview64.js.map +1 -1
- package/dist-node/geotiff.d.ts +61 -12
- package/dist-node/geotiff.d.ts.map +1 -1
- package/dist-node/geotiff.js +75 -15
- package/dist-node/geotiff.js.map +1 -1
- package/dist-node/geotiffimage.d.ts +41 -15
- package/dist-node/geotiffimage.d.ts.map +1 -1
- package/dist-node/geotiffimage.js +132 -52
- package/dist-node/geotiffimage.js.map +1 -1
- package/dist-node/geotiffwriter.d.ts +28 -1
- package/dist-node/geotiffwriter.d.ts.map +1 -1
- package/dist-node/geotiffwriter.js +206 -84
- package/dist-node/geotiffwriter.js.map +1 -1
- package/dist-node/globals.d.ts +910 -90
- package/dist-node/globals.d.ts.map +1 -1
- package/dist-node/globals.js +202 -228
- package/dist-node/globals.js.map +1 -1
- package/dist-node/imagefiledirectory.d.ts +72 -19
- package/dist-node/imagefiledirectory.d.ts.map +1 -1
- package/dist-node/imagefiledirectory.js +51 -26
- package/dist-node/imagefiledirectory.js.map +1 -1
- package/dist-node/logging.d.ts +36 -10
- package/dist-node/logging.d.ts.map +1 -1
- package/dist-node/logging.js +16 -2
- package/dist-node/logging.js.map +1 -1
- package/dist-node/pool.d.ts +15 -8
- package/dist-node/pool.d.ts.map +1 -1
- package/dist-node/pool.js +11 -3
- package/dist-node/pool.js.map +1 -1
- package/dist-node/predictor.d.ts +10 -1
- package/dist-node/predictor.d.ts.map +1 -1
- package/dist-node/predictor.js +19 -0
- package/dist-node/predictor.js.map +1 -1
- package/dist-node/resample.d.ts.map +1 -1
- package/dist-node/resample.js +12 -0
- package/dist-node/resample.js.map +1 -1
- package/dist-node/rgb.js +1 -0
- package/dist-node/rgb.js.map +1 -1
- package/dist-node/source/arraybuffer.d.ts +7 -4
- package/dist-node/source/arraybuffer.d.ts.map +1 -1
- package/dist-node/source/arraybuffer.js +15 -1
- package/dist-node/source/arraybuffer.js.map +1 -1
- package/dist-node/source/basesource.d.ts +11 -6
- package/dist-node/source/basesource.d.ts.map +1 -1
- package/dist-node/source/basesource.js +7 -4
- package/dist-node/source/basesource.js.map +1 -1
- package/dist-node/source/blockedsource.d.ts +2 -2
- package/dist-node/source/blockedsource.d.ts.map +1 -1
- package/dist-node/source/blockedsource.js +8 -5
- package/dist-node/source/blockedsource.js.map +1 -1
- package/dist-node/source/client/base.d.ts +8 -7
- package/dist-node/source/client/base.d.ts.map +1 -1
- package/dist-node/source/client/base.js +7 -5
- package/dist-node/source/client/base.js.map +1 -1
- package/dist-node/source/client/fetch.d.ts +5 -2
- package/dist-node/source/client/fetch.d.ts.map +1 -1
- package/dist-node/source/client/fetch.js +7 -2
- package/dist-node/source/client/fetch.js.map +1 -1
- package/dist-node/source/client/http.d.ts +22 -4
- package/dist-node/source/client/http.d.ts.map +1 -1
- package/dist-node/source/client/http.js +16 -2
- package/dist-node/source/client/http.js.map +1 -1
- package/dist-node/source/client/xhr.d.ts +23 -3
- package/dist-node/source/client/xhr.d.ts.map +1 -1
- package/dist-node/source/client/xhr.js +12 -2
- package/dist-node/source/client/xhr.js.map +1 -1
- package/dist-node/source/file.d.ts +8 -5
- package/dist-node/source/file.d.ts.map +1 -1
- package/dist-node/source/file.js +40 -8
- package/dist-node/source/file.js.map +1 -1
- package/dist-node/source/filereader.d.ts +12 -4
- package/dist-node/source/filereader.d.ts.map +1 -1
- package/dist-node/source/filereader.js +15 -2
- package/dist-node/source/filereader.js.map +1 -1
- package/dist-node/source/httputils.d.ts +16 -9
- package/dist-node/source/httputils.d.ts.map +1 -1
- package/dist-node/source/httputils.js +19 -12
- package/dist-node/source/httputils.js.map +1 -1
- package/dist-node/source/remote.d.ts.map +1 -1
- package/dist-node/source/remote.js +19 -7
- package/dist-node/source/remote.js.map +1 -1
- package/dist-node/utils.d.ts +9 -8
- package/dist-node/utils.d.ts.map +1 -1
- package/dist-node/utils.js +17 -12
- package/dist-node/utils.js.map +1 -1
- package/dist-node/worker/create.js +1 -1
- package/dist-node/worker/create.js.map +1 -1
- package/dist-node/worker/decoder.d.ts +2 -0
- package/dist-node/worker/decoder.d.ts.map +1 -0
- package/dist-node/worker/decoder.js +24 -0
- package/dist-node/worker/decoder.js.map +1 -0
- 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
|
-
|
|
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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"}
|
package/dist-module/geotiff.d.ts
CHANGED
|
@@ -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
|
|
69
|
-
*
|
|
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:
|
|
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:
|
|
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 |
|
|
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?:
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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<
|
|
314
|
+
* @returns {Promise<Record<string, unknown>|null>} the parsed ghost area or null, if no such area was found
|
|
266
315
|
*/
|
|
267
|
-
getGhostValues(): Promise<
|
|
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":"
|
|
1
|
+
{"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../src/geotiff.js"],"names":[],"mappings":"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"}
|
package/dist-module/geotiff.js
CHANGED
|
@@ -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:
|
|
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
|
|
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 {
|
|
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
|
|
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
|
|
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<
|
|
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 {
|
|
453
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
672
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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:
|
|
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:
|
|
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<
|
|
181
|
+
* @returns {Promise<Array<{i: number, j: number, k: number, x: number, y: number, z: number}>>} the tiepoints
|
|
164
182
|
*/
|
|
165
|
-
getTiePoints(): Promise<
|
|
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<
|
|
198
|
+
* @returns {Promise<Record<string, unknown>|null>} The GDAL metadata items
|
|
174
199
|
*/
|
|
175
|
-
getGDALMetadata(sample?: number | null): Promise<
|
|
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":";
|
|
1
|
+
{"version":3,"file":"geotiffimage.d.ts","sourceRoot":"","sources":["../src/geotiffimage.js"],"names":[],"mappings":"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"}
|