@loaders.gl/json 4.0.0-alpha.8 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +132 -82
- package/dist/es5/geojson-loader.js +30 -21
- package/dist/es5/geojson-loader.js.map +1 -1
- package/dist/es5/geojson-writer.js.map +1 -1
- package/dist/es5/json-loader.js +2 -2
- package/dist/es5/json-loader.js.map +1 -1
- package/dist/es5/json-writer.js +1 -1
- package/dist/es5/json-writer.js.map +1 -1
- package/dist/es5/lib/encoder-utils/encode-table-row.js +54 -0
- package/dist/es5/lib/encoder-utils/encode-table-row.js.map +1 -0
- package/dist/es5/lib/encoder-utils/encode-utils.js.map +1 -0
- package/dist/es5/lib/encoder-utils/utf8-encoder.js.map +1 -0
- package/dist/es5/lib/encoders/geojson-encoder.js +47 -84
- package/dist/es5/lib/encoders/geojson-encoder.js.map +1 -1
- package/dist/es5/lib/encoders/json-encoder.js +3 -3
- package/dist/es5/lib/encoders/json-encoder.js.map +1 -1
- package/dist/es5/lib/parsers/parse-json-in-batches.js +1 -1
- package/dist/es5/lib/parsers/parse-json-in-batches.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ndjson-in-batches.js.map +1 -1
- package/dist/es5/ndgeoson-loader.js +10 -13
- package/dist/es5/ndgeoson-loader.js.map +1 -1
- package/dist/es5/ndjson-loader.js +1 -1
- package/dist/es5/ndjson-loader.js.map +1 -1
- package/dist/esm/geojson-loader.js +31 -22
- package/dist/esm/geojson-loader.js.map +1 -1
- package/dist/esm/geojson-writer.js.map +1 -1
- package/dist/esm/json-loader.js +2 -2
- package/dist/esm/json-loader.js.map +1 -1
- package/dist/esm/json-writer.js +1 -1
- package/dist/esm/json-writer.js.map +1 -1
- package/dist/esm/lib/encoder-utils/encode-table-row.js +44 -0
- package/dist/esm/lib/encoder-utils/encode-table-row.js.map +1 -0
- package/dist/esm/lib/encoder-utils/encode-utils.js.map +1 -0
- package/dist/esm/lib/encoder-utils/utf8-encoder.js.map +1 -0
- package/dist/esm/lib/encoders/geojson-encoder.js +9 -52
- package/dist/esm/lib/encoders/geojson-encoder.js.map +1 -1
- package/dist/esm/lib/encoders/json-encoder.js +3 -3
- package/dist/esm/lib/encoders/json-encoder.js.map +1 -1
- package/dist/esm/lib/parsers/parse-json-in-batches.js +1 -1
- package/dist/esm/lib/parsers/parse-json-in-batches.js.map +1 -1
- package/dist/esm/lib/parsers/parse-ndjson-in-batches.js.map +1 -1
- package/dist/esm/ndgeoson-loader.js +9 -11
- package/dist/esm/ndgeoson-loader.js.map +1 -1
- package/dist/esm/ndjson-loader.js +1 -1
- package/dist/esm/ndjson-loader.js.map +1 -1
- package/dist/geojson-loader.d.ts +3 -2
- package/dist/geojson-loader.d.ts.map +1 -1
- package/dist/geojson-worker.js +55 -209
- package/dist/geojson-writer.d.ts +8 -3
- package/dist/geojson-writer.d.ts.map +1 -1
- package/dist/json-loader.d.ts +1 -1
- package/dist/json-loader.d.ts.map +1 -1
- package/dist/json-writer.d.ts +13 -3
- package/dist/json-writer.d.ts.map +1 -1
- package/dist/lib/encoder-utils/encode-table-row.d.ts +7 -0
- package/dist/lib/encoder-utils/encode-table-row.d.ts.map +1 -0
- package/dist/lib/encoder-utils/encode-utils.d.ts.map +1 -0
- package/dist/lib/encoder-utils/utf8-encoder.d.ts.map +1 -0
- package/dist/lib/encoders/geojson-encoder.d.ts +2 -8
- package/dist/lib/encoders/geojson-encoder.d.ts.map +1 -1
- package/dist/lib/encoders/json-encoder.d.ts +1 -10
- package/dist/lib/encoders/json-encoder.d.ts.map +1 -1
- package/dist/lib/parsers/parse-json-in-batches.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ndjson-in-batches.d.ts +2 -2
- package/dist/lib/parsers/parse-ndjson-in-batches.d.ts.map +1 -1
- package/dist/ndgeoson-loader.d.ts +4 -24
- package/dist/ndgeoson-loader.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/geojson-loader.ts +42 -27
- package/src/geojson-writer.ts +8 -3
- package/src/json-loader.ts +2 -2
- package/src/json-writer.ts +12 -4
- package/src/lib/encoder-utils/encode-table-row.ts +69 -0
- package/src/lib/encoders/geojson-encoder.ts +15 -78
- package/src/lib/encoders/json-encoder.ts +3 -11
- package/src/lib/parsers/parse-json-in-batches.ts +2 -1
- package/src/lib/parsers/parse-ndjson-in-batches.ts +2 -2
- package/src/ndgeoson-loader.ts +16 -13
- package/dist/bundle.js +0 -5
- package/dist/es5/lib/encoders/encode-utils.js.map +0 -1
- package/dist/es5/lib/encoders/utf8-encoder.js.map +0 -1
- package/dist/esm/lib/encoders/encode-utils.js.map +0 -1
- package/dist/esm/lib/encoders/utf8-encoder.js.map +0 -1
- package/dist/geojson-loader.js +0 -77
- package/dist/geojson-writer.js +0 -22
- package/dist/index.js +0 -24
- package/dist/json-loader.js +0 -42
- package/dist/json-writer.js +0 -18
- package/dist/lib/clarinet/clarinet.js +0 -535
- package/dist/lib/encoders/encode-utils.d.ts.map +0 -1
- package/dist/lib/encoders/encode-utils.js +0 -47
- package/dist/lib/encoders/geojson-encoder.js +0 -104
- package/dist/lib/encoders/json-encoder.js +0 -22
- package/dist/lib/encoders/utf8-encoder.d.ts.map +0 -1
- package/dist/lib/encoders/utf8-encoder.js +0 -32
- package/dist/lib/json-parser/json-parser.js +0 -98
- package/dist/lib/json-parser/streaming-json-parser.js +0 -100
- package/dist/lib/jsonpath/jsonpath.js +0 -89
- package/dist/lib/parsers/parse-json-in-batches.js +0 -100
- package/dist/lib/parsers/parse-json.js +0 -32
- package/dist/lib/parsers/parse-ndjson-in-batches.js +0 -36
- package/dist/lib/parsers/parse-ndjson.js +0 -17
- package/dist/ndgeoson-loader.js +0 -37
- package/dist/ndjson-loader.js +0 -27
- package/dist/workers/geojson-worker.js +0 -5
- /package/dist/es5/lib/{encoders → encoder-utils}/encode-utils.js +0 -0
- /package/dist/es5/lib/{encoders → encoder-utils}/utf8-encoder.js +0 -0
- /package/dist/esm/lib/{encoders → encoder-utils}/encode-utils.js +0 -0
- /package/dist/esm/lib/{encoders → encoder-utils}/utf8-encoder.js +0 -0
- /package/dist/lib/{encoders → encoder-utils}/encode-utils.d.ts +0 -0
- /package/dist/lib/{encoders → encoder-utils}/utf8-encoder.d.ts +0 -0
- /package/src/lib/{encoders → encoder-utils}/encode-utils.ts +0 -0
- /package/src/lib/{encoders → encoder-utils}/utf8-encoder.ts +0 -0
package/dist/dist.min.js
CHANGED
|
@@ -406,10 +406,12 @@
|
|
|
406
406
|
switch (table.shape) {
|
|
407
407
|
case "array-row-table":
|
|
408
408
|
case "object-row-table":
|
|
409
|
-
case "geojson-row-table":
|
|
410
409
|
return table.data.length;
|
|
410
|
+
case "geojson-table":
|
|
411
|
+
return table.features.length;
|
|
411
412
|
case "arrow-table":
|
|
412
|
-
|
|
413
|
+
const arrowTable = table.data;
|
|
414
|
+
return arrowTable.numRows;
|
|
413
415
|
case "columnar-table":
|
|
414
416
|
for (const column of Object.values(table.data)) {
|
|
415
417
|
return column.length || 0;
|
|
@@ -430,12 +432,14 @@
|
|
|
430
432
|
case "array-row-table":
|
|
431
433
|
return table.data[0].length;
|
|
432
434
|
case "object-row-table":
|
|
433
|
-
case "geojson-row-table":
|
|
434
435
|
return Object.keys(table.data[0]).length;
|
|
436
|
+
case "geojson-table":
|
|
437
|
+
return Object.keys(table.features[0]).length;
|
|
435
438
|
case "columnar-table":
|
|
436
439
|
return Object.keys(table.data).length;
|
|
437
440
|
case "arrow-table":
|
|
438
|
-
|
|
441
|
+
const arrowTable = table.data;
|
|
442
|
+
return arrowTable.numCols;
|
|
439
443
|
default:
|
|
440
444
|
throw new Error("table");
|
|
441
445
|
}
|
|
@@ -445,7 +449,6 @@
|
|
|
445
449
|
case "object-row-table":
|
|
446
450
|
return copy2 ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];
|
|
447
451
|
case "array-row-table":
|
|
448
|
-
case "geojson-row-table":
|
|
449
452
|
if (table.schema) {
|
|
450
453
|
const objectRow2 = target || {};
|
|
451
454
|
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
@@ -454,6 +457,15 @@
|
|
|
454
457
|
return objectRow2;
|
|
455
458
|
}
|
|
456
459
|
throw new Error("no schema");
|
|
460
|
+
case "geojson-table":
|
|
461
|
+
if (table.schema) {
|
|
462
|
+
const objectRow2 = target || {};
|
|
463
|
+
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
464
|
+
objectRow2[table.schema.fields[i].name] = table.features[rowIndex][i];
|
|
465
|
+
}
|
|
466
|
+
return objectRow2;
|
|
467
|
+
}
|
|
468
|
+
throw new Error("no schema");
|
|
457
469
|
case "columnar-table":
|
|
458
470
|
if (table.schema) {
|
|
459
471
|
const objectRow2 = target || {};
|
|
@@ -469,9 +481,10 @@
|
|
|
469
481
|
return objectRow2;
|
|
470
482
|
}
|
|
471
483
|
case "arrow-table":
|
|
484
|
+
const arrowTable = table.data;
|
|
472
485
|
const objectRow = target || {};
|
|
473
|
-
const row =
|
|
474
|
-
const schema =
|
|
486
|
+
const row = arrowTable.get(rowIndex);
|
|
487
|
+
const schema = arrowTable.schema;
|
|
475
488
|
for (let i = 0; i < schema.fields.length; i++) {
|
|
476
489
|
objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];
|
|
477
490
|
}
|
|
@@ -485,7 +498,6 @@
|
|
|
485
498
|
case "array-row-table":
|
|
486
499
|
return copy2 ? Array.from(table.data[rowIndex]) : table.data[rowIndex];
|
|
487
500
|
case "object-row-table":
|
|
488
|
-
case "geojson-row-table":
|
|
489
501
|
if (table.schema) {
|
|
490
502
|
const arrayRow2 = target || [];
|
|
491
503
|
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
@@ -494,6 +506,15 @@
|
|
|
494
506
|
return arrayRow2;
|
|
495
507
|
}
|
|
496
508
|
return Object.values(table.data[rowIndex]);
|
|
509
|
+
case "geojson-table":
|
|
510
|
+
if (table.schema) {
|
|
511
|
+
const arrayRow2 = target || [];
|
|
512
|
+
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
513
|
+
arrayRow2[i] = table.features[rowIndex][table.schema.fields[i].name];
|
|
514
|
+
}
|
|
515
|
+
return arrayRow2;
|
|
516
|
+
}
|
|
517
|
+
return Object.values(table.features[rowIndex]);
|
|
497
518
|
case "columnar-table":
|
|
498
519
|
if (table.schema) {
|
|
499
520
|
const arrayRow2 = target || [];
|
|
@@ -511,9 +532,10 @@
|
|
|
511
532
|
return arrayRow2;
|
|
512
533
|
}
|
|
513
534
|
case "arrow-table":
|
|
535
|
+
const arrowTable = table.data;
|
|
514
536
|
const arrayRow = target || [];
|
|
515
|
-
const row =
|
|
516
|
-
const schema =
|
|
537
|
+
const row = arrowTable.get(rowIndex);
|
|
538
|
+
const schema = arrowTable.schema;
|
|
517
539
|
for (let i = 0; i < schema.fields.length; i++) {
|
|
518
540
|
arrayRow[i] = row?.[schema.fields[i].name];
|
|
519
541
|
}
|
|
@@ -1580,7 +1602,7 @@ Char: ${this.c}`;
|
|
|
1580
1602
|
const { jsonpaths } = options.json || {};
|
|
1581
1603
|
let isFirstChunk = true;
|
|
1582
1604
|
const schema = null;
|
|
1583
|
-
const shape = options?.json?.shape || "row-table";
|
|
1605
|
+
const shape = options?.json?.shape || "object-row-table";
|
|
1584
1606
|
const tableBatchBuilder = new TableBatchBuilder(schema, {
|
|
1585
1607
|
...options,
|
|
1586
1608
|
shape
|
|
@@ -1676,7 +1698,7 @@ Char: ${this.c}`;
|
|
|
1676
1698
|
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1677
1699
|
DEFAULT_JSON_LOADER_OPTIONS = {
|
|
1678
1700
|
json: {
|
|
1679
|
-
shape: "row-table",
|
|
1701
|
+
shape: "object-row-table",
|
|
1680
1702
|
table: false,
|
|
1681
1703
|
jsonpaths: []
|
|
1682
1704
|
}
|
|
@@ -1781,8 +1803,8 @@ Char: ${this.c}`;
|
|
|
1781
1803
|
});
|
|
1782
1804
|
|
|
1783
1805
|
// src/lib/encoders/json-encoder.ts
|
|
1784
|
-
function encodeTableAsJSON(table, options
|
|
1785
|
-
const shape = options
|
|
1806
|
+
function encodeTableAsJSON(table, options) {
|
|
1807
|
+
const shape = options?.json?.shape || "object-row-table";
|
|
1786
1808
|
const strings = [];
|
|
1787
1809
|
const rowIterator = makeRowIterator(table, shape);
|
|
1788
1810
|
for (const row of rowIterator) {
|
|
@@ -1811,7 +1833,7 @@ Char: ${this.c}`;
|
|
|
1811
1833
|
options: {},
|
|
1812
1834
|
text: true,
|
|
1813
1835
|
encode: async (table, options) => new TextEncoder().encode(encodeTableAsJSON(table, options)).buffer,
|
|
1814
|
-
|
|
1836
|
+
encodeTextSync: (table, options) => encodeTableAsJSON(table, options)
|
|
1815
1837
|
};
|
|
1816
1838
|
}
|
|
1817
1839
|
});
|
|
@@ -2371,7 +2393,8 @@ Char: ${this.c}`;
|
|
|
2371
2393
|
...geometryInfo
|
|
2372
2394
|
}, {
|
|
2373
2395
|
numericPropKeys: options && options.numericPropKeys || numericPropKeys,
|
|
2374
|
-
PositionDataType: options ? options.PositionDataType : Float32Array
|
|
2396
|
+
PositionDataType: options ? options.PositionDataType : Float32Array,
|
|
2397
|
+
triangulate: options ? options.triangulate : true
|
|
2375
2398
|
});
|
|
2376
2399
|
}
|
|
2377
2400
|
function extractNumericPropTypes(features) {
|
|
@@ -2400,7 +2423,7 @@ Char: ${this.c}`;
|
|
|
2400
2423
|
propArrayTypes,
|
|
2401
2424
|
coordLength
|
|
2402
2425
|
} = geometryInfo;
|
|
2403
|
-
const { numericPropKeys = [], PositionDataType = Float32Array } = options;
|
|
2426
|
+
const { numericPropKeys = [], PositionDataType = Float32Array, triangulate = true } = options;
|
|
2404
2427
|
const hasGlobalId = features[0] && "id" in features[0];
|
|
2405
2428
|
const GlobalFeatureIdsDataType = features.length > 65535 ? Uint32Array : Uint16Array;
|
|
2406
2429
|
const points = {
|
|
@@ -2427,13 +2450,15 @@ Char: ${this.c}`;
|
|
|
2427
2450
|
polygonIndices: polygonPositionsCount > 65535 ? new Uint32Array(polygonObjectsCount + 1) : new Uint16Array(polygonObjectsCount + 1),
|
|
2428
2451
|
primitivePolygonIndices: polygonPositionsCount > 65535 ? new Uint32Array(polygonRingsCount + 1) : new Uint16Array(polygonRingsCount + 1),
|
|
2429
2452
|
positions: new PositionDataType(polygonPositionsCount * coordLength),
|
|
2430
|
-
triangles: [],
|
|
2431
2453
|
globalFeatureIds: new GlobalFeatureIdsDataType(polygonPositionsCount),
|
|
2432
2454
|
featureIds: polygonFeaturesCount > 65535 ? new Uint32Array(polygonPositionsCount) : new Uint16Array(polygonPositionsCount),
|
|
2433
2455
|
numericProps: {},
|
|
2434
2456
|
properties: [],
|
|
2435
2457
|
fields: []
|
|
2436
2458
|
};
|
|
2459
|
+
if (triangulate) {
|
|
2460
|
+
polygons.triangles = [];
|
|
2461
|
+
}
|
|
2437
2462
|
for (const object of [points, lines, polygons]) {
|
|
2438
2463
|
for (const propName of numericPropKeys) {
|
|
2439
2464
|
const T = propArrayTypes[propName];
|
|
@@ -2538,6 +2563,9 @@ Char: ${this.c}`;
|
|
|
2538
2563
|
endPosition,
|
|
2539
2564
|
coordLength
|
|
2540
2565
|
}) {
|
|
2566
|
+
if (!polygons.triangles) {
|
|
2567
|
+
return;
|
|
2568
|
+
}
|
|
2541
2569
|
const start = startPosition * coordLength;
|
|
2542
2570
|
const end = endPosition * coordLength;
|
|
2543
2571
|
const polygonPositions = polygons.positions.subarray(start, end);
|
|
@@ -2556,7 +2584,7 @@ Char: ${this.c}`;
|
|
|
2556
2584
|
return returnObj;
|
|
2557
2585
|
}
|
|
2558
2586
|
function makeAccessorObjects(points, lines, polygons, coordLength) {
|
|
2559
|
-
|
|
2587
|
+
const binaryFeatures = {
|
|
2560
2588
|
points: {
|
|
2561
2589
|
...points,
|
|
2562
2590
|
positions: { value: points.positions, size: coordLength },
|
|
@@ -2577,12 +2605,15 @@ Char: ${this.c}`;
|
|
|
2577
2605
|
positions: { value: polygons.positions, size: coordLength },
|
|
2578
2606
|
polygonIndices: { value: polygons.polygonIndices, size: 1 },
|
|
2579
2607
|
primitivePolygonIndices: { value: polygons.primitivePolygonIndices, size: 1 },
|
|
2580
|
-
triangles: { value: new Uint32Array(polygons.triangles), size: 1 },
|
|
2581
2608
|
globalFeatureIds: { value: polygons.globalFeatureIds, size: 1 },
|
|
2582
2609
|
featureIds: { value: polygons.featureIds, size: 1 },
|
|
2583
2610
|
numericProps: wrapProps(polygons.numericProps, 1)
|
|
2584
2611
|
}
|
|
2585
2612
|
};
|
|
2613
|
+
if (binaryFeatures.polygons && polygons.triangles) {
|
|
2614
|
+
binaryFeatures.polygons.triangles = { value: new Uint32Array(polygons.triangles), size: 1 };
|
|
2615
|
+
}
|
|
2616
|
+
return binaryFeatures;
|
|
2586
2617
|
}
|
|
2587
2618
|
function fillNumericProperties(object, properties, index, length) {
|
|
2588
2619
|
for (const numericPropName in object.numericProps) {
|
|
@@ -2791,14 +2822,15 @@ Char: ${this.c}`;
|
|
|
2791
2822
|
});
|
|
2792
2823
|
|
|
2793
2824
|
// ../gis/src/lib/geojson-to-binary.ts
|
|
2794
|
-
function geojsonToBinary(features, options = { fixRingWinding: true }) {
|
|
2825
|
+
function geojsonToBinary(features, options = { fixRingWinding: true, triangulate: true }) {
|
|
2795
2826
|
const geometryInfo = extractGeometryInfo(features);
|
|
2796
2827
|
const coordLength = geometryInfo.coordLength;
|
|
2797
2828
|
const { fixRingWinding } = options;
|
|
2798
2829
|
const flatFeatures = geojsonToFlatGeojson(features, { coordLength, fixRingWinding });
|
|
2799
2830
|
return flatGeojsonToBinary(flatFeatures, geometryInfo, {
|
|
2800
2831
|
numericPropKeys: options.numericPropKeys,
|
|
2801
|
-
PositionDataType: options.PositionDataType || Float32Array
|
|
2832
|
+
PositionDataType: options.PositionDataType || Float32Array,
|
|
2833
|
+
triangulate: options.triangulate
|
|
2802
2834
|
});
|
|
2803
2835
|
}
|
|
2804
2836
|
var init_geojson_to_binary = __esm({
|
|
@@ -2821,21 +2853,30 @@ Char: ${this.c}`;
|
|
|
2821
2853
|
return parseTextSync2(new TextDecoder().decode(arrayBuffer), options);
|
|
2822
2854
|
}
|
|
2823
2855
|
function parseTextSync2(text, options) {
|
|
2824
|
-
options = { ...
|
|
2825
|
-
options.
|
|
2856
|
+
options = { ...GeoJSONLoader.options, ...options };
|
|
2857
|
+
options.geojson = { ...GeoJSONLoader.options.geojson, ...options.geojson };
|
|
2826
2858
|
options.gis = options.gis || {};
|
|
2827
|
-
|
|
2828
|
-
|
|
2859
|
+
let geojson;
|
|
2860
|
+
try {
|
|
2861
|
+
geojson = JSON.parse(text);
|
|
2862
|
+
} catch {
|
|
2863
|
+
geojson = {};
|
|
2864
|
+
}
|
|
2865
|
+
const table = {
|
|
2866
|
+
shape: "geojson-table",
|
|
2867
|
+
type: "FeatureCollection",
|
|
2868
|
+
features: geojson?.features || []
|
|
2869
|
+
};
|
|
2829
2870
|
switch (options.gis.format) {
|
|
2830
2871
|
case "binary":
|
|
2831
|
-
return geojsonToBinary(table.
|
|
2872
|
+
return geojsonToBinary(table.features);
|
|
2832
2873
|
default:
|
|
2833
2874
|
return table;
|
|
2834
2875
|
}
|
|
2835
2876
|
}
|
|
2836
2877
|
function parseInBatches2(asyncIterator, options) {
|
|
2837
|
-
options = { ...
|
|
2838
|
-
options.json = { ...
|
|
2878
|
+
options = { ...GeoJSONLoader.options, ...options };
|
|
2879
|
+
options.json = { ...GeoJSONLoader.options.geojson, ...options.geojson };
|
|
2839
2880
|
const geojsonIterator = parseJSONInBatches(asyncIterator, options);
|
|
2840
2881
|
switch (options.gis.format) {
|
|
2841
2882
|
case "binary":
|
|
@@ -2850,24 +2891,12 @@ Char: ${this.c}`;
|
|
|
2850
2891
|
yield batch;
|
|
2851
2892
|
}
|
|
2852
2893
|
}
|
|
2853
|
-
var VERSION3,
|
|
2894
|
+
var VERSION3, GeoJSONWorkerLoader, GeoJSONLoader;
|
|
2854
2895
|
var init_geojson_loader = __esm({
|
|
2855
2896
|
"src/geojson-loader.ts"() {
|
|
2856
2897
|
init_src3();
|
|
2857
|
-
init_parse_json();
|
|
2858
2898
|
init_parse_json_in_batches();
|
|
2859
2899
|
VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
2860
|
-
DEFAULT_GEOJSON_LOADER_OPTIONS = {
|
|
2861
|
-
geojson: {
|
|
2862
|
-
shape: "object-row-table"
|
|
2863
|
-
},
|
|
2864
|
-
json: {
|
|
2865
|
-
jsonpaths: ["$", "$.features"]
|
|
2866
|
-
},
|
|
2867
|
-
gis: {
|
|
2868
|
-
format: "geojson"
|
|
2869
|
-
}
|
|
2870
|
-
};
|
|
2871
2900
|
GeoJSONWorkerLoader = {
|
|
2872
2901
|
name: "GeoJSON",
|
|
2873
2902
|
id: "geojson",
|
|
@@ -2878,7 +2907,18 @@ Char: ${this.c}`;
|
|
|
2878
2907
|
mimeTypes: ["application/geo+json"],
|
|
2879
2908
|
category: "geometry",
|
|
2880
2909
|
text: true,
|
|
2881
|
-
options:
|
|
2910
|
+
options: {
|
|
2911
|
+
geojson: {
|
|
2912
|
+
shape: "object-row-table"
|
|
2913
|
+
},
|
|
2914
|
+
json: {
|
|
2915
|
+
shape: "object-row-table",
|
|
2916
|
+
jsonpaths: ["$", "$.features"]
|
|
2917
|
+
},
|
|
2918
|
+
gis: {
|
|
2919
|
+
format: "geojson"
|
|
2920
|
+
}
|
|
2921
|
+
}
|
|
2882
2922
|
};
|
|
2883
2923
|
GeoJSONLoader = {
|
|
2884
2924
|
...GeoJSONWorkerLoader,
|
|
@@ -2889,7 +2929,7 @@ Char: ${this.c}`;
|
|
|
2889
2929
|
}
|
|
2890
2930
|
});
|
|
2891
2931
|
|
|
2892
|
-
// src/lib/
|
|
2932
|
+
// src/lib/encoder-utils/encode-utils.ts
|
|
2893
2933
|
function detectGeometryColumnIndex(table) {
|
|
2894
2934
|
const geometryIndex = table.schema?.fields.findIndex((field) => field.name === "geometry") ?? -1;
|
|
2895
2935
|
if (geometryIndex > -1) {
|
|
@@ -2917,15 +2957,53 @@ Char: ${this.c}`;
|
|
|
2917
2957
|
return properties;
|
|
2918
2958
|
}
|
|
2919
2959
|
var init_encode_utils = __esm({
|
|
2920
|
-
"src/lib/
|
|
2960
|
+
"src/lib/encoder-utils/encode-utils.ts"() {
|
|
2961
|
+
init_src();
|
|
2962
|
+
}
|
|
2963
|
+
});
|
|
2964
|
+
|
|
2965
|
+
// src/lib/encoder-utils/encode-table-row.ts
|
|
2966
|
+
function encodeTableRow(table, rowIndex, geometryColumnIndex, utf8Encoder) {
|
|
2967
|
+
const row = getTableRowAsObject(table, rowIndex);
|
|
2968
|
+
if (!row)
|
|
2969
|
+
return;
|
|
2970
|
+
const featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);
|
|
2971
|
+
const featureString = JSON.stringify(featureWithProperties);
|
|
2972
|
+
utf8Encoder.push(featureString);
|
|
2973
|
+
}
|
|
2974
|
+
function getFeatureFromRow(table, row, geometryColumnIndex) {
|
|
2975
|
+
const properties = getRowPropertyObject(table, row, [geometryColumnIndex]);
|
|
2976
|
+
const columnName = table.schema?.fields[geometryColumnIndex].name;
|
|
2977
|
+
let featureOrGeometry = columnName && row[columnName];
|
|
2978
|
+
if (!featureOrGeometry) {
|
|
2979
|
+
return { type: "Feature", geometry: null, properties };
|
|
2980
|
+
}
|
|
2981
|
+
if (typeof featureOrGeometry === "string") {
|
|
2982
|
+
try {
|
|
2983
|
+
featureOrGeometry = JSON.parse(featureOrGeometry);
|
|
2984
|
+
} catch (err) {
|
|
2985
|
+
throw new Error("Invalid string geometry");
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
if (typeof featureOrGeometry !== "object" || typeof featureOrGeometry?.type !== "string") {
|
|
2989
|
+
throw new Error("invalid geometry column value");
|
|
2990
|
+
}
|
|
2991
|
+
if (featureOrGeometry?.type === "Feature") {
|
|
2992
|
+
return { ...featureOrGeometry, properties };
|
|
2993
|
+
}
|
|
2994
|
+
return { type: "Feature", geometry: featureOrGeometry, properties };
|
|
2995
|
+
}
|
|
2996
|
+
var init_encode_table_row = __esm({
|
|
2997
|
+
"src/lib/encoder-utils/encode-table-row.ts"() {
|
|
2921
2998
|
init_src();
|
|
2999
|
+
init_encode_utils();
|
|
2922
3000
|
}
|
|
2923
3001
|
});
|
|
2924
3002
|
|
|
2925
|
-
// src/lib/
|
|
3003
|
+
// src/lib/encoder-utils/utf8-encoder.ts
|
|
2926
3004
|
var Utf8ArrayBufferEncoder;
|
|
2927
3005
|
var init_utf8_encoder = __esm({
|
|
2928
|
-
"src/lib/
|
|
3006
|
+
"src/lib/encoder-utils/utf8-encoder.ts"() {
|
|
2929
3007
|
Utf8ArrayBufferEncoder = class {
|
|
2930
3008
|
constructor(chunkSize) {
|
|
2931
3009
|
this.strings = [];
|
|
@@ -2965,10 +3043,11 @@ Char: ${this.c}`;
|
|
|
2965
3043
|
utf8Encoder.push("[");
|
|
2966
3044
|
let geometryColumn = options.geojson.geometryColumn;
|
|
2967
3045
|
let isFirstLine = true;
|
|
2968
|
-
|
|
2969
|
-
|
|
3046
|
+
let start = 0;
|
|
3047
|
+
for await (const tableBatch of batchIterator) {
|
|
3048
|
+
const end = start + getTableLength(tableBatch);
|
|
2970
3049
|
if (!geometryColumn) {
|
|
2971
|
-
geometryColumn = geometryColumn || detectGeometryColumnIndex(
|
|
3050
|
+
geometryColumn = geometryColumn || detectGeometryColumnIndex(tableBatch);
|
|
2972
3051
|
}
|
|
2973
3052
|
for (let rowIndex = start; rowIndex < end; ++rowIndex) {
|
|
2974
3053
|
if (!isFirstLine) {
|
|
@@ -2976,10 +3055,11 @@ Char: ${this.c}`;
|
|
|
2976
3055
|
}
|
|
2977
3056
|
utf8Encoder.push("\n");
|
|
2978
3057
|
isFirstLine = false;
|
|
2979
|
-
|
|
3058
|
+
encodeTableRow(tableBatch, rowIndex, geometryColumn, utf8Encoder);
|
|
2980
3059
|
if (utf8Encoder.isFull()) {
|
|
2981
3060
|
yield utf8Encoder.getArrayBufferBatch();
|
|
2982
3061
|
}
|
|
3062
|
+
start = end;
|
|
2983
3063
|
}
|
|
2984
3064
|
const arrayBufferBatch = utf8Encoder.getArrayBufferBatch();
|
|
2985
3065
|
if (arrayBufferBatch.byteLength > 0) {
|
|
@@ -2993,41 +3073,11 @@ Char: ${this.c}`;
|
|
|
2993
3073
|
}
|
|
2994
3074
|
yield utf8Encoder.getArrayBufferBatch();
|
|
2995
3075
|
}
|
|
2996
|
-
function encodeRow(table, rowIndex, geometryColumnIndex, utf8Encoder) {
|
|
2997
|
-
const row = getTableRowAsObject(table, rowIndex);
|
|
2998
|
-
if (!row)
|
|
2999
|
-
return;
|
|
3000
|
-
const featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);
|
|
3001
|
-
const featureString = JSON.stringify(featureWithProperties);
|
|
3002
|
-
utf8Encoder.push(featureString);
|
|
3003
|
-
}
|
|
3004
|
-
function getFeatureFromRow(table, row, geometryColumnIndex) {
|
|
3005
|
-
const properties = getRowPropertyObject(table, row, [geometryColumnIndex]);
|
|
3006
|
-
const columnName = table.schema?.fields[geometryColumnIndex].name;
|
|
3007
|
-
let featureOrGeometry = columnName && row[columnName];
|
|
3008
|
-
if (!featureOrGeometry) {
|
|
3009
|
-
return { type: "Feature", geometry: null, properties };
|
|
3010
|
-
}
|
|
3011
|
-
if (typeof featureOrGeometry === "string") {
|
|
3012
|
-
try {
|
|
3013
|
-
featureOrGeometry = JSON.parse(featureOrGeometry);
|
|
3014
|
-
} catch (err) {
|
|
3015
|
-
throw new Error("Invalid string geometry");
|
|
3016
|
-
}
|
|
3017
|
-
}
|
|
3018
|
-
if (typeof featureOrGeometry !== "object" || typeof featureOrGeometry?.type !== "string") {
|
|
3019
|
-
throw new Error("invalid geometry column value");
|
|
3020
|
-
}
|
|
3021
|
-
if (featureOrGeometry?.type === "Feature") {
|
|
3022
|
-
return { ...featureOrGeometry, properties };
|
|
3023
|
-
}
|
|
3024
|
-
return { type: "Feature", geometry: featureOrGeometry, properties };
|
|
3025
|
-
}
|
|
3026
3076
|
var init_geojson_encoder = __esm({
|
|
3027
3077
|
"src/lib/encoders/geojson-encoder.ts"() {
|
|
3028
|
-
init_src();
|
|
3029
3078
|
init_src();
|
|
3030
3079
|
init_encode_utils();
|
|
3080
|
+
init_encode_table_row();
|
|
3031
3081
|
init_utf8_encoder();
|
|
3032
3082
|
}
|
|
3033
3083
|
});
|
|
@@ -11,24 +11,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
12
12
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
13
13
|
var _gis = require("@loaders.gl/gis");
|
|
14
|
-
var _parseJson = require("./lib/parsers/parse-json");
|
|
15
14
|
var _parseJsonInBatches = require("./lib/parsers/parse-json-in-batches");
|
|
16
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
17
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
19
18
|
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
20
|
-
var VERSION = typeof "4.0.0-
|
|
21
|
-
var DEFAULT_GEOJSON_LOADER_OPTIONS = {
|
|
22
|
-
geojson: {
|
|
23
|
-
shape: 'object-row-table'
|
|
24
|
-
},
|
|
25
|
-
json: {
|
|
26
|
-
jsonpaths: ['$', '$.features']
|
|
27
|
-
},
|
|
28
|
-
gis: {
|
|
29
|
-
format: 'geojson'
|
|
30
|
-
}
|
|
31
|
-
};
|
|
19
|
+
var VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
|
|
32
20
|
var GeoJSONWorkerLoader = {
|
|
33
21
|
name: 'GeoJSON',
|
|
34
22
|
id: 'geojson',
|
|
@@ -39,7 +27,18 @@ var GeoJSONWorkerLoader = {
|
|
|
39
27
|
mimeTypes: ['application/geo+json'],
|
|
40
28
|
category: 'geometry',
|
|
41
29
|
text: true,
|
|
42
|
-
options:
|
|
30
|
+
options: {
|
|
31
|
+
geojson: {
|
|
32
|
+
shape: 'object-row-table'
|
|
33
|
+
},
|
|
34
|
+
json: {
|
|
35
|
+
shape: 'object-row-table',
|
|
36
|
+
jsonpaths: ['$', '$.features']
|
|
37
|
+
},
|
|
38
|
+
gis: {
|
|
39
|
+
format: 'geojson'
|
|
40
|
+
}
|
|
41
|
+
}
|
|
43
42
|
};
|
|
44
43
|
exports.GeoJSONWorkerLoader = GeoJSONWorkerLoader;
|
|
45
44
|
var GeoJSONLoader = _objectSpread(_objectSpread({}, GeoJSONWorkerLoader), {}, {
|
|
@@ -66,21 +65,31 @@ function _parse() {
|
|
|
66
65
|
return _parse.apply(this, arguments);
|
|
67
66
|
}
|
|
68
67
|
function parseTextSync(text, options) {
|
|
69
|
-
|
|
70
|
-
options
|
|
68
|
+
var _geojson;
|
|
69
|
+
options = _objectSpread(_objectSpread({}, GeoJSONLoader.options), options);
|
|
70
|
+
options.geojson = _objectSpread(_objectSpread({}, GeoJSONLoader.options.geojson), options.geojson);
|
|
71
71
|
options.gis = options.gis || {};
|
|
72
|
-
var
|
|
73
|
-
|
|
72
|
+
var geojson;
|
|
73
|
+
try {
|
|
74
|
+
geojson = JSON.parse(text);
|
|
75
|
+
} catch (_unused) {
|
|
76
|
+
geojson = {};
|
|
77
|
+
}
|
|
78
|
+
var table = {
|
|
79
|
+
shape: 'geojson-table',
|
|
80
|
+
type: 'FeatureCollection',
|
|
81
|
+
features: ((_geojson = geojson) === null || _geojson === void 0 ? void 0 : _geojson.features) || []
|
|
82
|
+
};
|
|
74
83
|
switch (options.gis.format) {
|
|
75
84
|
case 'binary':
|
|
76
|
-
return (0, _gis.geojsonToBinary)(table.
|
|
85
|
+
return (0, _gis.geojsonToBinary)(table.features);
|
|
77
86
|
default:
|
|
78
87
|
return table;
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
function parseInBatches(asyncIterator, options) {
|
|
82
|
-
options = _objectSpread(_objectSpread({},
|
|
83
|
-
options.json = _objectSpread(_objectSpread({},
|
|
91
|
+
options = _objectSpread(_objectSpread({}, GeoJSONLoader.options), options);
|
|
92
|
+
options.json = _objectSpread(_objectSpread({}, GeoJSONLoader.options.geojson), options.geojson);
|
|
84
93
|
var geojsonIterator = (0, _parseJsonInBatches.parseJSONInBatches)(asyncIterator, options);
|
|
85
94
|
switch (options.gis.format) {
|
|
86
95
|
case 'binary':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJson","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","DEFAULT_GEOJSON_LOADER_OPTIONS","geojson","shape","json","jsonpaths","gis","format","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","table","parseJSONSync","geojsonToBinary","data","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\nimport {GeoJSONRowTable} from '@loaders.gl/schema';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\nconst DEFAULT_GEOJSON_LOADER_OPTIONS = {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: DEFAULT_GEOJSON_LOADER_OPTIONS\n};\n\nexport const GeoJSONLoader: LoaderWithParser = {\n ...GeoJSONWorkerLoader,\n parse,\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer, options) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text, options) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...DEFAULT_GEOJSON_LOADER_OPTIONS, ...options};\n options.json = {...DEFAULT_GEOJSON_LOADER_OPTIONS.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<any> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...DEFAULT_GEOJSON_LOADER_OPTIONS, ...options};\n options.json = {...DEFAULT_GEOJSON_LOADER_OPTIONS.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","_geojson","JSON","_unused","table","type","features","geojsonToBinary","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","data","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\n// import {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n shape: 'object-row-table',\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n\n let geojson;\n try {\n geojson = JSON.parse(text);\n } catch {\n geojson = {};\n }\n\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n // TODO - deduce schema from geojson\n // TODO check that parsed data is of type FeatureCollection\n type: 'FeatureCollection',\n features: geojson?.features || []\n };\n\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.features);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-writer.js","names":["_geojsonEncoder","require","GeoJSONWriter","id","version","module","name","extensions","mimeTypes","options","geojson","featureArray","geometryColumn","text","encodeInBatches","tableIterator","encodeTableAsGeojsonInBatches","exports"],"sources":["../../src/geojson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright Foursquare, Inc 20222\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport
|
|
1
|
+
{"version":3,"file":"geojson-writer.js","names":["_geojsonEncoder","require","GeoJSONWriter","id","version","module","name","extensions","mimeTypes","options","geojson","featureArray","geometryColumn","text","encodeInBatches","tableIterator","encodeTableAsGeojsonInBatches","exports"],"sources":["../../src/geojson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright Foursquare, Inc 20222\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport {encodeTableAsGeojsonInBatches} from './lib/encoders/geojson-encoder';\n\nexport type GeoJSONWriterOptions = WriterOptions & {\n geojson?: {\n featureArray?: boolean;\n geometryColumn?: number | null;\n };\n chunkSize?: number;\n};\n\nexport const GeoJSONWriter: Writer<Table, TableBatch, GeoJSONWriterOptions> = {\n id: 'geojson',\n version: 'latest',\n module: 'geojson',\n name: 'GeoJSON',\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n options: {\n geojson: {\n featureArray: false,\n geometryColumn: null\n }\n },\n text: true,\n encodeInBatches: (tableIterator: AsyncIterable<TableBatch>, options) =>\n encodeTableAsGeojsonInBatches(tableIterator, options)\n};\n"],"mappings":";;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAUO,IAAMC,aAA8D,GAAG;EAC5EC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE,QAAQ;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,sBAAsB,CAAC;EACnCC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,YAAY,EAAE,KAAK;MACnBC,cAAc,EAAE;IAClB;EACF,CAAC;EACDC,IAAI,EAAE,IAAI;EACVC,eAAe,EAAE,SAAAA,gBAACC,aAAwC,EAAEN,OAAO;IAAA,OACjE,IAAAO,6CAA6B,EAACD,aAAa,EAAEN,OAAO,CAAC;EAAA;AACzD,CAAC;AAACQ,OAAA,CAAAf,aAAA,GAAAA,aAAA"}
|
package/dist/es5/json-loader.js
CHANGED
|
@@ -12,10 +12,10 @@ var _parseJson = require("./lib/parsers/parse-json");
|
|
|
12
12
|
var _parseJsonInBatches = require("./lib/parsers/parse-json-in-batches");
|
|
13
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
-
var VERSION = typeof "4.0.0-
|
|
15
|
+
var VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
|
|
16
16
|
var DEFAULT_JSON_LOADER_OPTIONS = {
|
|
17
17
|
json: {
|
|
18
|
-
shape: 'row-table',
|
|
18
|
+
shape: 'object-row-table',
|
|
19
19
|
table: false,
|
|
20
20
|
jsonpaths: []
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-loader.js","names":["_parseJson","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","exports","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","TextDecoder","decode","stop","jsonOptions","parseJSONSync","asyncIterator","parseJSONInBatches"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\ntype ParseJSONOptions = {\n shape
|
|
1
|
+
{"version":3,"file":"json-loader.js","names":["_parseJson","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","VERSION","DEFAULT_JSON_LOADER_OPTIONS","json","shape","table","jsonpaths","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parse","parseTextSync","parseInBatches","options","exports","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","TextDecoder","decode","stop","jsonOptions","parseJSONSync","asyncIterator","parseJSONInBatches"],"sources":["../../src/json-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\ntype ParseJSONOptions = {\n shape: 'object-row-table'; // TODO - 'auto'?\n table?: boolean;\n jsonpaths?: string[];\n};\n\n/**\n * @param table -\n * @param jsonpaths -\n */\nexport type JSONLoaderOptions = LoaderOptions & {\n json?: ParseJSONOptions;\n};\n\nconst DEFAULT_JSON_LOADER_OPTIONS: {json: Required<ParseJSONOptions>} = {\n json: {\n shape: 'object-row-table',\n table: false,\n jsonpaths: []\n // batchSize: 'auto'\n }\n};\n\nexport const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions> = {\n name: 'JSON',\n id: 'json',\n module: 'json',\n version: VERSION,\n extensions: ['json', 'geojson'],\n mimeTypes: ['application/json'],\n category: 'table',\n text: true,\n parse,\n parseTextSync,\n parseInBatches,\n options: DEFAULT_JSON_LOADER_OPTIONS\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: JSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: JSONLoaderOptions) {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONSync(text, jsonOptions as JSONLoaderOptions);\n}\n\nfunction parseInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: JSONLoaderOptions\n): AsyncIterable<TableBatch> {\n const jsonOptions = {...options, json: {...DEFAULT_JSON_LOADER_OPTIONS.json, ...options?.json}};\n return parseJSONInBatches(asyncIterator, jsonOptions as JSONLoaderOptions);\n}\n"],"mappings":"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"}
|