@loaders.gl/flatgeobuf 4.2.0-alpha.4 → 4.2.0-alpha.5
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/dist.dev.js +286 -241
- package/dist/dist.min.js +30 -0
- package/dist/flatgeobuf/3.27.2/column-meta.d.ts +1 -1
- package/dist/flatgeobuf/3.27.2/column-meta.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/column-meta.js +1 -2
- package/dist/flatgeobuf/3.27.2/config.js +16 -13
- package/dist/flatgeobuf/3.27.2/constants.js +3 -2
- package/dist/flatgeobuf/3.27.2/crs-meta.js +1 -2
- package/dist/flatgeobuf/3.27.2/dumptree.js +28 -23
- package/dist/flatgeobuf/3.27.2/feature.d.ts +1 -1
- package/dist/flatgeobuf/3.27.2/feature.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/feature.js +2 -3
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column-type.js +19 -19
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column.d.ts +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column.js +117 -117
- package/dist/flatgeobuf/3.27.2/flat-geobuf/crs.js +76 -76
- package/dist/flatgeobuf/3.27.2/flat-geobuf/feature.d.ts +2 -2
- package/dist/flatgeobuf/3.27.2/flat-geobuf/feature.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/feature.js +96 -90
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry-type.js +22 -22
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry.d.ts +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry.js +224 -210
- package/dist/flatgeobuf/3.27.2/flat-geobuf/header.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/flat-geobuf/header.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/header.js +166 -160
- package/dist/flatgeobuf/3.27.2/flat-geobuf.d.ts +5 -5
- package/dist/flatgeobuf/3.27.2/flat-geobuf.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf.js +1 -1
- package/dist/flatgeobuf/3.27.2/generic/feature.d.ts +4 -4
- package/dist/flatgeobuf/3.27.2/generic/feature.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic/feature.js +195 -205
- package/dist/flatgeobuf/3.27.2/generic/featurecollection.d.ts +6 -6
- package/dist/flatgeobuf/3.27.2/generic/featurecollection.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic/featurecollection.js +150 -128
- package/dist/flatgeobuf/3.27.2/generic/geometry.d.ts +2 -2
- package/dist/flatgeobuf/3.27.2/generic/geometry.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic/geometry.js +78 -66
- package/dist/flatgeobuf/3.27.2/generic/header.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/generic/header.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic/header.js +18 -18
- package/dist/flatgeobuf/3.27.2/generic/index.d.ts +4 -4
- package/dist/flatgeobuf/3.27.2/generic/index.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic/index.js +2 -1
- package/dist/flatgeobuf/3.27.2/generic.d.ts +7 -7
- package/dist/flatgeobuf/3.27.2/generic.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/generic.js +11 -3
- package/dist/flatgeobuf/3.27.2/geojson/feature.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/geojson/feature.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/geojson/feature.js +8 -9
- package/dist/flatgeobuf/3.27.2/geojson/featurecollection.d.ts +2 -2
- package/dist/flatgeobuf/3.27.2/geojson/featurecollection.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/geojson/featurecollection.js +40 -38
- package/dist/flatgeobuf/3.27.2/geojson/geometry.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/geojson/geometry.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/geojson/geometry.js +107 -103
- package/dist/flatgeobuf/3.27.2/geojson/index.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/geojson/index.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/geojson/index.js +2 -1
- package/dist/flatgeobuf/3.27.2/geojson.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/geojson.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/geojson.js +17 -5
- package/dist/flatgeobuf/3.27.2/header-meta.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/header-meta.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/header-meta.js +46 -43
- package/dist/flatgeobuf/3.27.2/header.d.ts +1 -1
- package/dist/flatgeobuf/3.27.2/header.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/header.js +2 -3
- package/dist/flatgeobuf/3.27.2/http-reader.d.ts +3 -3
- package/dist/flatgeobuf/3.27.2/http-reader.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/http-reader.js +235 -171
- package/dist/flatgeobuf/3.27.2/index.d.ts +13 -13
- package/dist/flatgeobuf/3.27.2/index.d.ts.map +1 -1
- package/dist/flatgeobuf/3.27.2/index.js +5 -13
- package/dist/flatgeobuf/3.27.2/logger.js +37 -56
- package/dist/flatgeobuf/3.27.2/packedrtree.js +174 -123
- package/dist/flatgeobuf/3.27.2/streams/utils.js +59 -58
- package/dist/flatgeobuf-loader.js +28 -22
- package/dist/index.cjs +175 -199
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/lib/binary-geometries.js +115 -117
- package/dist/lib/get-schema-from-fgb-header.js +110 -85
- package/dist/lib/parse-flatgeobuf.d.ts +1 -1
- package/dist/lib/parse-flatgeobuf.d.ts.map +1 -1
- package/dist/lib/parse-flatgeobuf.js +125 -109
- package/dist/workers/flatgeobuf-worker.js +3 -1
- package/package.json +10 -6
- package/src/flatgeobuf/3.27.2/.DS_Store +0 -0
- package/dist/LICENSE +0 -9
- package/dist/flatgeobuf/3.27.2/LICENSE +0 -29
- package/dist/flatgeobuf/3.27.2/README.md +0 -45
- package/dist/flatgeobuf/3.27.2/column-meta.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/config.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/constants.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/crs-meta.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/dumptree.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/feature.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column-type.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/column.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/crs.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/feature.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry-type.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/geometry.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf/header.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/flat-geobuf.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic/feature.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic/featurecollection.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic/geometry.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic/header.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic/index.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/generic.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/geojson/feature.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/geojson/featurecollection.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/geojson/geometry.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/geojson/index.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/geojson.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/header-meta.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/header.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/http-reader.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/index.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/logger.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/packedrtree.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/streams/utils.js.map +0 -1
- package/dist/flatgeobuf/3.27.2/types/jsts.d.ts +0 -23
- package/dist/flatgeobuf/3.27.2/types/slice.d.ts +0 -16
- package/dist/flatgeobuf-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/binary-geometries.js.map +0 -1
- package/dist/lib/get-schema-from-fgb-header.js.map +0 -1
- package/dist/lib/parse-flatgeobuf.js.map +0 -1
- package/dist/workers/flatgeobuf-worker.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -27,19 +27,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
//
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
30
|
+
// dist/index.js
|
|
31
|
+
var dist_exports = {};
|
|
32
|
+
__export(dist_exports, {
|
|
33
33
|
FlatGeobufLoader: () => FlatGeobufLoader,
|
|
34
34
|
FlatGeobufWorkerLoader: () => FlatGeobufWorkerLoader
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
36
|
+
module.exports = __toCommonJS(dist_exports);
|
|
37
37
|
|
|
38
|
-
//
|
|
38
|
+
// dist/lib/parse-flatgeobuf.js
|
|
39
39
|
var import_proj4 = require("@math.gl/proj4");
|
|
40
40
|
var import_gis = require("@loaders.gl/gis");
|
|
41
41
|
|
|
42
|
-
//
|
|
42
|
+
// dist/lib/binary-geometries.js
|
|
43
43
|
function fgbToBinaryGeometry(geometry, type) {
|
|
44
44
|
if (geometry === null) {
|
|
45
45
|
return null;
|
|
@@ -150,7 +150,7 @@ function blitArrays(xy, z) {
|
|
|
150
150
|
return { value: xyz, size: 3 };
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
//
|
|
153
|
+
// dist/lib/get-schema-from-fgb-header.js
|
|
154
154
|
function getSchemaFromFGBHeader(fgbHeader) {
|
|
155
155
|
var _a, _b;
|
|
156
156
|
const metadata = {
|
|
@@ -183,45 +183,64 @@ function getFieldFromFGBColumn(fgbColumn) {
|
|
|
183
183
|
metadata
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
+
var fgbColumnType;
|
|
187
|
+
(function(fgbColumnType2) {
|
|
188
|
+
fgbColumnType2[fgbColumnType2["Byte"] = 0] = "Byte";
|
|
189
|
+
fgbColumnType2[fgbColumnType2["UByte"] = 1] = "UByte";
|
|
190
|
+
fgbColumnType2[fgbColumnType2["Bool"] = 2] = "Bool";
|
|
191
|
+
fgbColumnType2[fgbColumnType2["Short"] = 3] = "Short";
|
|
192
|
+
fgbColumnType2[fgbColumnType2["UShort"] = 4] = "UShort";
|
|
193
|
+
fgbColumnType2[fgbColumnType2["Int"] = 5] = "Int";
|
|
194
|
+
fgbColumnType2[fgbColumnType2["UInt"] = 6] = "UInt";
|
|
195
|
+
fgbColumnType2[fgbColumnType2["Long"] = 7] = "Long";
|
|
196
|
+
fgbColumnType2[fgbColumnType2["ULong"] = 8] = "ULong";
|
|
197
|
+
fgbColumnType2[fgbColumnType2["Float"] = 9] = "Float";
|
|
198
|
+
fgbColumnType2[fgbColumnType2["Double"] = 10] = "Double";
|
|
199
|
+
fgbColumnType2[fgbColumnType2["String"] = 11] = "String";
|
|
200
|
+
fgbColumnType2[fgbColumnType2["Json"] = 12] = "Json";
|
|
201
|
+
fgbColumnType2[fgbColumnType2["DateTime"] = 13] = "DateTime";
|
|
202
|
+
fgbColumnType2[fgbColumnType2["Binary"] = 14] = "Binary";
|
|
203
|
+
})(fgbColumnType || (fgbColumnType = {}));
|
|
186
204
|
function getTypeFromFGBType(fgbType) {
|
|
187
205
|
switch (fgbType) {
|
|
188
|
-
case
|
|
206
|
+
case fgbColumnType.Byte:
|
|
189
207
|
return "int8";
|
|
190
|
-
case
|
|
208
|
+
case fgbColumnType.UByte:
|
|
191
209
|
return "uint8";
|
|
192
|
-
case
|
|
210
|
+
case fgbColumnType.Bool:
|
|
193
211
|
return "bool";
|
|
194
|
-
case
|
|
212
|
+
case fgbColumnType.Short:
|
|
195
213
|
return "int16";
|
|
196
|
-
case
|
|
214
|
+
case fgbColumnType.UShort:
|
|
197
215
|
return "uint16";
|
|
198
|
-
case
|
|
216
|
+
case fgbColumnType.Int:
|
|
199
217
|
return "int32";
|
|
200
|
-
case
|
|
218
|
+
case fgbColumnType.UInt:
|
|
201
219
|
return "uint32";
|
|
202
|
-
case
|
|
220
|
+
case fgbColumnType.Long:
|
|
203
221
|
return "int64";
|
|
204
|
-
case
|
|
222
|
+
case fgbColumnType.ULong:
|
|
205
223
|
return "uint64";
|
|
206
|
-
case
|
|
224
|
+
case fgbColumnType.Float:
|
|
207
225
|
return "float32";
|
|
208
|
-
case
|
|
226
|
+
case fgbColumnType.Double:
|
|
209
227
|
return "float64";
|
|
210
|
-
case
|
|
228
|
+
case fgbColumnType.String:
|
|
211
229
|
return "utf8";
|
|
212
|
-
case
|
|
230
|
+
case fgbColumnType.Json:
|
|
213
231
|
return "null";
|
|
214
|
-
case
|
|
232
|
+
case fgbColumnType.DateTime:
|
|
215
233
|
return "date-millisecond";
|
|
216
|
-
case
|
|
234
|
+
case fgbColumnType.Binary:
|
|
217
235
|
return "binary";
|
|
218
236
|
default:
|
|
219
237
|
return "null";
|
|
220
238
|
}
|
|
221
239
|
}
|
|
222
240
|
|
|
223
|
-
//
|
|
224
|
-
var GeometryType2
|
|
241
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/geometry-type.js
|
|
242
|
+
var GeometryType2;
|
|
243
|
+
(function(GeometryType3) {
|
|
225
244
|
GeometryType3[GeometryType3["Unknown"] = 0] = "Unknown";
|
|
226
245
|
GeometryType3[GeometryType3["Point"] = 1] = "Point";
|
|
227
246
|
GeometryType3[GeometryType3["LineString"] = 2] = "LineString";
|
|
@@ -240,10 +259,9 @@ var GeometryType2 = /* @__PURE__ */ ((GeometryType3) => {
|
|
|
240
259
|
GeometryType3[GeometryType3["PolyhedralSurface"] = 15] = "PolyhedralSurface";
|
|
241
260
|
GeometryType3[GeometryType3["TIN"] = 16] = "TIN";
|
|
242
261
|
GeometryType3[GeometryType3["Triangle"] = 17] = "Triangle";
|
|
243
|
-
|
|
244
|
-
})(GeometryType2 || {});
|
|
262
|
+
})(GeometryType2 || (GeometryType2 = {}));
|
|
245
263
|
|
|
246
|
-
//
|
|
264
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/geometry.js
|
|
247
265
|
var flatbuffers = __toESM(require("flatbuffers"), 1);
|
|
248
266
|
var Geometry = class {
|
|
249
267
|
constructor() {
|
|
@@ -272,11 +290,7 @@ var Geometry = class {
|
|
|
272
290
|
}
|
|
273
291
|
endsArray() {
|
|
274
292
|
const offset = this.bb.__offset(this.bb_pos, 4);
|
|
275
|
-
return offset ? new Uint32Array(
|
|
276
|
-
this.bb.bytes().buffer,
|
|
277
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
278
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
279
|
-
) : null;
|
|
293
|
+
return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
280
294
|
}
|
|
281
295
|
xy(index) {
|
|
282
296
|
const offset = this.bb.__offset(this.bb_pos, 6);
|
|
@@ -288,11 +302,7 @@ var Geometry = class {
|
|
|
288
302
|
}
|
|
289
303
|
xyArray() {
|
|
290
304
|
const offset = this.bb.__offset(this.bb_pos, 6);
|
|
291
|
-
return offset ? new Float64Array(
|
|
292
|
-
this.bb.bytes().buffer,
|
|
293
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
294
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
295
|
-
) : null;
|
|
305
|
+
return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
296
306
|
}
|
|
297
307
|
z(index) {
|
|
298
308
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
@@ -304,11 +314,7 @@ var Geometry = class {
|
|
|
304
314
|
}
|
|
305
315
|
zArray() {
|
|
306
316
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
307
|
-
return offset ? new Float64Array(
|
|
308
|
-
this.bb.bytes().buffer,
|
|
309
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
310
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
311
|
-
) : null;
|
|
317
|
+
return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
312
318
|
}
|
|
313
319
|
m(index) {
|
|
314
320
|
const offset = this.bb.__offset(this.bb_pos, 10);
|
|
@@ -320,11 +326,7 @@ var Geometry = class {
|
|
|
320
326
|
}
|
|
321
327
|
mArray() {
|
|
322
328
|
const offset = this.bb.__offset(this.bb_pos, 10);
|
|
323
|
-
return offset ? new Float64Array(
|
|
324
|
-
this.bb.bytes().buffer,
|
|
325
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
326
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
327
|
-
) : null;
|
|
329
|
+
return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
328
330
|
}
|
|
329
331
|
t(index) {
|
|
330
332
|
const offset = this.bb.__offset(this.bb_pos, 12);
|
|
@@ -336,11 +338,7 @@ var Geometry = class {
|
|
|
336
338
|
}
|
|
337
339
|
tArray() {
|
|
338
340
|
const offset = this.bb.__offset(this.bb_pos, 12);
|
|
339
|
-
return offset ? new Float64Array(
|
|
340
|
-
this.bb.bytes().buffer,
|
|
341
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
342
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
343
|
-
) : null;
|
|
341
|
+
return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
344
342
|
}
|
|
345
343
|
tm(index) {
|
|
346
344
|
const offset = this.bb.__offset(this.bb_pos, 14);
|
|
@@ -352,14 +350,11 @@ var Geometry = class {
|
|
|
352
350
|
}
|
|
353
351
|
type() {
|
|
354
352
|
const offset = this.bb.__offset(this.bb_pos, 16);
|
|
355
|
-
return offset ? this.bb.readUint8(this.bb_pos + offset) :
|
|
353
|
+
return offset ? this.bb.readUint8(this.bb_pos + offset) : GeometryType2.Unknown;
|
|
356
354
|
}
|
|
357
355
|
parts(index, obj) {
|
|
358
356
|
const offset = this.bb.__offset(this.bb_pos, 18);
|
|
359
|
-
return offset ? (obj || new Geometry()).__init(
|
|
360
|
-
this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4),
|
|
361
|
-
this.bb
|
|
362
|
-
) : null;
|
|
357
|
+
return offset ? (obj || new Geometry()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
|
|
363
358
|
}
|
|
364
359
|
partsLength() {
|
|
365
360
|
const offset = this.bb.__offset(this.bb_pos, 18);
|
|
@@ -447,7 +442,7 @@ var Geometry = class {
|
|
|
447
442
|
builder.startVector(8, numElems, 8);
|
|
448
443
|
}
|
|
449
444
|
static addType(builder, type) {
|
|
450
|
-
builder.addFieldInt8(6, type,
|
|
445
|
+
builder.addFieldInt8(6, type, GeometryType2.Unknown);
|
|
451
446
|
}
|
|
452
447
|
static addParts(builder, partsOffset) {
|
|
453
448
|
builder.addFieldOffset(7, partsOffset, 0);
|
|
@@ -480,7 +475,7 @@ var Geometry = class {
|
|
|
480
475
|
}
|
|
481
476
|
};
|
|
482
477
|
|
|
483
|
-
//
|
|
478
|
+
// dist/flatgeobuf/3.27.2/generic/geometry.js
|
|
484
479
|
function pairFlatCoordinates(xy, z) {
|
|
485
480
|
const newArray = [];
|
|
486
481
|
for (let i = 0; i < xy.length; i += 2) {
|
|
@@ -492,7 +487,7 @@ function pairFlatCoordinates(xy, z) {
|
|
|
492
487
|
return newArray;
|
|
493
488
|
}
|
|
494
489
|
|
|
495
|
-
//
|
|
490
|
+
// dist/flatgeobuf/3.27.2/geojson/geometry.js
|
|
496
491
|
function extractParts(xy, z, ends) {
|
|
497
492
|
if (!ends || ends.length === 0)
|
|
498
493
|
return [pairFlatCoordinates(xy, z)];
|
|
@@ -509,27 +504,27 @@ function toGeoJsonCoordinates(geometry, type) {
|
|
|
509
504
|
const xy = geometry.xyArray();
|
|
510
505
|
const z = geometry.zArray();
|
|
511
506
|
switch (type) {
|
|
512
|
-
case
|
|
507
|
+
case GeometryType2.Point: {
|
|
513
508
|
const a = Array.from(xy);
|
|
514
509
|
if (z)
|
|
515
510
|
a.push(z[0]);
|
|
516
511
|
return a;
|
|
517
512
|
}
|
|
518
|
-
case
|
|
519
|
-
case
|
|
513
|
+
case GeometryType2.MultiPoint:
|
|
514
|
+
case GeometryType2.LineString:
|
|
520
515
|
return pairFlatCoordinates(xy, z);
|
|
521
|
-
case
|
|
516
|
+
case GeometryType2.MultiLineString:
|
|
522
517
|
return extractParts(xy, z, geometry.endsArray());
|
|
523
|
-
case
|
|
518
|
+
case GeometryType2.Polygon:
|
|
524
519
|
return extractParts(xy, z, geometry.endsArray());
|
|
525
520
|
}
|
|
526
521
|
}
|
|
527
522
|
function fromGeometry(geometry, headerType) {
|
|
528
523
|
let type = headerType;
|
|
529
|
-
if (type ===
|
|
524
|
+
if (type === GeometryType2.Unknown) {
|
|
530
525
|
type = geometry.type();
|
|
531
526
|
}
|
|
532
|
-
if (type ===
|
|
527
|
+
if (type === GeometryType2.GeometryCollection) {
|
|
533
528
|
const geometries = [];
|
|
534
529
|
for (let i = 0; i < geometry.partsLength(); i++) {
|
|
535
530
|
const part = geometry.parts(i);
|
|
@@ -540,10 +535,10 @@ function fromGeometry(geometry, headerType) {
|
|
|
540
535
|
type: GeometryType2[type],
|
|
541
536
|
geometries
|
|
542
537
|
};
|
|
543
|
-
} else if (type ===
|
|
538
|
+
} else if (type === GeometryType2.MultiPolygon) {
|
|
544
539
|
const geometries = [];
|
|
545
540
|
for (let i = 0; i < geometry.partsLength(); i++)
|
|
546
|
-
geometries.push(fromGeometry(geometry.parts(i),
|
|
541
|
+
geometries.push(fromGeometry(geometry.parts(i), GeometryType2.Polygon));
|
|
547
542
|
return {
|
|
548
543
|
type: GeometryType2[type],
|
|
549
544
|
coordinates: geometries.map((g) => g.coordinates)
|
|
@@ -556,13 +551,33 @@ function fromGeometry(geometry, headerType) {
|
|
|
556
551
|
};
|
|
557
552
|
}
|
|
558
553
|
|
|
559
|
-
//
|
|
554
|
+
// dist/flatgeobuf/3.27.2/generic/feature.js
|
|
560
555
|
var flatbuffers4 = __toESM(require("flatbuffers"), 1);
|
|
561
556
|
|
|
562
|
-
//
|
|
557
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/column-type.js
|
|
558
|
+
var ColumnType;
|
|
559
|
+
(function(ColumnType2) {
|
|
560
|
+
ColumnType2[ColumnType2["Byte"] = 0] = "Byte";
|
|
561
|
+
ColumnType2[ColumnType2["UByte"] = 1] = "UByte";
|
|
562
|
+
ColumnType2[ColumnType2["Bool"] = 2] = "Bool";
|
|
563
|
+
ColumnType2[ColumnType2["Short"] = 3] = "Short";
|
|
564
|
+
ColumnType2[ColumnType2["UShort"] = 4] = "UShort";
|
|
565
|
+
ColumnType2[ColumnType2["Int"] = 5] = "Int";
|
|
566
|
+
ColumnType2[ColumnType2["UInt"] = 6] = "UInt";
|
|
567
|
+
ColumnType2[ColumnType2["Long"] = 7] = "Long";
|
|
568
|
+
ColumnType2[ColumnType2["ULong"] = 8] = "ULong";
|
|
569
|
+
ColumnType2[ColumnType2["Float"] = 9] = "Float";
|
|
570
|
+
ColumnType2[ColumnType2["Double"] = 10] = "Double";
|
|
571
|
+
ColumnType2[ColumnType2["String"] = 11] = "String";
|
|
572
|
+
ColumnType2[ColumnType2["Json"] = 12] = "Json";
|
|
573
|
+
ColumnType2[ColumnType2["DateTime"] = 13] = "DateTime";
|
|
574
|
+
ColumnType2[ColumnType2["Binary"] = 14] = "Binary";
|
|
575
|
+
})(ColumnType || (ColumnType = {}));
|
|
576
|
+
|
|
577
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/feature.js
|
|
563
578
|
var flatbuffers3 = __toESM(require("flatbuffers"), 1);
|
|
564
579
|
|
|
565
|
-
//
|
|
580
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/column.js
|
|
566
581
|
var flatbuffers2 = __toESM(require("flatbuffers"), 1);
|
|
567
582
|
var Column = class {
|
|
568
583
|
constructor() {
|
|
@@ -587,7 +602,7 @@ var Column = class {
|
|
|
587
602
|
}
|
|
588
603
|
type() {
|
|
589
604
|
const offset = this.bb.__offset(this.bb_pos, 6);
|
|
590
|
-
return offset ? this.bb.readUint8(this.bb_pos + offset) :
|
|
605
|
+
return offset ? this.bb.readUint8(this.bb_pos + offset) : ColumnType.Byte;
|
|
591
606
|
}
|
|
592
607
|
title(optionalEncoding) {
|
|
593
608
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
@@ -632,7 +647,7 @@ var Column = class {
|
|
|
632
647
|
builder.addFieldOffset(0, nameOffset, 0);
|
|
633
648
|
}
|
|
634
649
|
static addType(builder, type) {
|
|
635
|
-
builder.addFieldInt8(1, type,
|
|
650
|
+
builder.addFieldInt8(1, type, ColumnType.Byte);
|
|
636
651
|
}
|
|
637
652
|
static addTitle(builder, titleOffset) {
|
|
638
653
|
builder.addFieldOffset(2, titleOffset, 0);
|
|
@@ -683,7 +698,7 @@ var Column = class {
|
|
|
683
698
|
}
|
|
684
699
|
};
|
|
685
700
|
|
|
686
|
-
//
|
|
701
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/feature.js
|
|
687
702
|
var Feature = class {
|
|
688
703
|
constructor() {
|
|
689
704
|
this.bb = null;
|
|
@@ -715,18 +730,11 @@ var Feature = class {
|
|
|
715
730
|
}
|
|
716
731
|
propertiesArray() {
|
|
717
732
|
const offset = this.bb.__offset(this.bb_pos, 6);
|
|
718
|
-
return offset ? new Uint8Array(
|
|
719
|
-
this.bb.bytes().buffer,
|
|
720
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
721
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
722
|
-
) : null;
|
|
733
|
+
return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
723
734
|
}
|
|
724
735
|
columns(index, obj) {
|
|
725
736
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
726
|
-
return offset ? (obj || new Column()).__init(
|
|
727
|
-
this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4),
|
|
728
|
-
this.bb
|
|
729
|
-
) : null;
|
|
737
|
+
return offset ? (obj || new Column()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
|
|
730
738
|
}
|
|
731
739
|
columnsLength() {
|
|
732
740
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
@@ -783,7 +791,7 @@ var Feature = class {
|
|
|
783
791
|
}
|
|
784
792
|
};
|
|
785
793
|
|
|
786
|
-
//
|
|
794
|
+
// dist/flatgeobuf/3.27.2/generic/feature.js
|
|
787
795
|
var textEncoder = new TextEncoder();
|
|
788
796
|
var textDecoder = new TextDecoder();
|
|
789
797
|
function parseProperties(feature, columns) {
|
|
@@ -802,70 +810,70 @@ function parseProperties(feature, columns) {
|
|
|
802
810
|
const column = columns[i];
|
|
803
811
|
const name = column.name;
|
|
804
812
|
switch (column.type) {
|
|
805
|
-
case
|
|
813
|
+
case ColumnType.Bool: {
|
|
806
814
|
properties[name] = Boolean(view.getUint8(offset));
|
|
807
815
|
offset += 1;
|
|
808
816
|
break;
|
|
809
817
|
}
|
|
810
|
-
case
|
|
818
|
+
case ColumnType.Byte: {
|
|
811
819
|
properties[name] = view.getInt8(offset);
|
|
812
820
|
offset += 1;
|
|
813
821
|
break;
|
|
814
822
|
}
|
|
815
|
-
case
|
|
823
|
+
case ColumnType.UByte: {
|
|
816
824
|
properties[name] = view.getUint8(offset);
|
|
817
825
|
offset += 1;
|
|
818
826
|
break;
|
|
819
827
|
}
|
|
820
|
-
case
|
|
828
|
+
case ColumnType.Short: {
|
|
821
829
|
properties[name] = view.getInt16(offset, true);
|
|
822
830
|
offset += 2;
|
|
823
831
|
break;
|
|
824
832
|
}
|
|
825
|
-
case
|
|
833
|
+
case ColumnType.UShort: {
|
|
826
834
|
properties[name] = view.getUint16(offset, true);
|
|
827
835
|
offset += 2;
|
|
828
836
|
break;
|
|
829
837
|
}
|
|
830
|
-
case
|
|
838
|
+
case ColumnType.Int: {
|
|
831
839
|
properties[name] = view.getInt32(offset, true);
|
|
832
840
|
offset += 4;
|
|
833
841
|
break;
|
|
834
842
|
}
|
|
835
|
-
case
|
|
843
|
+
case ColumnType.UInt: {
|
|
836
844
|
properties[name] = view.getUint32(offset, true);
|
|
837
845
|
offset += 4;
|
|
838
846
|
break;
|
|
839
847
|
}
|
|
840
|
-
case
|
|
848
|
+
case ColumnType.Long: {
|
|
841
849
|
properties[name] = Number(view.getBigInt64(offset, true));
|
|
842
850
|
offset += 8;
|
|
843
851
|
break;
|
|
844
852
|
}
|
|
845
|
-
case
|
|
853
|
+
case ColumnType.ULong: {
|
|
846
854
|
properties[name] = Number(view.getBigUint64(offset, true));
|
|
847
855
|
offset += 8;
|
|
848
856
|
break;
|
|
849
857
|
}
|
|
850
|
-
case
|
|
858
|
+
case ColumnType.Float: {
|
|
851
859
|
properties[name] = view.getFloat32(offset, true);
|
|
852
860
|
offset += 4;
|
|
853
861
|
break;
|
|
854
862
|
}
|
|
855
|
-
case
|
|
863
|
+
case ColumnType.Double: {
|
|
856
864
|
properties[name] = view.getFloat64(offset, true);
|
|
857
865
|
offset += 8;
|
|
858
866
|
break;
|
|
859
867
|
}
|
|
860
|
-
case
|
|
861
|
-
case
|
|
868
|
+
case ColumnType.DateTime:
|
|
869
|
+
case ColumnType.String: {
|
|
862
870
|
const length2 = view.getUint32(offset, true);
|
|
863
871
|
offset += 4;
|
|
864
872
|
properties[name] = textDecoder.decode(array.subarray(offset, offset + length2));
|
|
865
873
|
offset += length2;
|
|
866
874
|
break;
|
|
867
875
|
}
|
|
868
|
-
case
|
|
876
|
+
case ColumnType.Json: {
|
|
869
877
|
const length2 = view.getUint32(offset, true);
|
|
870
878
|
offset += 4;
|
|
871
879
|
const str = textDecoder.decode(array.subarray(offset, offset + length2));
|
|
@@ -880,7 +888,7 @@ function parseProperties(feature, columns) {
|
|
|
880
888
|
return properties;
|
|
881
889
|
}
|
|
882
890
|
|
|
883
|
-
//
|
|
891
|
+
// dist/flatgeobuf/3.27.2/geojson/feature.js
|
|
884
892
|
function fromFeature(feature, header) {
|
|
885
893
|
const columns = header.columns;
|
|
886
894
|
const geometry = fromGeometry(feature.geometry(), header.geometryType);
|
|
@@ -892,14 +900,14 @@ function fromFeature(feature, header) {
|
|
|
892
900
|
return geoJsonfeature;
|
|
893
901
|
}
|
|
894
902
|
|
|
895
|
-
//
|
|
903
|
+
// dist/flatgeobuf/3.27.2/generic/featurecollection.js
|
|
896
904
|
var flatbuffers8 = __toESM(require("flatbuffers"), 1);
|
|
897
905
|
var import_slice_source = __toESM(require("slice-source"), 1);
|
|
898
906
|
|
|
899
|
-
//
|
|
907
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/header.js
|
|
900
908
|
var flatbuffers6 = __toESM(require("flatbuffers"), 1);
|
|
901
909
|
|
|
902
|
-
//
|
|
910
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/crs.js
|
|
903
911
|
var flatbuffers5 = __toESM(require("flatbuffers"), 1);
|
|
904
912
|
var Crs = class {
|
|
905
913
|
constructor() {
|
|
@@ -979,7 +987,7 @@ var Crs = class {
|
|
|
979
987
|
}
|
|
980
988
|
};
|
|
981
989
|
|
|
982
|
-
//
|
|
990
|
+
// dist/flatgeobuf/3.27.2/flat-geobuf/header.js
|
|
983
991
|
var Header = class {
|
|
984
992
|
constructor() {
|
|
985
993
|
this.bb = null;
|
|
@@ -1011,15 +1019,11 @@ var Header = class {
|
|
|
1011
1019
|
}
|
|
1012
1020
|
envelopeArray() {
|
|
1013
1021
|
const offset = this.bb.__offset(this.bb_pos, 6);
|
|
1014
|
-
return offset ? new Float64Array(
|
|
1015
|
-
this.bb.bytes().buffer,
|
|
1016
|
-
this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset),
|
|
1017
|
-
this.bb.__vector_len(this.bb_pos + offset)
|
|
1018
|
-
) : null;
|
|
1022
|
+
return offset ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
|
1019
1023
|
}
|
|
1020
1024
|
geometryType() {
|
|
1021
1025
|
const offset = this.bb.__offset(this.bb_pos, 8);
|
|
1022
|
-
return offset ? this.bb.readUint8(this.bb_pos + offset) :
|
|
1026
|
+
return offset ? this.bb.readUint8(this.bb_pos + offset) : GeometryType2.Unknown;
|
|
1023
1027
|
}
|
|
1024
1028
|
hasZ() {
|
|
1025
1029
|
const offset = this.bb.__offset(this.bb_pos, 10);
|
|
@@ -1039,10 +1043,7 @@ var Header = class {
|
|
|
1039
1043
|
}
|
|
1040
1044
|
columns(index, obj) {
|
|
1041
1045
|
const offset = this.bb.__offset(this.bb_pos, 18);
|
|
1042
|
-
return offset ? (obj || new Column()).__init(
|
|
1043
|
-
this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4),
|
|
1044
|
-
this.bb
|
|
1045
|
-
) : null;
|
|
1046
|
+
return offset ? (obj || new Column()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
|
|
1046
1047
|
}
|
|
1047
1048
|
columnsLength() {
|
|
1048
1049
|
const offset = this.bb.__offset(this.bb_pos, 18);
|
|
@@ -1092,7 +1093,7 @@ var Header = class {
|
|
|
1092
1093
|
builder.startVector(8, numElems, 8);
|
|
1093
1094
|
}
|
|
1094
1095
|
static addGeometryType(builder, geometryType) {
|
|
1095
|
-
builder.addFieldInt8(2, geometryType,
|
|
1096
|
+
builder.addFieldInt8(2, geometryType, GeometryType2.Unknown);
|
|
1096
1097
|
}
|
|
1097
1098
|
static addHasZ(builder, hasZ) {
|
|
1098
1099
|
builder.addFieldInt8(3, Number(hasZ), Number(false));
|
|
@@ -1149,7 +1150,7 @@ var Header = class {
|
|
|
1149
1150
|
}
|
|
1150
1151
|
};
|
|
1151
1152
|
|
|
1152
|
-
//
|
|
1153
|
+
// dist/flatgeobuf/3.27.2/header-meta.js
|
|
1153
1154
|
function fromByteBuffer(bb) {
|
|
1154
1155
|
const header = Header.getRootAsHeader(bb);
|
|
1155
1156
|
const featuresCount = header.featuresCount();
|
|
@@ -1197,12 +1198,12 @@ function fromByteBuffer(bb) {
|
|
|
1197
1198
|
return headerMeta;
|
|
1198
1199
|
}
|
|
1199
1200
|
|
|
1200
|
-
//
|
|
1201
|
+
// dist/flatgeobuf/3.27.2/http-reader.js
|
|
1201
1202
|
var flatbuffers7 = __toESM(require("flatbuffers"), 1);
|
|
1202
1203
|
var import_repeater = require("@repeaterjs/repeater");
|
|
1203
1204
|
|
|
1204
|
-
//
|
|
1205
|
-
var
|
|
1205
|
+
// dist/flatgeobuf/3.27.2/config.js
|
|
1206
|
+
var Config = class {
|
|
1206
1207
|
constructor() {
|
|
1207
1208
|
this._extraRequestThreshold = 256 * 1024;
|
|
1208
1209
|
}
|
|
@@ -1219,50 +1220,58 @@ var _Config = class {
|
|
|
1219
1220
|
this._extraRequestThreshold = bytes;
|
|
1220
1221
|
}
|
|
1221
1222
|
};
|
|
1222
|
-
|
|
1223
|
-
|
|
1223
|
+
Config.global = new Config();
|
|
1224
|
+
var config_default = Config;
|
|
1224
1225
|
|
|
1225
|
-
//
|
|
1226
|
+
// dist/flatgeobuf/3.27.2/logger.js
|
|
1227
|
+
var LogLevel;
|
|
1228
|
+
(function(LogLevel2) {
|
|
1229
|
+
LogLevel2[LogLevel2["Debug"] = 0] = "Debug";
|
|
1230
|
+
LogLevel2[LogLevel2["Info"] = 1] = "Info";
|
|
1231
|
+
LogLevel2[LogLevel2["Warn"] = 2] = "Warn";
|
|
1232
|
+
LogLevel2[LogLevel2["Error"] = 3] = "Error";
|
|
1233
|
+
})(LogLevel || (LogLevel = {}));
|
|
1226
1234
|
var Logger = class {
|
|
1227
1235
|
static debug(...args) {
|
|
1228
|
-
this.log(
|
|
1236
|
+
this.log(LogLevel.Debug, ...args);
|
|
1229
1237
|
}
|
|
1230
1238
|
static info(...args) {
|
|
1231
|
-
this.log(
|
|
1239
|
+
this.log(LogLevel.Info, ...args);
|
|
1232
1240
|
}
|
|
1233
1241
|
static warn(...args) {
|
|
1234
|
-
this.log(
|
|
1242
|
+
this.log(LogLevel.Warn, ...args);
|
|
1235
1243
|
}
|
|
1236
1244
|
static error(...args) {
|
|
1237
|
-
this.log(
|
|
1245
|
+
this.log(LogLevel.Error, ...args);
|
|
1238
1246
|
}
|
|
1239
1247
|
static log(level, ...args) {
|
|
1240
1248
|
if (this.logLevel > level) {
|
|
1241
1249
|
return;
|
|
1242
1250
|
}
|
|
1243
1251
|
switch (level) {
|
|
1244
|
-
case
|
|
1252
|
+
case LogLevel.Debug: {
|
|
1245
1253
|
console.debug(...args);
|
|
1246
1254
|
break;
|
|
1247
1255
|
}
|
|
1248
|
-
case
|
|
1256
|
+
case LogLevel.Info: {
|
|
1249
1257
|
console.info(...args);
|
|
1250
1258
|
break;
|
|
1251
1259
|
}
|
|
1252
|
-
case
|
|
1260
|
+
case LogLevel.Warn: {
|
|
1253
1261
|
console.warn(...args);
|
|
1254
1262
|
break;
|
|
1255
1263
|
}
|
|
1256
|
-
case
|
|
1264
|
+
case LogLevel.Error: {
|
|
1257
1265
|
console.error(...args);
|
|
1258
1266
|
break;
|
|
1259
1267
|
}
|
|
1260
1268
|
}
|
|
1261
1269
|
}
|
|
1262
1270
|
};
|
|
1263
|
-
Logger.logLevel =
|
|
1271
|
+
Logger.logLevel = LogLevel.Warn;
|
|
1272
|
+
var logger_default = Logger;
|
|
1264
1273
|
|
|
1265
|
-
//
|
|
1274
|
+
// dist/flatgeobuf/3.27.2/packedrtree.js
|
|
1266
1275
|
var NODE_ITEM_BYTE_LEN = 8 * 4 + 8;
|
|
1267
1276
|
var DEFAULT_NODE_SIZE = 16;
|
|
1268
1277
|
function calcTreeSize(numItems, nodeSize) {
|
|
@@ -1323,7 +1332,7 @@ async function* streamSearch(numItems, nodeSize, rect, readNode) {
|
|
|
1323
1332
|
}
|
|
1324
1333
|
}
|
|
1325
1334
|
const { minX, minY, maxX, maxY } = rect;
|
|
1326
|
-
|
|
1335
|
+
logger_default.info(`tree items: ${numItems}, nodeSize: ${nodeSize}`);
|
|
1327
1336
|
const levelBounds = generateLevelBounds(numItems, nodeSize);
|
|
1328
1337
|
const firstLeafNodeIdx = levelBounds[0][0];
|
|
1329
1338
|
const rootNodeRange = (() => {
|
|
@@ -1332,12 +1341,10 @@ async function* streamSearch(numItems, nodeSize, rect, readNode) {
|
|
|
1332
1341
|
return new NodeRange(range, level);
|
|
1333
1342
|
})();
|
|
1334
1343
|
const queue = [rootNodeRange];
|
|
1335
|
-
|
|
1336
|
-
`starting stream search with queue: ${queue}, numItems: ${numItems}, nodeSize: ${nodeSize}, levelBounds: ${levelBounds}`
|
|
1337
|
-
);
|
|
1344
|
+
logger_default.debug(`starting stream search with queue: ${queue}, numItems: ${numItems}, nodeSize: ${nodeSize}, levelBounds: ${levelBounds}`);
|
|
1338
1345
|
while (queue.length != 0) {
|
|
1339
1346
|
const nodeRange = queue.shift();
|
|
1340
|
-
|
|
1347
|
+
logger_default.debug(`popped node: ${nodeRange}, queueLength: ${queue.length}`);
|
|
1341
1348
|
const nodeRangeStartIdx = nodeRange.startNodeIdx();
|
|
1342
1349
|
const isLeafNode = nodeRangeStartIdx >= firstLeafNodeIdx;
|
|
1343
1350
|
const nodeRangeEndIdx = (() => {
|
|
@@ -1349,10 +1356,7 @@ async function* streamSearch(numItems, nodeSize, rect, readNode) {
|
|
|
1349
1356
|
return nodeIdx;
|
|
1350
1357
|
})();
|
|
1351
1358
|
const numNodesInRange = nodeRangeEndIdx - nodeRangeStartIdx;
|
|
1352
|
-
const buffer = await readNode(
|
|
1353
|
-
nodeRangeStartIdx * NODE_ITEM_BYTE_LEN,
|
|
1354
|
-
numNodesInRange * NODE_ITEM_BYTE_LEN
|
|
1355
|
-
);
|
|
1359
|
+
const buffer = await readNode(nodeRangeStartIdx * NODE_ITEM_BYTE_LEN, numNodesInRange * NODE_ITEM_BYTE_LEN);
|
|
1356
1360
|
const dataView = new DataView(buffer);
|
|
1357
1361
|
for (let nodeIdx = nodeRangeStartIdx; nodeIdx < nodeRangeEndIdx; nodeIdx++) {
|
|
1358
1362
|
const nodeIdxInDataView = nodeIdx - nodeRangeStartIdx;
|
|
@@ -1381,12 +1385,10 @@ async function* streamSearch(numItems, nodeSize, rect, readNode) {
|
|
|
1381
1385
|
continue;
|
|
1382
1386
|
}
|
|
1383
1387
|
const firstChildNodeIdx = offset;
|
|
1384
|
-
const extraRequestThresholdNodes =
|
|
1388
|
+
const extraRequestThresholdNodes = config_default.global.extraRequestThreshold() / NODE_ITEM_BYTE_LEN;
|
|
1385
1389
|
const nearestNodeRange = queue[queue.length - 1];
|
|
1386
1390
|
if (nearestNodeRange !== void 0 && nearestNodeRange.level() == nodeRange.level() - 1 && firstChildNodeIdx < nearestNodeRange.endNodeIdx() + extraRequestThresholdNodes) {
|
|
1387
|
-
|
|
1388
|
-
`Merging "nodeRange" request into existing range: ${nearestNodeRange}, newEndNodeIdx: ${nearestNodeRange.endNodeIdx()} -> ${firstChildNodeIdx}`
|
|
1389
|
-
);
|
|
1391
|
+
logger_default.debug(`Merging "nodeRange" request into existing range: ${nearestNodeRange}, newEndNodeIdx: ${nearestNodeRange.endNodeIdx()} -> ${firstChildNodeIdx}`);
|
|
1390
1392
|
nearestNodeRange.extendEndNodeIdx(Number(firstChildNodeIdx));
|
|
1391
1393
|
continue;
|
|
1392
1394
|
}
|
|
@@ -1396,20 +1398,16 @@ async function* streamSearch(numItems, nodeSize, rect, readNode) {
|
|
|
1396
1398
|
return new NodeRange(range, level);
|
|
1397
1399
|
})();
|
|
1398
1400
|
if (nearestNodeRange !== void 0 && nearestNodeRange.level() == newNodeRange.level()) {
|
|
1399
|
-
|
|
1400
|
-
`Same level, but too far away. Pushing new request for nodeIdx: ${firstChildNodeIdx} rather than merging with distant ${nearestNodeRange}`
|
|
1401
|
-
);
|
|
1401
|
+
logger_default.info(`Same level, but too far away. Pushing new request for nodeIdx: ${firstChildNodeIdx} rather than merging with distant ${nearestNodeRange}`);
|
|
1402
1402
|
} else {
|
|
1403
|
-
|
|
1404
|
-
`Pushing new level for ${newNodeRange} onto queue with nearestNodeRange: ${nearestNodeRange} since there's not already a range for this level.`
|
|
1405
|
-
);
|
|
1403
|
+
logger_default.info(`Pushing new level for ${newNodeRange} onto queue with nearestNodeRange: ${nearestNodeRange} since there's not already a range for this level.`);
|
|
1406
1404
|
}
|
|
1407
1405
|
queue.push(newNodeRange);
|
|
1408
1406
|
}
|
|
1409
1407
|
}
|
|
1410
1408
|
}
|
|
1411
1409
|
|
|
1412
|
-
//
|
|
1410
|
+
// dist/flatgeobuf/3.27.2/constants.js
|
|
1413
1411
|
var magicbytes = new Uint8Array([
|
|
1414
1412
|
102,
|
|
1415
1413
|
103,
|
|
@@ -1422,7 +1420,7 @@ var magicbytes = new Uint8Array([
|
|
|
1422
1420
|
]);
|
|
1423
1421
|
var SIZE_PREFIX_LEN = 4;
|
|
1424
1422
|
|
|
1425
|
-
//
|
|
1423
|
+
// dist/flatgeobuf/3.27.2/http-reader.js
|
|
1426
1424
|
var HttpReader = class {
|
|
1427
1425
|
constructor(headerClient, header, headerLength, indexLength) {
|
|
1428
1426
|
this.headerClient = headerClient;
|
|
@@ -1448,16 +1446,14 @@ var HttpReader = class {
|
|
|
1448
1446
|
return result;
|
|
1449
1447
|
})();
|
|
1450
1448
|
const minReqLength = assumedHeaderLength + assumedIndexLength;
|
|
1451
|
-
|
|
1452
|
-
`fetching header. minReqLength: ${minReqLength} (assumedHeaderLength: ${assumedHeaderLength}, assumedIndexLength: ${assumedIndexLength})`
|
|
1453
|
-
);
|
|
1449
|
+
logger_default.debug(`fetching header. minReqLength: ${minReqLength} (assumedHeaderLength: ${assumedHeaderLength}, assumedIndexLength: ${assumedIndexLength})`);
|
|
1454
1450
|
{
|
|
1455
1451
|
const bytes2 = new Uint8Array(await headerClient.getRange(0, 8, minReqLength, "header"));
|
|
1456
1452
|
if (!bytes2.subarray(0, 3).every((v, i) => magicbytes[i] === v)) {
|
|
1457
|
-
|
|
1453
|
+
logger_default.error(`bytes: ${bytes2} != ${magicbytes}`);
|
|
1458
1454
|
throw new Error("Not a FlatGeobuf file");
|
|
1459
1455
|
}
|
|
1460
|
-
|
|
1456
|
+
logger_default.debug("magic bytes look good");
|
|
1461
1457
|
}
|
|
1462
1458
|
let headerLength;
|
|
1463
1459
|
{
|
|
@@ -1467,13 +1463,13 @@ var HttpReader = class {
|
|
|
1467
1463
|
if (headerLength > HEADER_MAX_BUFFER_SIZE || headerLength < 8) {
|
|
1468
1464
|
throw new Error("Invalid header size");
|
|
1469
1465
|
}
|
|
1470
|
-
|
|
1466
|
+
logger_default.debug(`headerLength: ${headerLength}`);
|
|
1471
1467
|
}
|
|
1472
1468
|
const bytes = await headerClient.getRange(12, headerLength, minReqLength, "header");
|
|
1473
1469
|
const bb = new flatbuffers7.ByteBuffer(new Uint8Array(bytes));
|
|
1474
1470
|
const header = fromByteBuffer(bb);
|
|
1475
1471
|
const indexLength = calcTreeSize(header.featuresCount, header.indexNodeSize);
|
|
1476
|
-
|
|
1472
|
+
logger_default.debug("completed: opening http reader");
|
|
1477
1473
|
return new HttpReader(headerClient, header, headerLength, indexLength);
|
|
1478
1474
|
}
|
|
1479
1475
|
async *selectBbox(rect) {
|
|
@@ -1481,25 +1477,15 @@ var HttpReader = class {
|
|
|
1481
1477
|
const bufferedClient = this.headerClient;
|
|
1482
1478
|
const readNode = async function(offsetIntoTree, size) {
|
|
1483
1479
|
const minReqLength = 0;
|
|
1484
|
-
return bufferedClient.getRange(
|
|
1485
|
-
lengthBeforeTree + offsetIntoTree,
|
|
1486
|
-
size,
|
|
1487
|
-
minReqLength,
|
|
1488
|
-
"index"
|
|
1489
|
-
);
|
|
1480
|
+
return bufferedClient.getRange(lengthBeforeTree + offsetIntoTree, size, minReqLength, "index");
|
|
1490
1481
|
};
|
|
1491
1482
|
const batches = [];
|
|
1492
1483
|
let currentBatch = [];
|
|
1493
|
-
for await (const searchResult of streamSearch(
|
|
1494
|
-
this.header.featuresCount,
|
|
1495
|
-
this.header.indexNodeSize,
|
|
1496
|
-
rect,
|
|
1497
|
-
readNode
|
|
1498
|
-
)) {
|
|
1484
|
+
for await (const searchResult of streamSearch(this.header.featuresCount, this.header.indexNodeSize, rect, readNode)) {
|
|
1499
1485
|
const [featureOffset, ,] = searchResult;
|
|
1500
1486
|
let [, , featureLength] = searchResult;
|
|
1501
1487
|
if (!featureLength) {
|
|
1502
|
-
|
|
1488
|
+
logger_default.info("final feature");
|
|
1503
1489
|
featureLength = 4;
|
|
1504
1490
|
}
|
|
1505
1491
|
if (currentBatch.length == 0) {
|
|
@@ -1508,8 +1494,8 @@ var HttpReader = class {
|
|
|
1508
1494
|
}
|
|
1509
1495
|
const prevFeature = currentBatch[currentBatch.length - 1];
|
|
1510
1496
|
const gap = featureOffset - (prevFeature[0] + prevFeature[1]);
|
|
1511
|
-
if (gap >
|
|
1512
|
-
|
|
1497
|
+
if (gap > config_default.global.extraRequestThreshold()) {
|
|
1498
|
+
logger_default.info(`Pushing new feature batch, since gap ${gap} was too large`);
|
|
1513
1499
|
batches.push(currentBatch);
|
|
1514
1500
|
currentBatch = [];
|
|
1515
1501
|
}
|
|
@@ -1519,9 +1505,7 @@ var HttpReader = class {
|
|
|
1519
1505
|
if (currentBatch.length > 0) {
|
|
1520
1506
|
batches.push(currentBatch);
|
|
1521
1507
|
}
|
|
1522
|
-
const promises = batches.flatMap(
|
|
1523
|
-
(batch) => this.readFeatureBatch(batch)
|
|
1524
|
-
);
|
|
1508
|
+
const promises = batches.flatMap((batch) => this.readFeatureBatch(batch));
|
|
1525
1509
|
yield* import_repeater.Repeater.merge(promises);
|
|
1526
1510
|
}
|
|
1527
1511
|
lengthBeforeTree() {
|
|
@@ -1559,12 +1543,7 @@ var HttpReader = class {
|
|
|
1559
1543
|
const bytes2 = await featureClient.getRange(offset, 4, minFeatureReqLength, "feature length");
|
|
1560
1544
|
featureLength = new DataView(bytes2).getUint32(0, true);
|
|
1561
1545
|
}
|
|
1562
|
-
const byteBuffer = await featureClient.getRange(
|
|
1563
|
-
offset + 4,
|
|
1564
|
-
featureLength,
|
|
1565
|
-
minFeatureReqLength,
|
|
1566
|
-
"feature data"
|
|
1567
|
-
);
|
|
1546
|
+
const byteBuffer = await featureClient.getRange(offset + 4, featureLength, minFeatureReqLength, "feature data");
|
|
1568
1547
|
const bytes = new Uint8Array(byteBuffer);
|
|
1569
1548
|
const bytesAligned = new Uint8Array(featureLength + SIZE_PREFIX_LEN);
|
|
1570
1549
|
bytesAligned.set(bytes, SIZE_PREFIX_LEN);
|
|
@@ -1578,8 +1557,6 @@ var BufferedHttpRangeClient = class {
|
|
|
1578
1557
|
this.bytesEverUsed = 0;
|
|
1579
1558
|
this.bytesEverFetched = 0;
|
|
1580
1559
|
this.buffer = new ArrayBuffer(0);
|
|
1581
|
-
// Byte offset of `buffer` with respect to the beginning of the file being
|
|
1582
|
-
// buffered
|
|
1583
1560
|
this.head = 0;
|
|
1584
1561
|
if (typeof source === "string") {
|
|
1585
1562
|
this.httpClient = new HttpRangeClient(source);
|
|
@@ -1598,7 +1575,7 @@ var BufferedHttpRangeClient = class {
|
|
|
1598
1575
|
}
|
|
1599
1576
|
const lengthToFetch = Math.max(length, minReqLength);
|
|
1600
1577
|
this.bytesEverFetched += lengthToFetch;
|
|
1601
|
-
|
|
1578
|
+
logger_default.debug(`requesting for new Range: ${start}-${start + lengthToFetch - 1}`);
|
|
1602
1579
|
this.buffer = await this.httpClient.getRange(start, lengthToFetch, purpose);
|
|
1603
1580
|
this.head = start;
|
|
1604
1581
|
return this.buffer.slice(0, length);
|
|
@@ -1608,7 +1585,7 @@ var BufferedHttpRangeClient = class {
|
|
|
1608
1585
|
const used = this.bytesEverUsed;
|
|
1609
1586
|
const requested = this.bytesEverFetched;
|
|
1610
1587
|
const efficiency = (100 * used / requested).toFixed(2);
|
|
1611
|
-
|
|
1588
|
+
logger_default.info(`${category} bytes used/requested: ${used} / ${requested} = ${efficiency}%`);
|
|
1612
1589
|
}
|
|
1613
1590
|
};
|
|
1614
1591
|
var HttpRangeClient = class {
|
|
@@ -1621,9 +1598,7 @@ var HttpRangeClient = class {
|
|
|
1621
1598
|
this.requestsEverMade += 1;
|
|
1622
1599
|
this.bytesEverRequested += length;
|
|
1623
1600
|
const range = `bytes=${begin}-${begin + length - 1}`;
|
|
1624
|
-
|
|
1625
|
-
`request: #${this.requestsEverMade}, purpose: ${purpose}), bytes: (this_request: ${length}, ever: ${this.bytesEverRequested}), Range: ${range}`
|
|
1626
|
-
);
|
|
1601
|
+
logger_default.info(`request: #${this.requestsEverMade}, purpose: ${purpose}), bytes: (this_request: ${length}, ever: ${this.bytesEverRequested}), Range: ${range}`);
|
|
1627
1602
|
const response = await fetch(this.url, {
|
|
1628
1603
|
headers: {
|
|
1629
1604
|
Range: range
|
|
@@ -1660,7 +1635,7 @@ var HttpRangeClient = class {
|
|
|
1660
1635
|
}
|
|
1661
1636
|
};
|
|
1662
1637
|
|
|
1663
|
-
//
|
|
1638
|
+
// dist/flatgeobuf/3.27.2/generic/featurecollection.js
|
|
1664
1639
|
function deserialize(bytes, fromFeature2, headerMetaFn) {
|
|
1665
1640
|
if (!bytes.subarray(0, 3).every((v, i) => magicbytes[i] === v))
|
|
1666
1641
|
throw new Error("Not a FlatGeobuf file");
|
|
@@ -1709,7 +1684,7 @@ async function* deserializeStream(stream, fromFeature2, headerMetaFn) {
|
|
|
1709
1684
|
}
|
|
1710
1685
|
async function* deserializeFiltered(url, rect, fromFeature2, headerMetaFn) {
|
|
1711
1686
|
const reader = await HttpReader.open(url);
|
|
1712
|
-
|
|
1687
|
+
logger_default.debug("opened reader");
|
|
1713
1688
|
if (headerMetaFn)
|
|
1714
1689
|
headerMetaFn(reader.header);
|
|
1715
1690
|
for await (const feature of reader.selectBbox(rect)) {
|
|
@@ -1731,7 +1706,7 @@ async function readFeature(read, headerMeta, fromFeature2) {
|
|
|
1731
1706
|
return fromFeature2(feature, headerMeta);
|
|
1732
1707
|
}
|
|
1733
1708
|
|
|
1734
|
-
//
|
|
1709
|
+
// dist/flatgeobuf/3.27.2/geojson/featurecollection.js
|
|
1735
1710
|
function deserialize2(bytes, headerMetaFn) {
|
|
1736
1711
|
const features = deserialize(bytes, fromFeature, headerMetaFn);
|
|
1737
1712
|
return {
|
|
@@ -1746,7 +1721,7 @@ function deserializeFiltered2(url, rect, headerMetaFn) {
|
|
|
1746
1721
|
return deserializeFiltered(url, rect, fromFeature, headerMetaFn);
|
|
1747
1722
|
}
|
|
1748
1723
|
|
|
1749
|
-
//
|
|
1724
|
+
// dist/flatgeobuf/3.27.2/geojson.js
|
|
1750
1725
|
function deserialize3(input, rect, headerMetaFn) {
|
|
1751
1726
|
if (input instanceof Uint8Array)
|
|
1752
1727
|
return deserialize2(input, headerMetaFn);
|
|
@@ -1755,7 +1730,7 @@ function deserialize3(input, rect, headerMetaFn) {
|
|
|
1755
1730
|
return deserializeFiltered2(input, rect, headerMetaFn);
|
|
1756
1731
|
}
|
|
1757
1732
|
|
|
1758
|
-
//
|
|
1733
|
+
// dist/flatgeobuf/3.27.2/generic.js
|
|
1759
1734
|
function deserialize4(input, fromFeature2, rect) {
|
|
1760
1735
|
if (input instanceof Uint8Array)
|
|
1761
1736
|
return deserialize(input, fromFeature2);
|
|
@@ -1764,7 +1739,7 @@ function deserialize4(input, fromFeature2, rect) {
|
|
|
1764
1739
|
return deserializeFiltered(input, rect, fromFeature2);
|
|
1765
1740
|
}
|
|
1766
1741
|
|
|
1767
|
-
//
|
|
1742
|
+
// dist/lib/parse-flatgeobuf.js
|
|
1768
1743
|
var deserializeGeoJson = deserialize3;
|
|
1769
1744
|
var deserializeGeneric = deserialize4;
|
|
1770
1745
|
function binaryFromFeature(feature, header) {
|
|
@@ -1859,8 +1834,8 @@ async function* parseFlatGeobufInBatchesToGeoJSON(stream, options) {
|
|
|
1859
1834
|
}
|
|
1860
1835
|
}
|
|
1861
1836
|
|
|
1862
|
-
//
|
|
1863
|
-
var VERSION =
|
|
1837
|
+
// dist/flatgeobuf-loader.js
|
|
1838
|
+
var VERSION = true ? "4.2.0-alpha.4" : "latest";
|
|
1864
1839
|
var FGB_MAGIC_NUMBER = [102, 103, 98, 3, 102, 103, 98, 1];
|
|
1865
1840
|
var FlatGeobufWorkerLoader = {
|
|
1866
1841
|
id: "flatgeobuf",
|
|
@@ -1889,3 +1864,4 @@ var FlatGeobufLoader = {
|
|
|
1889
1864
|
parseInBatchesFromStream: parseFlatGeobufInBatches,
|
|
1890
1865
|
binary: true
|
|
1891
1866
|
};
|
|
1867
|
+
//# sourceMappingURL=index.cjs.map
|