whitebox-wasm 0.1.0 → 0.3.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/README.md +191 -0
- package/package.json +6 -6
- package/whitebox_wasm.d.ts +416 -11
- package/whitebox_wasm.js +1629 -15
- package/whitebox_wasm_bg.wasm +0 -0
package/whitebox_wasm.js
CHANGED
|
@@ -1,8 +1,1028 @@
|
|
|
1
1
|
/* @ts-self-types="./whitebox_wasm.d.ts" */
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Builder for encoding a Cloud Optimized GeoTIFF (tiled, with overviews and
|
|
5
|
+
* GDAL ghost metadata) to bytes. A COG is also a valid plain GeoTIFF.
|
|
6
|
+
*
|
|
7
|
+
* Configure with the `set_*` methods, then call one of `write_*` with the
|
|
8
|
+
* pixel data to get a `Uint8Array` of the encoded file.
|
|
9
|
+
*/
|
|
10
|
+
export class CogBuilder {
|
|
11
|
+
__destroy_into_raw() {
|
|
12
|
+
const ptr = this.__wbg_ptr;
|
|
13
|
+
this.__wbg_ptr = 0;
|
|
14
|
+
CogBuilderFinalization.unregister(this);
|
|
15
|
+
return ptr;
|
|
16
|
+
}
|
|
17
|
+
free() {
|
|
18
|
+
const ptr = this.__destroy_into_raw();
|
|
19
|
+
wasm.__wbg_cogbuilder_free(ptr, 0);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* New builder for a `width` x `height` raster with `bands` bands.
|
|
23
|
+
* @param {number} width
|
|
24
|
+
* @param {number} height
|
|
25
|
+
* @param {number} bands
|
|
26
|
+
*/
|
|
27
|
+
constructor(width, height, bands) {
|
|
28
|
+
const ret = wasm.cogbuilder_new(width, height, bands);
|
|
29
|
+
this.__wbg_ptr = ret;
|
|
30
|
+
CogBuilderFinalization.register(this, this.__wbg_ptr, this);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Force BigTIFF (64-bit offsets) for very large outputs.
|
|
35
|
+
* @param {boolean} on
|
|
36
|
+
*/
|
|
37
|
+
set_bigtiff(on) {
|
|
38
|
+
wasm.cogbuilder_set_bigtiff(this.__wbg_ptr, on);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Compression: `none`, `lzw`, `deflate`, `packbits`, `webp`, `jpeg`, `jpegxl`.
|
|
42
|
+
* @param {string} name
|
|
43
|
+
*/
|
|
44
|
+
set_compression(name) {
|
|
45
|
+
try {
|
|
46
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
47
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
48
|
+
const len0 = WASM_VECTOR_LEN;
|
|
49
|
+
wasm.cogbuilder_set_compression(retptr, this.__wbg_ptr, ptr0, len0);
|
|
50
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
51
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
52
|
+
if (r1) {
|
|
53
|
+
throw takeObject(r0);
|
|
54
|
+
}
|
|
55
|
+
} finally {
|
|
56
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Set the EPSG code (1..=65535).
|
|
61
|
+
* @param {number} epsg
|
|
62
|
+
*/
|
|
63
|
+
set_epsg(epsg) {
|
|
64
|
+
wasm.cogbuilder_set_epsg(this.__wbg_ptr, epsg);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Set the full affine geo-transform:
|
|
68
|
+
* `[x_origin, pixel_width, row_rotation, y_origin, col_rotation, pixel_height]`.
|
|
69
|
+
* @param {Float64Array} gt
|
|
70
|
+
*/
|
|
71
|
+
set_geo_transform(gt) {
|
|
72
|
+
try {
|
|
73
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
74
|
+
const ptr0 = passArrayF64ToWasm0(gt, wasm.__wbindgen_export2);
|
|
75
|
+
const len0 = WASM_VECTOR_LEN;
|
|
76
|
+
wasm.cogbuilder_set_geo_transform(retptr, this.__wbg_ptr, ptr0, len0);
|
|
77
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
78
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
79
|
+
if (r1) {
|
|
80
|
+
throw takeObject(r0);
|
|
81
|
+
}
|
|
82
|
+
} finally {
|
|
83
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Set the no-data sentinel value.
|
|
88
|
+
* @param {number} v
|
|
89
|
+
*/
|
|
90
|
+
set_nodata(v) {
|
|
91
|
+
wasm.cogbuilder_set_nodata(this.__wbg_ptr, v);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Convenience: north-up geo-transform from upper-left origin and pixel size.
|
|
95
|
+
* @param {number} x_min
|
|
96
|
+
* @param {number} y_max
|
|
97
|
+
* @param {number} pixel_size
|
|
98
|
+
*/
|
|
99
|
+
set_origin(x_min, y_max, pixel_size) {
|
|
100
|
+
wasm.cogbuilder_set_origin(this.__wbg_ptr, x_min, y_max, pixel_size);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Explicit overview decimation factors (e.g. `[2,4,8]`); empty disables overviews.
|
|
104
|
+
* @param {Uint32Array} levels
|
|
105
|
+
*/
|
|
106
|
+
set_overview_levels(levels) {
|
|
107
|
+
const ptr0 = passArray32ToWasm0(levels, wasm.__wbindgen_export2);
|
|
108
|
+
const len0 = WASM_VECTOR_LEN;
|
|
109
|
+
wasm.cogbuilder_set_overview_levels(this.__wbg_ptr, ptr0, len0);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Internal tile size in pixels (default 512).
|
|
113
|
+
* @param {number} px
|
|
114
|
+
*/
|
|
115
|
+
set_tile_size(px) {
|
|
116
|
+
wasm.cogbuilder_set_tile_size(this.__wbg_ptr, px);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Encode `f32` pixel data to a COG. `Uint8Array`.
|
|
120
|
+
* @param {Float32Array} data
|
|
121
|
+
* @returns {Uint8Array}
|
|
122
|
+
*/
|
|
123
|
+
write_f32(data) {
|
|
124
|
+
try {
|
|
125
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
126
|
+
const ptr0 = passArrayF32ToWasm0(data, wasm.__wbindgen_export2);
|
|
127
|
+
const len0 = WASM_VECTOR_LEN;
|
|
128
|
+
wasm.cogbuilder_write_f32(retptr, this.__wbg_ptr, ptr0, len0);
|
|
129
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
130
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
131
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
132
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
133
|
+
if (r3) {
|
|
134
|
+
throw takeObject(r2);
|
|
135
|
+
}
|
|
136
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
137
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
138
|
+
return v2;
|
|
139
|
+
} finally {
|
|
140
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Encode `f64` pixel data to a COG. `Uint8Array`.
|
|
145
|
+
* @param {Float64Array} data
|
|
146
|
+
* @returns {Uint8Array}
|
|
147
|
+
*/
|
|
148
|
+
write_f64(data) {
|
|
149
|
+
try {
|
|
150
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
151
|
+
const ptr0 = passArrayF64ToWasm0(data, wasm.__wbindgen_export2);
|
|
152
|
+
const len0 = WASM_VECTOR_LEN;
|
|
153
|
+
wasm.cogbuilder_write_f64(retptr, this.__wbg_ptr, ptr0, len0);
|
|
154
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
155
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
156
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
157
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
158
|
+
if (r3) {
|
|
159
|
+
throw takeObject(r2);
|
|
160
|
+
}
|
|
161
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
162
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
163
|
+
return v2;
|
|
164
|
+
} finally {
|
|
165
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Encode `u8` pixel data to a COG. `Uint8Array`.
|
|
170
|
+
* @param {Uint8Array} data
|
|
171
|
+
* @returns {Uint8Array}
|
|
172
|
+
*/
|
|
173
|
+
write_u8(data) {
|
|
174
|
+
try {
|
|
175
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
176
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
177
|
+
const len0 = WASM_VECTOR_LEN;
|
|
178
|
+
wasm.cogbuilder_write_u8(retptr, this.__wbg_ptr, ptr0, len0);
|
|
179
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
180
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
181
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
182
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
183
|
+
if (r3) {
|
|
184
|
+
throw takeObject(r2);
|
|
185
|
+
}
|
|
186
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
187
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
188
|
+
return v2;
|
|
189
|
+
} finally {
|
|
190
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (Symbol.dispose) CogBuilder.prototype[Symbol.dispose] = CogBuilder.prototype.free;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Range-request reader for a (tiled) Cloud Optimized GeoTIFF.
|
|
198
|
+
*
|
|
199
|
+
* The wasm module does no network I/O itself; this class parses the header and
|
|
200
|
+
* tells the JS host exactly which byte ranges to fetch, then decodes the tiles
|
|
201
|
+
* the host fetches. Typical flow:
|
|
202
|
+
*
|
|
203
|
+
* 1. Range-fetch the first chunk of the file (e.g. 0..1 MiB) and
|
|
204
|
+
* `new CogStream(headerBytes)`. If it throws "need more header bytes", fetch
|
|
205
|
+
* a larger prefix and retry.
|
|
206
|
+
* 2. Pick a level (0 = full res, higher = overviews) and a pixel window.
|
|
207
|
+
* 3. `tiles_for_window(level, x, y, w, h)` returns the tiles and their byte
|
|
208
|
+
* ranges; range-fetch each, then `decode_tile_f64(level, bytes)`.
|
|
209
|
+
*/
|
|
210
|
+
export class CogStream {
|
|
211
|
+
__destroy_into_raw() {
|
|
212
|
+
const ptr = this.__wbg_ptr;
|
|
213
|
+
this.__wbg_ptr = 0;
|
|
214
|
+
CogStreamFinalization.unregister(this);
|
|
215
|
+
return ptr;
|
|
216
|
+
}
|
|
217
|
+
free() {
|
|
218
|
+
const ptr = this.__destroy_into_raw();
|
|
219
|
+
wasm.__wbg_cogstream_free(ptr, 0);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Bounding box `[min_x, min_y, max_x, max_y]` in the dataset CRS, or empty.
|
|
223
|
+
* @returns {Float64Array}
|
|
224
|
+
*/
|
|
225
|
+
bounding_box() {
|
|
226
|
+
try {
|
|
227
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
228
|
+
wasm.cogstream_bounding_box(retptr, this.__wbg_ptr);
|
|
229
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
230
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
231
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
232
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
233
|
+
return v1;
|
|
234
|
+
} finally {
|
|
235
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Bounds `[min_lon, min_lat, max_lon, max_lat]` in WGS84 degrees, or empty.
|
|
240
|
+
* @returns {Float64Array}
|
|
241
|
+
*/
|
|
242
|
+
bounds_lonlat() {
|
|
243
|
+
try {
|
|
244
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
245
|
+
wasm.cogstream_bounds_lonlat(retptr, this.__wbg_ptr);
|
|
246
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
247
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
248
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
249
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
250
|
+
return v1;
|
|
251
|
+
} finally {
|
|
252
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Image center `[x, y]` in the dataset CRS, or empty.
|
|
257
|
+
* @returns {Float64Array}
|
|
258
|
+
*/
|
|
259
|
+
center() {
|
|
260
|
+
try {
|
|
261
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
262
|
+
wasm.cogstream_center(retptr, this.__wbg_ptr);
|
|
263
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
264
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
265
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
266
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
267
|
+
return v1;
|
|
268
|
+
} finally {
|
|
269
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Image center `[lon, lat]` in WGS84 degrees, or empty if not convertible.
|
|
274
|
+
* @returns {Float64Array}
|
|
275
|
+
*/
|
|
276
|
+
center_lonlat() {
|
|
277
|
+
try {
|
|
278
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
279
|
+
wasm.cogstream_center_lonlat(retptr, this.__wbg_ptr);
|
|
280
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
281
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
282
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
283
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
284
|
+
return v1;
|
|
285
|
+
} finally {
|
|
286
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Decode one tile's fetched (compressed) bytes into an `f64` `Float64Array`,
|
|
291
|
+
* pixel-interleaved, length `tile_width * tile_height * bands`. Edge tiles
|
|
292
|
+
* come back full-size; clip to the image/window on the JS side.
|
|
293
|
+
* @param {number} level
|
|
294
|
+
* @param {Uint8Array} tile_bytes
|
|
295
|
+
* @returns {Float64Array}
|
|
296
|
+
*/
|
|
297
|
+
decode_tile_f64(level, tile_bytes) {
|
|
298
|
+
try {
|
|
299
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
300
|
+
const ptr0 = passArray8ToWasm0(tile_bytes, wasm.__wbindgen_export2);
|
|
301
|
+
const len0 = WASM_VECTOR_LEN;
|
|
302
|
+
wasm.cogstream_decode_tile_f64(retptr, this.__wbg_ptr, level, ptr0, len0);
|
|
303
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
304
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
305
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
306
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
307
|
+
if (r3) {
|
|
308
|
+
throw takeObject(r2);
|
|
309
|
+
}
|
|
310
|
+
var v2 = getArrayF64FromWasm0(r0, r1).slice();
|
|
311
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
312
|
+
return v2;
|
|
313
|
+
} finally {
|
|
314
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* EPSG code of the full-resolution level, if any.
|
|
319
|
+
* @returns {number | undefined}
|
|
320
|
+
*/
|
|
321
|
+
get epsg() {
|
|
322
|
+
const ret = wasm.cogstream_epsg(this.__wbg_ptr);
|
|
323
|
+
return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Level-0 geo-transform `[x_origin, pixel_width, row_rot, y_origin, col_rot,
|
|
327
|
+
* pixel_height]`, or empty if not georeferenced.
|
|
328
|
+
* @returns {Float64Array}
|
|
329
|
+
*/
|
|
330
|
+
geo_transform() {
|
|
331
|
+
try {
|
|
332
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
333
|
+
wasm.cogstream_geo_transform(retptr, this.__wbg_ptr);
|
|
334
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
335
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
336
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
337
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
338
|
+
return v1;
|
|
339
|
+
} finally {
|
|
340
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* JSON array describing every level: `[{level,width,height,tile_width,
|
|
345
|
+
* tile_height,tiles_x,tiles_y,bands,bits_per_sample,sample_format,compression}]`.
|
|
346
|
+
* @returns {string}
|
|
347
|
+
*/
|
|
348
|
+
levels_json() {
|
|
349
|
+
let deferred1_0;
|
|
350
|
+
let deferred1_1;
|
|
351
|
+
try {
|
|
352
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
353
|
+
wasm.cogstream_levels_json(retptr, this.__wbg_ptr);
|
|
354
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
355
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
356
|
+
deferred1_0 = r0;
|
|
357
|
+
deferred1_1 = r1;
|
|
358
|
+
return getStringFromWasm0(r0, r1);
|
|
359
|
+
} finally {
|
|
360
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
361
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Parse a COG's tile layout from front-of-file header bytes.
|
|
366
|
+
* @param {Uint8Array} header_bytes
|
|
367
|
+
*/
|
|
368
|
+
constructor(header_bytes) {
|
|
369
|
+
try {
|
|
370
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
371
|
+
const ptr0 = passArray8ToWasm0(header_bytes, wasm.__wbindgen_export2);
|
|
372
|
+
const len0 = WASM_VECTOR_LEN;
|
|
373
|
+
wasm.cogstream_new(retptr, ptr0, len0);
|
|
374
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
375
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
376
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
377
|
+
if (r2) {
|
|
378
|
+
throw takeObject(r1);
|
|
379
|
+
}
|
|
380
|
+
this.__wbg_ptr = r0;
|
|
381
|
+
CogStreamFinalization.register(this, this.__wbg_ptr, this);
|
|
382
|
+
return this;
|
|
383
|
+
} finally {
|
|
384
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* No-data sentinel, if declared.
|
|
389
|
+
* @returns {number | undefined}
|
|
390
|
+
*/
|
|
391
|
+
get nodata() {
|
|
392
|
+
try {
|
|
393
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
394
|
+
wasm.cogstream_nodata(retptr, this.__wbg_ptr);
|
|
395
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
396
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
397
|
+
return r0 === 0 ? undefined : r2;
|
|
398
|
+
} finally {
|
|
399
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Number of resolution levels (1 + overview count).
|
|
404
|
+
* @returns {number}
|
|
405
|
+
*/
|
|
406
|
+
get num_levels() {
|
|
407
|
+
const ret = wasm.cogstream_num_levels(this.__wbg_ptr);
|
|
408
|
+
return ret >>> 0;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* `[offset, length]` byte range of the tile at `(col, row)` on `level`.
|
|
412
|
+
* @param {number} level
|
|
413
|
+
* @param {number} col
|
|
414
|
+
* @param {number} row
|
|
415
|
+
* @returns {Float64Array}
|
|
416
|
+
*/
|
|
417
|
+
tile_range(level, col, row) {
|
|
418
|
+
try {
|
|
419
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
420
|
+
wasm.cogstream_tile_range(retptr, this.__wbg_ptr, level, col, row);
|
|
421
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
422
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
423
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
424
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
425
|
+
if (r3) {
|
|
426
|
+
throw takeObject(r2);
|
|
427
|
+
}
|
|
428
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
429
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
430
|
+
return v1;
|
|
431
|
+
} finally {
|
|
432
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Tiles covering a pixel window on `level`, as a JSON array of
|
|
437
|
+
* `{col,row,offset,length}`. Fetch each byte range, then `decode_tile_f64`.
|
|
438
|
+
* @param {number} level
|
|
439
|
+
* @param {number} x
|
|
440
|
+
* @param {number} y
|
|
441
|
+
* @param {number} w
|
|
442
|
+
* @param {number} h
|
|
443
|
+
* @returns {string}
|
|
444
|
+
*/
|
|
445
|
+
tiles_for_window(level, x, y, w, h) {
|
|
446
|
+
let deferred2_0;
|
|
447
|
+
let deferred2_1;
|
|
448
|
+
try {
|
|
449
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
450
|
+
wasm.cogstream_tiles_for_window(retptr, this.__wbg_ptr, level, x, y, w, h);
|
|
451
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
452
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
453
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
454
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
455
|
+
var ptr1 = r0;
|
|
456
|
+
var len1 = r1;
|
|
457
|
+
if (r3) {
|
|
458
|
+
ptr1 = 0; len1 = 0;
|
|
459
|
+
throw takeObject(r2);
|
|
460
|
+
}
|
|
461
|
+
deferred2_0 = ptr1;
|
|
462
|
+
deferred2_1 = len1;
|
|
463
|
+
return getStringFromWasm0(ptr1, len1);
|
|
464
|
+
} finally {
|
|
465
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
466
|
+
wasm.__wbindgen_export(deferred2_0, deferred2_1, 1);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
if (Symbol.dispose) CogStream.prototype[Symbol.dispose] = CogStream.prototype.free;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* A parsed GeoTIFF held in memory. Construct once, then call the accessor and
|
|
474
|
+
* `read_*` methods many times without re-parsing the file.
|
|
475
|
+
*/
|
|
476
|
+
export class GeoTiffReader {
|
|
477
|
+
__destroy_into_raw() {
|
|
478
|
+
const ptr = this.__wbg_ptr;
|
|
479
|
+
this.__wbg_ptr = 0;
|
|
480
|
+
GeoTiffReaderFinalization.unregister(this);
|
|
481
|
+
return ptr;
|
|
482
|
+
}
|
|
483
|
+
free() {
|
|
484
|
+
const ptr = this.__destroy_into_raw();
|
|
485
|
+
wasm.__wbg_geotiffreader_free(ptr, 0);
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* @returns {number}
|
|
489
|
+
*/
|
|
490
|
+
get bands() {
|
|
491
|
+
const ret = wasm.geotiffreader_bands(this.__wbg_ptr);
|
|
492
|
+
return ret >>> 0;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* @returns {number}
|
|
496
|
+
*/
|
|
497
|
+
get bits_per_sample() {
|
|
498
|
+
const ret = wasm.geotiffreader_bits_per_sample(this.__wbg_ptr);
|
|
499
|
+
return ret;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Bounding box as `[min_x, min_y, max_x, max_y]`, or empty if not georeferenced.
|
|
503
|
+
* @returns {Float64Array}
|
|
504
|
+
*/
|
|
505
|
+
bounding_box() {
|
|
506
|
+
try {
|
|
507
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
508
|
+
wasm.geotiffreader_bounding_box(retptr, this.__wbg_ptr);
|
|
509
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
510
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
511
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
512
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
513
|
+
return v1;
|
|
514
|
+
} finally {
|
|
515
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Bounds `[min_lon, min_lat, max_lon, max_lat]` in WGS84 degrees, or empty
|
|
520
|
+
* if not convertible.
|
|
521
|
+
* @returns {Float64Array}
|
|
522
|
+
*/
|
|
523
|
+
bounds_lonlat() {
|
|
524
|
+
try {
|
|
525
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
526
|
+
wasm.geotiffreader_bounds_lonlat(retptr, this.__wbg_ptr);
|
|
527
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
528
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
529
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
530
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
531
|
+
return v1;
|
|
532
|
+
} finally {
|
|
533
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Image center `[x, y]` in the dataset CRS, or empty if not georeferenced.
|
|
538
|
+
* @returns {Float64Array}
|
|
539
|
+
*/
|
|
540
|
+
center() {
|
|
541
|
+
try {
|
|
542
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
543
|
+
wasm.geotiffreader_center(retptr, this.__wbg_ptr);
|
|
544
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
545
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
546
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
547
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
548
|
+
return v1;
|
|
549
|
+
} finally {
|
|
550
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* Image center `[lon, lat]` in WGS84 degrees, or empty if not georeferenced
|
|
555
|
+
* or the CRS is not convertible.
|
|
556
|
+
* @returns {Float64Array}
|
|
557
|
+
*/
|
|
558
|
+
center_lonlat() {
|
|
559
|
+
try {
|
|
560
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
561
|
+
wasm.geotiffreader_center_lonlat(retptr, this.__wbg_ptr);
|
|
562
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
563
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
564
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
565
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
566
|
+
return v1;
|
|
567
|
+
} finally {
|
|
568
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* @returns {string}
|
|
573
|
+
*/
|
|
574
|
+
get compression() {
|
|
575
|
+
let deferred1_0;
|
|
576
|
+
let deferred1_1;
|
|
577
|
+
try {
|
|
578
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
579
|
+
wasm.geotiffreader_compression(retptr, this.__wbg_ptr);
|
|
580
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
581
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
582
|
+
deferred1_0 = r0;
|
|
583
|
+
deferred1_1 = r1;
|
|
584
|
+
return getStringFromWasm0(r0, r1);
|
|
585
|
+
} finally {
|
|
586
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
587
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* EPSG code, or `undefined` if the file is not georeferenced by EPSG.
|
|
592
|
+
* @returns {number | undefined}
|
|
593
|
+
*/
|
|
594
|
+
get epsg() {
|
|
595
|
+
const ret = wasm.geotiffreader_epsg(this.__wbg_ptr);
|
|
596
|
+
return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Affine geo-transform as `[x_origin, pixel_width, row_rotation,
|
|
600
|
+
* y_origin, col_rotation, pixel_height]`, or an empty array if absent.
|
|
601
|
+
* @returns {Float64Array}
|
|
602
|
+
*/
|
|
603
|
+
geo_transform() {
|
|
604
|
+
try {
|
|
605
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
606
|
+
wasm.geotiffreader_geo_transform(retptr, this.__wbg_ptr);
|
|
607
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
608
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
609
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
610
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
611
|
+
return v1;
|
|
612
|
+
} finally {
|
|
613
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* @returns {number}
|
|
618
|
+
*/
|
|
619
|
+
get height() {
|
|
620
|
+
const ret = wasm.geotiffreader_height(this.__wbg_ptr);
|
|
621
|
+
return ret >>> 0;
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Full metadata as a JSON string (same shape as [`geotiff_info`]).
|
|
625
|
+
* @returns {string}
|
|
626
|
+
*/
|
|
627
|
+
info_json() {
|
|
628
|
+
let deferred1_0;
|
|
629
|
+
let deferred1_1;
|
|
630
|
+
try {
|
|
631
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
632
|
+
wasm.geotiffreader_info_json(retptr, this.__wbg_ptr);
|
|
633
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
634
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
635
|
+
deferred1_0 = r0;
|
|
636
|
+
deferred1_1 = r1;
|
|
637
|
+
return getStringFromWasm0(r0, r1);
|
|
638
|
+
} finally {
|
|
639
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
640
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* @returns {boolean}
|
|
645
|
+
*/
|
|
646
|
+
get is_bigtiff() {
|
|
647
|
+
const ret = wasm.geotiffreader_is_bigtiff(this.__wbg_ptr);
|
|
648
|
+
return ret !== 0;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Parse a GeoTIFF / BigTIFF / COG from raw bytes.
|
|
652
|
+
* @param {Uint8Array} data
|
|
653
|
+
*/
|
|
654
|
+
constructor(data) {
|
|
655
|
+
try {
|
|
656
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
657
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
658
|
+
const len0 = WASM_VECTOR_LEN;
|
|
659
|
+
wasm.geotiffreader_new(retptr, ptr0, len0);
|
|
660
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
661
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
662
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
663
|
+
if (r2) {
|
|
664
|
+
throw takeObject(r1);
|
|
665
|
+
}
|
|
666
|
+
this.__wbg_ptr = r0;
|
|
667
|
+
GeoTiffReaderFinalization.register(this, this.__wbg_ptr, this);
|
|
668
|
+
return this;
|
|
669
|
+
} finally {
|
|
670
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* No-data sentinel, or `undefined` if none is declared.
|
|
675
|
+
* @returns {number | undefined}
|
|
676
|
+
*/
|
|
677
|
+
get nodata() {
|
|
678
|
+
try {
|
|
679
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
680
|
+
wasm.geotiffreader_nodata(retptr, this.__wbg_ptr);
|
|
681
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
682
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
683
|
+
return r0 === 0 ? undefined : r2;
|
|
684
|
+
} finally {
|
|
685
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Read every band as `f64`, interleaved per pixel (`band0,band1,...`).
|
|
690
|
+
* @returns {Float64Array}
|
|
691
|
+
*/
|
|
692
|
+
read_all_f64() {
|
|
693
|
+
try {
|
|
694
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
695
|
+
wasm.geotiffreader_read_all_f64(retptr, this.__wbg_ptr);
|
|
696
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
697
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
698
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
699
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
700
|
+
if (r3) {
|
|
701
|
+
throw takeObject(r2);
|
|
702
|
+
}
|
|
703
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
704
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
705
|
+
return v1;
|
|
706
|
+
} finally {
|
|
707
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* Read a band's raw, undecoded-to-native bytes. `Uint8Array`.
|
|
712
|
+
* @param {number} band
|
|
713
|
+
* @returns {Uint8Array}
|
|
714
|
+
*/
|
|
715
|
+
read_band_bytes(band) {
|
|
716
|
+
try {
|
|
717
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
718
|
+
wasm.geotiffreader_read_band_bytes(retptr, this.__wbg_ptr, band);
|
|
719
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
720
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
721
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
722
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
723
|
+
if (r3) {
|
|
724
|
+
throw takeObject(r2);
|
|
725
|
+
}
|
|
726
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
727
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
728
|
+
return v1;
|
|
729
|
+
} finally {
|
|
730
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Native `f32` band. `Float32Array`.
|
|
735
|
+
* @param {number} band
|
|
736
|
+
* @returns {Float32Array}
|
|
737
|
+
*/
|
|
738
|
+
read_band_f32(band) {
|
|
739
|
+
try {
|
|
740
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
741
|
+
wasm.geotiffreader_read_band_f32(retptr, this.__wbg_ptr, band);
|
|
742
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
743
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
744
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
745
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
746
|
+
if (r3) {
|
|
747
|
+
throw takeObject(r2);
|
|
748
|
+
}
|
|
749
|
+
var v1 = getArrayF32FromWasm0(r0, r1).slice();
|
|
750
|
+
wasm.__wbindgen_export(r0, r1 * 4, 4);
|
|
751
|
+
return v1;
|
|
752
|
+
} finally {
|
|
753
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Read a band as `f64`, converting from any on-disk type. `Float64Array`.
|
|
758
|
+
* @param {number} band
|
|
759
|
+
* @returns {Float64Array}
|
|
760
|
+
*/
|
|
761
|
+
read_band_f64(band) {
|
|
762
|
+
try {
|
|
763
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
764
|
+
wasm.geotiffreader_read_band_f64(retptr, this.__wbg_ptr, band);
|
|
765
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
766
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
767
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
768
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
769
|
+
if (r3) {
|
|
770
|
+
throw takeObject(r2);
|
|
771
|
+
}
|
|
772
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
773
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
774
|
+
return v1;
|
|
775
|
+
} finally {
|
|
776
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Native `i16` band. `Int16Array`.
|
|
781
|
+
* @param {number} band
|
|
782
|
+
* @returns {Int16Array}
|
|
783
|
+
*/
|
|
784
|
+
read_band_i16(band) {
|
|
785
|
+
try {
|
|
786
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
787
|
+
wasm.geotiffreader_read_band_i16(retptr, this.__wbg_ptr, band);
|
|
788
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
789
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
790
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
791
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
792
|
+
if (r3) {
|
|
793
|
+
throw takeObject(r2);
|
|
794
|
+
}
|
|
795
|
+
var v1 = getArrayI16FromWasm0(r0, r1).slice();
|
|
796
|
+
wasm.__wbindgen_export(r0, r1 * 2, 2);
|
|
797
|
+
return v1;
|
|
798
|
+
} finally {
|
|
799
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Native `i32` band. `Int32Array`.
|
|
804
|
+
* @param {number} band
|
|
805
|
+
* @returns {Int32Array}
|
|
806
|
+
*/
|
|
807
|
+
read_band_i32(band) {
|
|
808
|
+
try {
|
|
809
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
810
|
+
wasm.geotiffreader_read_band_i32(retptr, this.__wbg_ptr, band);
|
|
811
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
812
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
813
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
814
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
815
|
+
if (r3) {
|
|
816
|
+
throw takeObject(r2);
|
|
817
|
+
}
|
|
818
|
+
var v1 = getArrayI32FromWasm0(r0, r1).slice();
|
|
819
|
+
wasm.__wbindgen_export(r0, r1 * 4, 4);
|
|
820
|
+
return v1;
|
|
821
|
+
} finally {
|
|
822
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Native `i8` band. `Int8Array`.
|
|
827
|
+
* @param {number} band
|
|
828
|
+
* @returns {Int8Array}
|
|
829
|
+
*/
|
|
830
|
+
read_band_i8(band) {
|
|
831
|
+
try {
|
|
832
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
833
|
+
wasm.geotiffreader_read_band_i8(retptr, this.__wbg_ptr, band);
|
|
834
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
835
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
836
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
837
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
838
|
+
if (r3) {
|
|
839
|
+
throw takeObject(r2);
|
|
840
|
+
}
|
|
841
|
+
var v1 = getArrayI8FromWasm0(r0, r1).slice();
|
|
842
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
843
|
+
return v1;
|
|
844
|
+
} finally {
|
|
845
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Native `u16` band. `Uint16Array`.
|
|
850
|
+
* @param {number} band
|
|
851
|
+
* @returns {Uint16Array}
|
|
852
|
+
*/
|
|
853
|
+
read_band_u16(band) {
|
|
854
|
+
try {
|
|
855
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
856
|
+
wasm.geotiffreader_read_band_u16(retptr, this.__wbg_ptr, band);
|
|
857
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
858
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
859
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
860
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
861
|
+
if (r3) {
|
|
862
|
+
throw takeObject(r2);
|
|
863
|
+
}
|
|
864
|
+
var v1 = getArrayU16FromWasm0(r0, r1).slice();
|
|
865
|
+
wasm.__wbindgen_export(r0, r1 * 2, 2);
|
|
866
|
+
return v1;
|
|
867
|
+
} finally {
|
|
868
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
/**
|
|
872
|
+
* Native `u32` band. `Uint32Array`.
|
|
873
|
+
* @param {number} band
|
|
874
|
+
* @returns {Uint32Array}
|
|
875
|
+
*/
|
|
876
|
+
read_band_u32(band) {
|
|
877
|
+
try {
|
|
878
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
879
|
+
wasm.geotiffreader_read_band_u32(retptr, this.__wbg_ptr, band);
|
|
880
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
881
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
882
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
883
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
884
|
+
if (r3) {
|
|
885
|
+
throw takeObject(r2);
|
|
886
|
+
}
|
|
887
|
+
var v1 = getArrayU32FromWasm0(r0, r1).slice();
|
|
888
|
+
wasm.__wbindgen_export(r0, r1 * 4, 4);
|
|
889
|
+
return v1;
|
|
890
|
+
} finally {
|
|
891
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* Native `u8` band. `Uint8Array`.
|
|
896
|
+
* @param {number} band
|
|
897
|
+
* @returns {Uint8Array}
|
|
898
|
+
*/
|
|
899
|
+
read_band_u8(band) {
|
|
900
|
+
try {
|
|
901
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
902
|
+
wasm.geotiffreader_read_band_u8(retptr, this.__wbg_ptr, band);
|
|
903
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
904
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
905
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
906
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
907
|
+
if (r3) {
|
|
908
|
+
throw takeObject(r2);
|
|
909
|
+
}
|
|
910
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
911
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
912
|
+
return v1;
|
|
913
|
+
} finally {
|
|
914
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* @returns {string}
|
|
919
|
+
*/
|
|
920
|
+
get sample_format() {
|
|
921
|
+
let deferred1_0;
|
|
922
|
+
let deferred1_1;
|
|
923
|
+
try {
|
|
924
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
925
|
+
wasm.geotiffreader_sample_format(retptr, this.__wbg_ptr);
|
|
926
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
927
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
928
|
+
deferred1_0 = r0;
|
|
929
|
+
deferred1_1 = r1;
|
|
930
|
+
return getStringFromWasm0(r0, r1);
|
|
931
|
+
} finally {
|
|
932
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
933
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Band-0 statistics as a JSON string (same shape as [`geotiff_stats`]).
|
|
938
|
+
* @returns {string}
|
|
939
|
+
*/
|
|
940
|
+
stats_json() {
|
|
941
|
+
let deferred1_0;
|
|
942
|
+
let deferred1_1;
|
|
943
|
+
try {
|
|
944
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
945
|
+
wasm.geotiffreader_stats_json(retptr, this.__wbg_ptr);
|
|
946
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
947
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
948
|
+
deferred1_0 = r0;
|
|
949
|
+
deferred1_1 = r1;
|
|
950
|
+
return getStringFromWasm0(r0, r1);
|
|
951
|
+
} finally {
|
|
952
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
953
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* GDAL value transform as `[scale, offset]` (physical = raw*scale+offset),
|
|
958
|
+
* or empty if none. Apply to `read_*` outputs to get physical values.
|
|
959
|
+
* @returns {Float64Array}
|
|
960
|
+
*/
|
|
961
|
+
value_transform() {
|
|
962
|
+
try {
|
|
963
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
964
|
+
wasm.geotiffreader_value_transform(retptr, this.__wbg_ptr);
|
|
965
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
966
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
967
|
+
var v1 = getArrayF64FromWasm0(r0, r1).slice();
|
|
968
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
969
|
+
return v1;
|
|
970
|
+
} finally {
|
|
971
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
/**
|
|
975
|
+
* @returns {number}
|
|
976
|
+
*/
|
|
977
|
+
get width() {
|
|
978
|
+
const ret = wasm.geotiffreader_width(this.__wbg_ptr);
|
|
979
|
+
return ret >>> 0;
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
if (Symbol.dispose) GeoTiffReader.prototype[Symbol.dispose] = GeoTiffReader.prototype.free;
|
|
983
|
+
|
|
984
|
+
/**
|
|
985
|
+
* Install a panic hook so Rust panics surface as readable `console.error`
|
|
986
|
+
* messages instead of an opaque `RuntimeError: unreachable`.
|
|
987
|
+
*/
|
|
988
|
+
export function __start() {
|
|
989
|
+
wasm.__start();
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
/**
|
|
993
|
+
* Convex hull of a 2D point set. Input is `[x0,y0,x1,y1,...]`; output is the
|
|
994
|
+
* hull ring as `[x0,y0,...]` (closed). Needs at least 3 points.
|
|
995
|
+
* @param {Float64Array} points_xy
|
|
996
|
+
* @returns {Float64Array}
|
|
997
|
+
*/
|
|
998
|
+
export function convex_hull(points_xy) {
|
|
999
|
+
try {
|
|
1000
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1001
|
+
const ptr0 = passArrayF64ToWasm0(points_xy, wasm.__wbindgen_export2);
|
|
1002
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1003
|
+
wasm.convex_hull(retptr, ptr0, len0);
|
|
1004
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1005
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1006
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1007
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1008
|
+
if (r3) {
|
|
1009
|
+
throw takeObject(r2);
|
|
1010
|
+
}
|
|
1011
|
+
var v2 = getArrayF64FromWasm0(r0, r1).slice();
|
|
1012
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
1013
|
+
return v2;
|
|
1014
|
+
} finally {
|
|
1015
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
/**
|
|
1020
|
+
* Decode only a GeoTIFF's header and return its metadata as JSON. O(header)
|
|
1021
|
+
* memory, so it works on multi-gigabyte rasters that whole-image reads cannot
|
|
1022
|
+
* fit in WASM's 4 GiB address space.
|
|
1023
|
+
*
|
|
1024
|
+
* `{"ok":true,"width","height","bands","epsg"|null,"nodata"|null,
|
|
1025
|
+
* "bits_per_sample","sample_format","compression","tiled","bigtiff"}`
|
|
6
1026
|
* @param {Uint8Array} data
|
|
7
1027
|
* @returns {string}
|
|
8
1028
|
*/
|
|
@@ -11,7 +1031,7 @@ export function geotiff_info(data) {
|
|
|
11
1031
|
let deferred2_1;
|
|
12
1032
|
try {
|
|
13
1033
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
14
|
-
const ptr0 = passArray8ToWasm0(data, wasm.
|
|
1034
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
15
1035
|
const len0 = WASM_VECTOR_LEN;
|
|
16
1036
|
wasm.geotiff_info(retptr, ptr0, len0);
|
|
17
1037
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
@@ -21,19 +1041,41 @@ export function geotiff_info(data) {
|
|
|
21
1041
|
return getStringFromWasm0(r0, r1);
|
|
22
1042
|
} finally {
|
|
23
1043
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
24
|
-
wasm.
|
|
1044
|
+
wasm.__wbindgen_export(deferred2_0, deferred2_1, 1);
|
|
25
1045
|
}
|
|
26
1046
|
}
|
|
27
1047
|
|
|
28
1048
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1049
|
+
* Read a single band of pixel values as an `f64` `Float64Array` (any on-disk
|
|
1050
|
+
* sample format is converted), row-major, length `width * height`.
|
|
1051
|
+
* @param {Uint8Array} data
|
|
1052
|
+
* @param {number} band
|
|
1053
|
+
* @returns {Float64Array}
|
|
1054
|
+
*/
|
|
1055
|
+
export function geotiff_read_band_f64(data, band) {
|
|
1056
|
+
try {
|
|
1057
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1058
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1059
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1060
|
+
wasm.geotiff_read_band_f64(retptr, ptr0, len0, band);
|
|
1061
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1062
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1063
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1064
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1065
|
+
if (r3) {
|
|
1066
|
+
throw takeObject(r2);
|
|
1067
|
+
}
|
|
1068
|
+
var v2 = getArrayF64FromWasm0(r0, r1).slice();
|
|
1069
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
1070
|
+
return v2;
|
|
1071
|
+
} finally {
|
|
1072
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
/**
|
|
1077
|
+
* Decode a GeoTIFF and return band-0 summary statistics as JSON:
|
|
1078
|
+
* `{"ok":true,"width","height","bands","epsg","valid","min","max","mean"}`.
|
|
37
1079
|
* @param {Uint8Array} data
|
|
38
1080
|
* @returns {string}
|
|
39
1081
|
*/
|
|
@@ -42,7 +1084,7 @@ export function geotiff_stats(data) {
|
|
|
42
1084
|
let deferred2_1;
|
|
43
1085
|
try {
|
|
44
1086
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
45
|
-
const ptr0 = passArray8ToWasm0(data, wasm.
|
|
1087
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
46
1088
|
const len0 = WASM_VECTOR_LEN;
|
|
47
1089
|
wasm.geotiff_stats(retptr, ptr0, len0);
|
|
48
1090
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
@@ -52,7 +1094,333 @@ export function geotiff_stats(data) {
|
|
|
52
1094
|
return getStringFromWasm0(r0, r1);
|
|
53
1095
|
} finally {
|
|
54
1096
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
55
|
-
wasm.
|
|
1097
|
+
wasm.__wbindgen_export(deferred2_0, deferred2_1, 1);
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* LiDAR formats this build can read from memory.
|
|
1103
|
+
* @returns {string}
|
|
1104
|
+
*/
|
|
1105
|
+
export function lidar_formats() {
|
|
1106
|
+
let deferred1_0;
|
|
1107
|
+
let deferred1_1;
|
|
1108
|
+
try {
|
|
1109
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1110
|
+
wasm.lidar_formats(retptr);
|
|
1111
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1112
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1113
|
+
deferred1_0 = r0;
|
|
1114
|
+
deferred1_1 = r1;
|
|
1115
|
+
return getStringFromWasm0(r0, r1);
|
|
1116
|
+
} finally {
|
|
1117
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1118
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Read a LiDAR file's metadata as JSON without loading all points where
|
|
1124
|
+
* possible (LAS/LAZ report count and bounds from the header):
|
|
1125
|
+
* `{"ok":true,"format","points","epsg"|null,"point_format"|null,
|
|
1126
|
+
* "bounds":[min_x,min_y,min_z,max_x,max_y,max_z]|null}`.
|
|
1127
|
+
* @param {Uint8Array} data
|
|
1128
|
+
* @param {string} format
|
|
1129
|
+
* @returns {string}
|
|
1130
|
+
*/
|
|
1131
|
+
export function lidar_info(data, format) {
|
|
1132
|
+
let deferred4_0;
|
|
1133
|
+
let deferred4_1;
|
|
1134
|
+
try {
|
|
1135
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1136
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1137
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1138
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1139
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1140
|
+
wasm.lidar_info(retptr, ptr0, len0, ptr1, len1);
|
|
1141
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1142
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1143
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1144
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1145
|
+
var ptr3 = r0;
|
|
1146
|
+
var len3 = r1;
|
|
1147
|
+
if (r3) {
|
|
1148
|
+
ptr3 = 0; len3 = 0;
|
|
1149
|
+
throw takeObject(r2);
|
|
1150
|
+
}
|
|
1151
|
+
deferred4_0 = ptr3;
|
|
1152
|
+
deferred4_1 = len3;
|
|
1153
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1154
|
+
} finally {
|
|
1155
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1156
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
/**
|
|
1161
|
+
* Read per-point classification codes as a `Uint8Array` (length `point_count`).
|
|
1162
|
+
* @param {Uint8Array} data
|
|
1163
|
+
* @param {string} format
|
|
1164
|
+
* @returns {Uint8Array}
|
|
1165
|
+
*/
|
|
1166
|
+
export function lidar_read_classification(data, format) {
|
|
1167
|
+
try {
|
|
1168
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1169
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1170
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1171
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1172
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1173
|
+
wasm.lidar_read_classification(retptr, ptr0, len0, ptr1, len1);
|
|
1174
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1175
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1176
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1177
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1178
|
+
if (r3) {
|
|
1179
|
+
throw takeObject(r2);
|
|
1180
|
+
}
|
|
1181
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1182
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
1183
|
+
return v3;
|
|
1184
|
+
} finally {
|
|
1185
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
/**
|
|
1190
|
+
* Read per-point intensity as a `Uint16Array` (length `point_count`).
|
|
1191
|
+
* @param {Uint8Array} data
|
|
1192
|
+
* @param {string} format
|
|
1193
|
+
* @returns {Uint16Array}
|
|
1194
|
+
*/
|
|
1195
|
+
export function lidar_read_intensity(data, format) {
|
|
1196
|
+
try {
|
|
1197
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1198
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1199
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1200
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1201
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1202
|
+
wasm.lidar_read_intensity(retptr, ptr0, len0, ptr1, len1);
|
|
1203
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1204
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1205
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1206
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1207
|
+
if (r3) {
|
|
1208
|
+
throw takeObject(r2);
|
|
1209
|
+
}
|
|
1210
|
+
var v3 = getArrayU16FromWasm0(r0, r1).slice();
|
|
1211
|
+
wasm.__wbindgen_export(r0, r1 * 2, 2);
|
|
1212
|
+
return v3;
|
|
1213
|
+
} finally {
|
|
1214
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Read all point coordinates as an interleaved `Float64Array`
|
|
1220
|
+
* `[x0,y0,z0, x1,y1,z1, ...]` (length `3 * point_count`).
|
|
1221
|
+
*
|
|
1222
|
+
* Guarded against 32-bit memory blowup; very large clouds return a clean error
|
|
1223
|
+
* (read the header with `lidar_info`, or downsample on your side).
|
|
1224
|
+
* @param {Uint8Array} data
|
|
1225
|
+
* @param {string} format
|
|
1226
|
+
* @returns {Float64Array}
|
|
1227
|
+
*/
|
|
1228
|
+
export function lidar_read_xyz(data, format) {
|
|
1229
|
+
try {
|
|
1230
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1231
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1232
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1233
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1234
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1235
|
+
wasm.lidar_read_xyz(retptr, ptr0, len0, ptr1, len1);
|
|
1236
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1237
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1238
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1239
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1240
|
+
if (r3) {
|
|
1241
|
+
throw takeObject(r2);
|
|
1242
|
+
}
|
|
1243
|
+
var v3 = getArrayF64FromWasm0(r0, r1).slice();
|
|
1244
|
+
wasm.__wbindgen_export(r0, r1 * 8, 8);
|
|
1245
|
+
return v3;
|
|
1246
|
+
} finally {
|
|
1247
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
/**
|
|
1252
|
+
* Global Moran's I spatial autocorrelation for point data, using a binary
|
|
1253
|
+
* distance-band spatial weights matrix (neighbors within `distance_threshold`).
|
|
1254
|
+
*
|
|
1255
|
+
* `points_xy` is `[x0,y0,...]`, `values` is one value per point. Returns JSON:
|
|
1256
|
+
* `{"ok":true,"morans_i","expected","variance","z_score","p_value","n"}`.
|
|
1257
|
+
*
|
|
1258
|
+
* Builds neighbors in O(n^2); intended for up to a few thousand points.
|
|
1259
|
+
* @param {Float64Array} points_xy
|
|
1260
|
+
* @param {Float64Array} values
|
|
1261
|
+
* @param {number} distance_threshold
|
|
1262
|
+
* @returns {string}
|
|
1263
|
+
*/
|
|
1264
|
+
export function morans_i(points_xy, values, distance_threshold) {
|
|
1265
|
+
let deferred4_0;
|
|
1266
|
+
let deferred4_1;
|
|
1267
|
+
try {
|
|
1268
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1269
|
+
const ptr0 = passArrayF64ToWasm0(points_xy, wasm.__wbindgen_export2);
|
|
1270
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1271
|
+
const ptr1 = passArrayF64ToWasm0(values, wasm.__wbindgen_export2);
|
|
1272
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1273
|
+
wasm.morans_i(retptr, ptr0, len0, ptr1, len1, distance_threshold);
|
|
1274
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1275
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1276
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1277
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1278
|
+
var ptr3 = r0;
|
|
1279
|
+
var len3 = r1;
|
|
1280
|
+
if (r3) {
|
|
1281
|
+
ptr3 = 0; len3 = 0;
|
|
1282
|
+
throw takeObject(r2);
|
|
1283
|
+
}
|
|
1284
|
+
deferred4_0 = ptr3;
|
|
1285
|
+
deferred4_1 = len3;
|
|
1286
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1287
|
+
} finally {
|
|
1288
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1289
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
/**
|
|
1294
|
+
* Vector formats this build can read from memory (comma-separated).
|
|
1295
|
+
* @returns {string}
|
|
1296
|
+
*/
|
|
1297
|
+
export function vector_formats() {
|
|
1298
|
+
let deferred1_0;
|
|
1299
|
+
let deferred1_1;
|
|
1300
|
+
try {
|
|
1301
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1302
|
+
wasm.vector_formats(retptr);
|
|
1303
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1304
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1305
|
+
deferred1_0 = r0;
|
|
1306
|
+
deferred1_1 = r1;
|
|
1307
|
+
return getStringFromWasm0(r0, r1);
|
|
1308
|
+
} finally {
|
|
1309
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1310
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* Read a vector dataset and return metadata as JSON:
|
|
1316
|
+
* `{"ok":true,"name","features","geometry","epsg"|null,"fields":[...],
|
|
1317
|
+
* "bbox":[min_x,min_y,max_x,max_y]|null}`.
|
|
1318
|
+
* @param {Uint8Array} data
|
|
1319
|
+
* @param {string} format
|
|
1320
|
+
* @returns {string}
|
|
1321
|
+
*/
|
|
1322
|
+
export function vector_info(data, format) {
|
|
1323
|
+
let deferred4_0;
|
|
1324
|
+
let deferred4_1;
|
|
1325
|
+
try {
|
|
1326
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1327
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1328
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1329
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1330
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1331
|
+
wasm.vector_info(retptr, ptr0, len0, ptr1, len1);
|
|
1332
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1333
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1334
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1335
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1336
|
+
var ptr3 = r0;
|
|
1337
|
+
var len3 = r1;
|
|
1338
|
+
if (r3) {
|
|
1339
|
+
ptr3 = 0; len3 = 0;
|
|
1340
|
+
throw takeObject(r2);
|
|
1341
|
+
}
|
|
1342
|
+
deferred4_0 = ptr3;
|
|
1343
|
+
deferred4_1 = len3;
|
|
1344
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1345
|
+
} finally {
|
|
1346
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1347
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
/**
|
|
1352
|
+
* Read a vector dataset and return it as a GeoJSON `FeatureCollection` string.
|
|
1353
|
+
* @param {Uint8Array} data
|
|
1354
|
+
* @param {string} format
|
|
1355
|
+
* @returns {string}
|
|
1356
|
+
*/
|
|
1357
|
+
export function vector_to_geojson(data, format) {
|
|
1358
|
+
let deferred4_0;
|
|
1359
|
+
let deferred4_1;
|
|
1360
|
+
try {
|
|
1361
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1362
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1363
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1364
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1365
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1366
|
+
wasm.vector_to_geojson(retptr, ptr0, len0, ptr1, len1);
|
|
1367
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1368
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1369
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1370
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1371
|
+
var ptr3 = r0;
|
|
1372
|
+
var len3 = r1;
|
|
1373
|
+
if (r3) {
|
|
1374
|
+
ptr3 = 0; len3 = 0;
|
|
1375
|
+
throw takeObject(r2);
|
|
1376
|
+
}
|
|
1377
|
+
deferred4_0 = ptr3;
|
|
1378
|
+
deferred4_1 = len3;
|
|
1379
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1380
|
+
} finally {
|
|
1381
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1382
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
/**
|
|
1387
|
+
* Read a vector dataset, reproject it to `dst_epsg`, and return GeoJSON.
|
|
1388
|
+
* Uses the bundled pure-Rust projection engine (full EPSG support).
|
|
1389
|
+
*
|
|
1390
|
+
* `src_epsg` overrides the source CRS: pass `0` to use the layer's own CRS, or
|
|
1391
|
+
* fall back to EPSG:4326 if it declares none (GeoJSON is WGS84 by RFC 7946).
|
|
1392
|
+
* @param {Uint8Array} data
|
|
1393
|
+
* @param {string} format
|
|
1394
|
+
* @param {number} dst_epsg
|
|
1395
|
+
* @param {number} src_epsg
|
|
1396
|
+
* @returns {string}
|
|
1397
|
+
*/
|
|
1398
|
+
export function vector_to_geojson_reproject(data, format, dst_epsg, src_epsg) {
|
|
1399
|
+
let deferred4_0;
|
|
1400
|
+
let deferred4_1;
|
|
1401
|
+
try {
|
|
1402
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1403
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export2);
|
|
1404
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1405
|
+
const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1406
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1407
|
+
wasm.vector_to_geojson_reproject(retptr, ptr0, len0, ptr1, len1, dst_epsg, src_epsg);
|
|
1408
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1409
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1410
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1411
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1412
|
+
var ptr3 = r0;
|
|
1413
|
+
var len3 = r1;
|
|
1414
|
+
if (r3) {
|
|
1415
|
+
ptr3 = 0; len3 = 0;
|
|
1416
|
+
throw takeObject(r2);
|
|
1417
|
+
}
|
|
1418
|
+
deferred4_0 = ptr3;
|
|
1419
|
+
deferred4_1 = len3;
|
|
1420
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1421
|
+
} finally {
|
|
1422
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1423
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
56
1424
|
}
|
|
57
1425
|
}
|
|
58
1426
|
|
|
@@ -73,12 +1441,45 @@ export function version() {
|
|
|
73
1441
|
return getStringFromWasm0(r0, r1);
|
|
74
1442
|
} finally {
|
|
75
1443
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
76
|
-
wasm.
|
|
1444
|
+
wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
|
|
77
1445
|
}
|
|
78
1446
|
}
|
|
79
1447
|
function __wbg_get_imports() {
|
|
80
1448
|
const import0 = {
|
|
81
1449
|
__proto__: null,
|
|
1450
|
+
__wbg___wbindgen_throw_ea4887a5f8f9a9db: function(arg0, arg1) {
|
|
1451
|
+
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
1452
|
+
},
|
|
1453
|
+
__wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
|
|
1454
|
+
let deferred0_0;
|
|
1455
|
+
let deferred0_1;
|
|
1456
|
+
try {
|
|
1457
|
+
deferred0_0 = arg0;
|
|
1458
|
+
deferred0_1 = arg1;
|
|
1459
|
+
console.error(getStringFromWasm0(arg0, arg1));
|
|
1460
|
+
} finally {
|
|
1461
|
+
wasm.__wbindgen_export(deferred0_0, deferred0_1, 1);
|
|
1462
|
+
}
|
|
1463
|
+
},
|
|
1464
|
+
__wbg_new_227d7c05414eb861: function() {
|
|
1465
|
+
const ret = new Error();
|
|
1466
|
+
return addHeapObject(ret);
|
|
1467
|
+
},
|
|
1468
|
+
__wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
|
|
1469
|
+
const ret = getObject(arg1).stack;
|
|
1470
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
1471
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1472
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
1473
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
1474
|
+
},
|
|
1475
|
+
__wbindgen_cast_0000000000000001: function(arg0, arg1) {
|
|
1476
|
+
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
1477
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
1478
|
+
return addHeapObject(ret);
|
|
1479
|
+
},
|
|
1480
|
+
__wbindgen_object_drop_ref: function(arg0) {
|
|
1481
|
+
takeObject(arg0);
|
|
1482
|
+
},
|
|
82
1483
|
};
|
|
83
1484
|
return {
|
|
84
1485
|
__proto__: null,
|
|
@@ -86,6 +1487,71 @@ function __wbg_get_imports() {
|
|
|
86
1487
|
};
|
|
87
1488
|
}
|
|
88
1489
|
|
|
1490
|
+
const CogBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1491
|
+
? { register: () => {}, unregister: () => {} }
|
|
1492
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_cogbuilder_free(ptr, 1));
|
|
1493
|
+
const CogStreamFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1494
|
+
? { register: () => {}, unregister: () => {} }
|
|
1495
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_cogstream_free(ptr, 1));
|
|
1496
|
+
const GeoTiffReaderFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1497
|
+
? { register: () => {}, unregister: () => {} }
|
|
1498
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_geotiffreader_free(ptr, 1));
|
|
1499
|
+
|
|
1500
|
+
function addHeapObject(obj) {
|
|
1501
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
1502
|
+
const idx = heap_next;
|
|
1503
|
+
heap_next = heap[idx];
|
|
1504
|
+
|
|
1505
|
+
heap[idx] = obj;
|
|
1506
|
+
return idx;
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
function dropObject(idx) {
|
|
1510
|
+
if (idx < 1028) return;
|
|
1511
|
+
heap[idx] = heap_next;
|
|
1512
|
+
heap_next = idx;
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
function getArrayF32FromWasm0(ptr, len) {
|
|
1516
|
+
ptr = ptr >>> 0;
|
|
1517
|
+
return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
function getArrayF64FromWasm0(ptr, len) {
|
|
1521
|
+
ptr = ptr >>> 0;
|
|
1522
|
+
return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
|
|
1523
|
+
}
|
|
1524
|
+
|
|
1525
|
+
function getArrayI16FromWasm0(ptr, len) {
|
|
1526
|
+
ptr = ptr >>> 0;
|
|
1527
|
+
return getInt16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
function getArrayI32FromWasm0(ptr, len) {
|
|
1531
|
+
ptr = ptr >>> 0;
|
|
1532
|
+
return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
function getArrayI8FromWasm0(ptr, len) {
|
|
1536
|
+
ptr = ptr >>> 0;
|
|
1537
|
+
return getInt8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
function getArrayU16FromWasm0(ptr, len) {
|
|
1541
|
+
ptr = ptr >>> 0;
|
|
1542
|
+
return getUint16ArrayMemory0().subarray(ptr / 2, ptr / 2 + len);
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
function getArrayU32FromWasm0(ptr, len) {
|
|
1546
|
+
ptr = ptr >>> 0;
|
|
1547
|
+
return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
1551
|
+
ptr = ptr >>> 0;
|
|
1552
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
1553
|
+
}
|
|
1554
|
+
|
|
89
1555
|
let cachedDataViewMemory0 = null;
|
|
90
1556
|
function getDataViewMemory0() {
|
|
91
1557
|
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
@@ -94,10 +1560,66 @@ function getDataViewMemory0() {
|
|
|
94
1560
|
return cachedDataViewMemory0;
|
|
95
1561
|
}
|
|
96
1562
|
|
|
1563
|
+
let cachedFloat32ArrayMemory0 = null;
|
|
1564
|
+
function getFloat32ArrayMemory0() {
|
|
1565
|
+
if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {
|
|
1566
|
+
cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);
|
|
1567
|
+
}
|
|
1568
|
+
return cachedFloat32ArrayMemory0;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
let cachedFloat64ArrayMemory0 = null;
|
|
1572
|
+
function getFloat64ArrayMemory0() {
|
|
1573
|
+
if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {
|
|
1574
|
+
cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);
|
|
1575
|
+
}
|
|
1576
|
+
return cachedFloat64ArrayMemory0;
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
let cachedInt16ArrayMemory0 = null;
|
|
1580
|
+
function getInt16ArrayMemory0() {
|
|
1581
|
+
if (cachedInt16ArrayMemory0 === null || cachedInt16ArrayMemory0.byteLength === 0) {
|
|
1582
|
+
cachedInt16ArrayMemory0 = new Int16Array(wasm.memory.buffer);
|
|
1583
|
+
}
|
|
1584
|
+
return cachedInt16ArrayMemory0;
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
let cachedInt32ArrayMemory0 = null;
|
|
1588
|
+
function getInt32ArrayMemory0() {
|
|
1589
|
+
if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {
|
|
1590
|
+
cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);
|
|
1591
|
+
}
|
|
1592
|
+
return cachedInt32ArrayMemory0;
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
let cachedInt8ArrayMemory0 = null;
|
|
1596
|
+
function getInt8ArrayMemory0() {
|
|
1597
|
+
if (cachedInt8ArrayMemory0 === null || cachedInt8ArrayMemory0.byteLength === 0) {
|
|
1598
|
+
cachedInt8ArrayMemory0 = new Int8Array(wasm.memory.buffer);
|
|
1599
|
+
}
|
|
1600
|
+
return cachedInt8ArrayMemory0;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
97
1603
|
function getStringFromWasm0(ptr, len) {
|
|
98
1604
|
return decodeText(ptr >>> 0, len);
|
|
99
1605
|
}
|
|
100
1606
|
|
|
1607
|
+
let cachedUint16ArrayMemory0 = null;
|
|
1608
|
+
function getUint16ArrayMemory0() {
|
|
1609
|
+
if (cachedUint16ArrayMemory0 === null || cachedUint16ArrayMemory0.byteLength === 0) {
|
|
1610
|
+
cachedUint16ArrayMemory0 = new Uint16Array(wasm.memory.buffer);
|
|
1611
|
+
}
|
|
1612
|
+
return cachedUint16ArrayMemory0;
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
let cachedUint32ArrayMemory0 = null;
|
|
1616
|
+
function getUint32ArrayMemory0() {
|
|
1617
|
+
if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
|
|
1618
|
+
cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
|
|
1619
|
+
}
|
|
1620
|
+
return cachedUint32ArrayMemory0;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
101
1623
|
let cachedUint8ArrayMemory0 = null;
|
|
102
1624
|
function getUint8ArrayMemory0() {
|
|
103
1625
|
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
@@ -106,6 +1628,20 @@ function getUint8ArrayMemory0() {
|
|
|
106
1628
|
return cachedUint8ArrayMemory0;
|
|
107
1629
|
}
|
|
108
1630
|
|
|
1631
|
+
function getObject(idx) { return heap[idx]; }
|
|
1632
|
+
|
|
1633
|
+
let heap = new Array(1024).fill(undefined);
|
|
1634
|
+
heap.push(undefined, null, true, false);
|
|
1635
|
+
|
|
1636
|
+
let heap_next = heap.length;
|
|
1637
|
+
|
|
1638
|
+
function passArray32ToWasm0(arg, malloc) {
|
|
1639
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
1640
|
+
getUint32ArrayMemory0().set(arg, ptr / 4);
|
|
1641
|
+
WASM_VECTOR_LEN = arg.length;
|
|
1642
|
+
return ptr;
|
|
1643
|
+
}
|
|
1644
|
+
|
|
109
1645
|
function passArray8ToWasm0(arg, malloc) {
|
|
110
1646
|
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
|
111
1647
|
getUint8ArrayMemory0().set(arg, ptr / 1);
|
|
@@ -113,6 +1649,63 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
113
1649
|
return ptr;
|
|
114
1650
|
}
|
|
115
1651
|
|
|
1652
|
+
function passArrayF32ToWasm0(arg, malloc) {
|
|
1653
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
1654
|
+
getFloat32ArrayMemory0().set(arg, ptr / 4);
|
|
1655
|
+
WASM_VECTOR_LEN = arg.length;
|
|
1656
|
+
return ptr;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
function passArrayF64ToWasm0(arg, malloc) {
|
|
1660
|
+
const ptr = malloc(arg.length * 8, 8) >>> 0;
|
|
1661
|
+
getFloat64ArrayMemory0().set(arg, ptr / 8);
|
|
1662
|
+
WASM_VECTOR_LEN = arg.length;
|
|
1663
|
+
return ptr;
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
1667
|
+
if (realloc === undefined) {
|
|
1668
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
1669
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
1670
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
1671
|
+
WASM_VECTOR_LEN = buf.length;
|
|
1672
|
+
return ptr;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
let len = arg.length;
|
|
1676
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
1677
|
+
|
|
1678
|
+
const mem = getUint8ArrayMemory0();
|
|
1679
|
+
|
|
1680
|
+
let offset = 0;
|
|
1681
|
+
|
|
1682
|
+
for (; offset < len; offset++) {
|
|
1683
|
+
const code = arg.charCodeAt(offset);
|
|
1684
|
+
if (code > 0x7F) break;
|
|
1685
|
+
mem[ptr + offset] = code;
|
|
1686
|
+
}
|
|
1687
|
+
if (offset !== len) {
|
|
1688
|
+
if (offset !== 0) {
|
|
1689
|
+
arg = arg.slice(offset);
|
|
1690
|
+
}
|
|
1691
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
1692
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
1693
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
1694
|
+
|
|
1695
|
+
offset += ret.written;
|
|
1696
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
WASM_VECTOR_LEN = offset;
|
|
1700
|
+
return ptr;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
function takeObject(idx) {
|
|
1704
|
+
const ret = getObject(idx);
|
|
1705
|
+
dropObject(idx);
|
|
1706
|
+
return ret;
|
|
1707
|
+
}
|
|
1708
|
+
|
|
116
1709
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
117
1710
|
cachedTextDecoder.decode();
|
|
118
1711
|
const MAX_SAFARI_DECODE_BYTES = 2146435072;
|
|
@@ -127,6 +1720,19 @@ function decodeText(ptr, len) {
|
|
|
127
1720
|
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
128
1721
|
}
|
|
129
1722
|
|
|
1723
|
+
const cachedTextEncoder = new TextEncoder();
|
|
1724
|
+
|
|
1725
|
+
if (!('encodeInto' in cachedTextEncoder)) {
|
|
1726
|
+
cachedTextEncoder.encodeInto = function (arg, view) {
|
|
1727
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
1728
|
+
view.set(buf);
|
|
1729
|
+
return {
|
|
1730
|
+
read: arg.length,
|
|
1731
|
+
written: buf.length
|
|
1732
|
+
};
|
|
1733
|
+
};
|
|
1734
|
+
}
|
|
1735
|
+
|
|
130
1736
|
let WASM_VECTOR_LEN = 0;
|
|
131
1737
|
|
|
132
1738
|
let wasmModule, wasmInstance, wasm;
|
|
@@ -135,7 +1741,15 @@ function __wbg_finalize_init(instance, module) {
|
|
|
135
1741
|
wasm = instance.exports;
|
|
136
1742
|
wasmModule = module;
|
|
137
1743
|
cachedDataViewMemory0 = null;
|
|
1744
|
+
cachedFloat32ArrayMemory0 = null;
|
|
1745
|
+
cachedFloat64ArrayMemory0 = null;
|
|
1746
|
+
cachedInt16ArrayMemory0 = null;
|
|
1747
|
+
cachedInt32ArrayMemory0 = null;
|
|
1748
|
+
cachedInt8ArrayMemory0 = null;
|
|
1749
|
+
cachedUint16ArrayMemory0 = null;
|
|
1750
|
+
cachedUint32ArrayMemory0 = null;
|
|
138
1751
|
cachedUint8ArrayMemory0 = null;
|
|
1752
|
+
wasm.__wbindgen_start();
|
|
139
1753
|
return wasm;
|
|
140
1754
|
}
|
|
141
1755
|
|