@map-colonies/mc-utils 3.5.4 → 3.5.6
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/files/shapefile/core/chunkBuilder.d.ts +1 -0
- package/dist/files/shapefile/core/chunkBuilder.d.ts.map +1 -1
- package/dist/files/shapefile/core/chunkBuilder.js +5 -1
- package/dist/files/shapefile/core/chunkBuilder.js.map +1 -1
- package/dist/files/shapefile/core/gdalShapefileReader.d.ts +65 -0
- package/dist/files/shapefile/core/gdalShapefileReader.d.ts.map +1 -0
- package/dist/files/shapefile/core/gdalShapefileReader.js +112 -0
- package/dist/files/shapefile/core/gdalShapefileReader.js.map +1 -0
- package/dist/files/shapefile/core/progressTracker.d.ts.map +1 -1
- package/dist/files/shapefile/core/progressTracker.js +0 -2
- package/dist/files/shapefile/core/progressTracker.js.map +1 -1
- package/dist/files/shapefile/core/shapeFileReader.d.ts.map +1 -1
- package/dist/files/shapefile/core/shapeFileReader.js +14 -7
- package/dist/files/shapefile/core/shapeFileReader.js.map +1 -1
- package/dist/files/shapefile/index.d.ts +1 -0
- package/dist/files/shapefile/index.d.ts.map +1 -1
- package/dist/files/shapefile/index.js +4 -1
- package/dist/files/shapefile/index.js.map +1 -1
- package/dist/files/shapefile/types/index.d.ts +2 -1
- package/dist/files/shapefile/types/index.d.ts.map +1 -1
- package/dist/files/shapefile/types/index.js.map +1 -1
- package/dist/files/shapefile/types/state.d.ts +0 -1
- package/dist/files/shapefile/types/state.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -6,6 +6,7 @@ export declare class ChunkBuilder {
|
|
|
6
6
|
private features;
|
|
7
7
|
private skippedFeatures;
|
|
8
8
|
private currentVerticesCount;
|
|
9
|
+
private skippedVerticesCount;
|
|
9
10
|
constructor(maxVertices: number, chunkIndex?: number);
|
|
10
11
|
get chunkId(): number;
|
|
11
12
|
canAddFeature(feature: Feature): FeatureStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunkBuilder.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/chunkBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/D,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"chunkBuilder.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/chunkBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/D,qBAAa,YAAY;IAMJ,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAU,OAAO,CAAC,UAAU;IAL3E,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;gBAED,WAAW,EAAE,MAAM,EAAU,UAAU,GAAE,MAAU;IAOvF,IAAW,OAAO,IAAI,MAAM,CAE3B;IAEM,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa;IAgB9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASlC,KAAK,IAAI,cAAc;IAUvB,SAAS,IAAI,IAAI;IAOxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -10,12 +10,14 @@ class ChunkBuilder {
|
|
|
10
10
|
features;
|
|
11
11
|
skippedFeatures;
|
|
12
12
|
currentVerticesCount;
|
|
13
|
+
skippedVerticesCount;
|
|
13
14
|
constructor(maxVertices, chunkIndex = 0) {
|
|
14
15
|
this.maxVertices = maxVertices;
|
|
15
16
|
this.chunkIndex = chunkIndex;
|
|
16
17
|
this.features = [];
|
|
17
18
|
this.skippedFeatures = [];
|
|
18
19
|
this.currentVerticesCount = 0;
|
|
20
|
+
this.skippedVerticesCount = 0;
|
|
19
21
|
}
|
|
20
22
|
get chunkId() {
|
|
21
23
|
return this.chunkIndex;
|
|
@@ -26,6 +28,7 @@ class ChunkBuilder {
|
|
|
26
28
|
if (featureVertices > this.maxVertices) {
|
|
27
29
|
const featureWithVertices = { ...feature, properties: { ...feature.properties, vertices: featureVertices } };
|
|
28
30
|
this.skippedFeatures.push(featureWithVertices);
|
|
31
|
+
this.skippedVerticesCount += featureVertices;
|
|
29
32
|
return index_1.FeatureStatus.SKIPPED;
|
|
30
33
|
}
|
|
31
34
|
const canAdd = this.currentVerticesCount + featureVertices <= this.maxVertices;
|
|
@@ -43,8 +46,9 @@ class ChunkBuilder {
|
|
|
43
46
|
return {
|
|
44
47
|
id: this.chunkIndex,
|
|
45
48
|
features: this.features,
|
|
46
|
-
skippedFeatures: this.skippedFeatures,
|
|
47
49
|
verticesCount: this.currentVerticesCount,
|
|
50
|
+
skippedFeatures: this.skippedFeatures,
|
|
51
|
+
skippedVerticesCount: this.skippedVerticesCount,
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
54
|
nextChunk() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunkBuilder.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/chunkBuilder.ts"],"names":[],"mappings":";;;AACA,0CAA+D;AAC/D,oDAAsD;AACtD,0DAAoE;AAEpE,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"chunkBuilder.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/chunkBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Feature } from 'geojson';
|
|
2
|
+
/**
|
|
3
|
+
* Result of reading a feature from the shapefile
|
|
4
|
+
* Matches the interface pattern used by the shapefile package
|
|
5
|
+
*/
|
|
6
|
+
export interface ShapefileReadResult {
|
|
7
|
+
done: boolean;
|
|
8
|
+
value: Feature;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Interface for shapefile reader that can be used interchangeably
|
|
12
|
+
* with either gdal-async or the shapefile package
|
|
13
|
+
*/
|
|
14
|
+
export interface IShapefileSource {
|
|
15
|
+
read: () => Promise<ShapefileReadResult>;
|
|
16
|
+
close: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Adapter class that wraps gdal-async to provide a shapefile reader
|
|
20
|
+
* compatible with the interface expected by ShapefileChunkReader.
|
|
21
|
+
*
|
|
22
|
+
* This adapter allows seamless migration from the 'shapefile' npm package
|
|
23
|
+
* to 'gdal-async' while maintaining the same API contract.
|
|
24
|
+
*/
|
|
25
|
+
export declare class GdalShapefileReader implements IShapefileSource {
|
|
26
|
+
private readonly dataset;
|
|
27
|
+
private readonly layer;
|
|
28
|
+
private isFirstRead;
|
|
29
|
+
private constructor();
|
|
30
|
+
/**
|
|
31
|
+
* Opens a shapefile using gdal-async and returns a reader instance.
|
|
32
|
+
* This is the async factory method to create a GdalShapefileReader.
|
|
33
|
+
*
|
|
34
|
+
* @param shapefilePath - Path to the .shp file
|
|
35
|
+
* @returns Promise resolving to a GdalShapefileReader instance
|
|
36
|
+
*/
|
|
37
|
+
static open(shapefilePath: string): Promise<GdalShapefileReader>;
|
|
38
|
+
/**
|
|
39
|
+
* Reads the next feature from the shapefile.
|
|
40
|
+
* Returns { done: true, value: undefined } when no more features are available.
|
|
41
|
+
*
|
|
42
|
+
* @returns Promise resolving to the read result with done flag and feature value
|
|
43
|
+
*/
|
|
44
|
+
readonly read: () => Promise<ShapefileReadResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Closes the underlying dataset and releases resources.
|
|
47
|
+
* Should be called when done reading the shapefile.
|
|
48
|
+
*/
|
|
49
|
+
close(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Converts a GDAL feature to a GeoJSON Feature object.
|
|
52
|
+
*
|
|
53
|
+
* @param gdalFeature - The GDAL feature to convert
|
|
54
|
+
* @returns GeoJSON Feature object
|
|
55
|
+
*/
|
|
56
|
+
private convertToGeoJsonFeature;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Factory function to open a shapefile using gdal-async.
|
|
60
|
+
*
|
|
61
|
+
* @param shapefilePath - Path to the .shp file
|
|
62
|
+
* @returns Promise resolving to a shapefile reader
|
|
63
|
+
*/
|
|
64
|
+
export declare function openShapefile(shapefilePath: string): Promise<IShapefileSource>;
|
|
65
|
+
//# sourceMappingURL=gdalShapefileReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gdalShapefileReader.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/gdalShapefileReader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA+B,MAAM,SAAS,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAItC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,WAAW,CAAQ;IAE3B,OAAO;IAIP;;;;;;OAMG;WACiB,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO7E;;;;;OAKG;IAEH,SAAgB,IAAI,QAAO,QAAQ,mBAAmB,CAAC,CAyBrD;IAEF;;;OAGG;IACI,KAAK,IAAI,IAAI;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CAyBhC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEpF"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.openShapefile = exports.GdalShapefileReader = void 0;
|
|
7
|
+
const gdal_async_1 = __importDefault(require("gdal-async"));
|
|
8
|
+
/**
|
|
9
|
+
* Adapter class that wraps gdal-async to provide a shapefile reader
|
|
10
|
+
* compatible with the interface expected by ShapefileChunkReader.
|
|
11
|
+
*
|
|
12
|
+
* This adapter allows seamless migration from the 'shapefile' npm package
|
|
13
|
+
* to 'gdal-async' while maintaining the same API contract.
|
|
14
|
+
*/
|
|
15
|
+
class GdalShapefileReader {
|
|
16
|
+
dataset;
|
|
17
|
+
layer;
|
|
18
|
+
isFirstRead = true;
|
|
19
|
+
constructor(dataset) {
|
|
20
|
+
this.dataset = dataset;
|
|
21
|
+
this.layer = dataset.layers.get(0);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Opens a shapefile using gdal-async and returns a reader instance.
|
|
25
|
+
* This is the async factory method to create a GdalShapefileReader.
|
|
26
|
+
*
|
|
27
|
+
* @param shapefilePath - Path to the .shp file
|
|
28
|
+
* @returns Promise resolving to a GdalShapefileReader instance
|
|
29
|
+
*/
|
|
30
|
+
static async open(shapefilePath) {
|
|
31
|
+
// Note: GDAL handles .dbf file association automatically based on the .shp path
|
|
32
|
+
// and typically reads encoding from .cpg file if present, or uses UTF-8 by default
|
|
33
|
+
const dataset = await gdal_async_1.default.openAsync(shapefilePath);
|
|
34
|
+
return new GdalShapefileReader(dataset);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Reads the next feature from the shapefile.
|
|
38
|
+
* Returns { done: true, value: undefined } when no more features are available.
|
|
39
|
+
*
|
|
40
|
+
* @returns Promise resolving to the read result with done flag and feature value
|
|
41
|
+
*/
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
43
|
+
read = () => {
|
|
44
|
+
// Note: GDAL types say Feature is always returned, but in practice it returns null when done
|
|
45
|
+
let gdalFeature;
|
|
46
|
+
if (this.isFirstRead) {
|
|
47
|
+
this.isFirstRead = false;
|
|
48
|
+
gdalFeature = this.layer.features.first();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
gdalFeature = this.layer.features.next();
|
|
52
|
+
}
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
|
|
54
|
+
if (!gdalFeature) {
|
|
55
|
+
return Promise.resolve({
|
|
56
|
+
done: true,
|
|
57
|
+
value: undefined,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const feature = this.convertToGeoJsonFeature(gdalFeature);
|
|
61
|
+
return Promise.resolve({
|
|
62
|
+
done: false,
|
|
63
|
+
value: feature,
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Closes the underlying dataset and releases resources.
|
|
68
|
+
* Should be called when done reading the shapefile.
|
|
69
|
+
*/
|
|
70
|
+
close() {
|
|
71
|
+
this.dataset.close();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Converts a GDAL feature to a GeoJSON Feature object.
|
|
75
|
+
*
|
|
76
|
+
* @param gdalFeature - The GDAL feature to convert
|
|
77
|
+
* @returns GeoJSON Feature object
|
|
78
|
+
*/
|
|
79
|
+
convertToGeoJsonFeature(gdalFeature) {
|
|
80
|
+
const geometry = gdalFeature.getGeometry();
|
|
81
|
+
const properties = gdalFeature.fields.toObject();
|
|
82
|
+
// Convert GDAL geometry to GeoJSON
|
|
83
|
+
let geoJsonGeometry = null;
|
|
84
|
+
if (geometry) {
|
|
85
|
+
geoJsonGeometry = geometry.toObject();
|
|
86
|
+
}
|
|
87
|
+
const feature = {
|
|
88
|
+
type: 'Feature',
|
|
89
|
+
geometry: geoJsonGeometry,
|
|
90
|
+
properties,
|
|
91
|
+
};
|
|
92
|
+
// Preserve feature ID if present
|
|
93
|
+
const fid = gdalFeature.fid;
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
95
|
+
if (fid !== undefined) {
|
|
96
|
+
feature.id = fid;
|
|
97
|
+
}
|
|
98
|
+
return feature;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.GdalShapefileReader = GdalShapefileReader;
|
|
102
|
+
/**
|
|
103
|
+
* Factory function to open a shapefile using gdal-async.
|
|
104
|
+
*
|
|
105
|
+
* @param shapefilePath - Path to the .shp file
|
|
106
|
+
* @returns Promise resolving to a shapefile reader
|
|
107
|
+
*/
|
|
108
|
+
async function openShapefile(shapefilePath) {
|
|
109
|
+
return GdalShapefileReader.open(shapefilePath);
|
|
110
|
+
}
|
|
111
|
+
exports.openShapefile = openShapefile;
|
|
112
|
+
//# sourceMappingURL=gdalShapefileReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gdalShapefileReader.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/gdalShapefileReader.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAqB9B;;;;;;GAMG;AACH,MAAa,mBAAmB;IAIO;IAHpB,KAAK,CAAa;IAC3B,WAAW,GAAG,IAAI,CAAC;IAE3B,YAAqC,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QACxD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAqB;QAC5C,gFAAgF;QAChF,mFAAmF;QACnF,MAAM,OAAO,GAAG,MAAM,oBAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,qEAAqE;IACrD,IAAI,GAAG,GAAiC,EAAE;QACxD,6FAA6F;QAC7F,IAAI,WAAgC,CAAC;QAErC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC3C;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1C;QAED,sHAAsH;QACtH,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAA+B;aACvC,CAAC,CAAC;SACJ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;OAGG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,WAAyB;QACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAuB,CAAC;QAEtE,mCAAmC;QACnC,IAAI,eAAe,GAAoB,IAAI,CAAC;QAC5C,IAAI,QAAQ,EAAE;YACZ,eAAe,GAAG,QAAQ,CAAC,QAAQ,EAAc,CAAC;SACnD;QAED,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,eAA2B;YACrC,UAAU;SACX,CAAC;QAEF,iCAAiC;QACjC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;QAC5B,uEAAuE;QACvE,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;SAClB;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA/FD,kDA+FC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,aAAqB;IACvD,OAAO,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC;AAFD,sCAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressTracker.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/progressTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjF;;;OAGG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;IAE5B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,MAAM,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,EAAE,MAAM,YAAY,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAS;gBAEb,OAAO,EAAE,sBAAsB;IAoB3C,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAK5E,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,oBAAoB,IAAI,MAAM;IAI9B,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,YAAY;
|
|
1
|
+
{"version":3,"file":"progressTracker.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/progressTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjF;;;OAGG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;IAE5B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,MAAM,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,EAAE,MAAM,YAAY,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAS;gBAEb,OAAO,EAAE,sBAAsB;IAoB3C,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAK5E,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,oBAAoB,IAAI,MAAM;IAI9B,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,YAAY;CA4CzC"}
|
|
@@ -64,13 +64,11 @@ class ProgressTracker {
|
|
|
64
64
|
const totalEstimatedTimeMs = (elapsedTimeMs / percentage) * maxPercentage;
|
|
65
65
|
estimatedRemainingTimeMs = totalEstimatedTimeMs - elapsedTimeMs;
|
|
66
66
|
}
|
|
67
|
-
const estimatedTotalChunks = this.totalVertices > 0 ? Math.ceil(this.totalVertices / this.maxVerticesPerChunk) : this.processedChunks;
|
|
68
67
|
const endTime = this.processedFeatures === this.totalFeatures ? currentTime : undefined;
|
|
69
68
|
return {
|
|
70
69
|
processedFeatures: this.processedFeatures,
|
|
71
70
|
totalFeatures: this.totalFeatures,
|
|
72
71
|
processedChunks: this.processedChunks,
|
|
73
|
-
totalChunks: estimatedTotalChunks,
|
|
74
72
|
processedVertices: this.processedVertices,
|
|
75
73
|
totalVertices: this.totalVertices,
|
|
76
74
|
skippedFeatures: this.skippedFeatures,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressTracker.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/progressTracker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"progressTracker.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/progressTracker.ts"],"names":[],"mappings":";;;AA+CA;;GAEG;AACH,MAAa,eAAe;IACT,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IACrC,iBAAiB,CAAS;IAC1B,iBAAiB,CAAS;IAC1B,eAAe,CAAS;IACxB,eAAe,CAAS;IAEhC,YAAmB,OAA+B;QAChD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI;YACjD,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;IACzD,CAAC;IAEM,oBAAoB,CAAC,aAAqB,EAAE,iBAAyB;QAC1E,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC;IAC1C,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACrC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IAChC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,iBAAiB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnD,mDAAmD;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;YAC1B,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,aAAa,EAAE,aAAa,CAAC,CAAC;SACrG;QAED,8BAA8B;QAC9B,MAAM,qBAAqB,GAAG,IAAI,CAAC;QACnC,MAAM,cAAc,GAAG,aAAa,GAAG,qBAAqB,CAAC;QAC7D,MAAM,iBAAiB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,eAAe,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvF,0BAA0B;QAC1B,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,aAAa,EAAE;YAChD,MAAM,oBAAoB,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,aAAa,CAAC;YAC1E,wBAAwB,GAAG,oBAAoB,GAAG,aAAa,CAAC;SACjE;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAExF,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU;YACV,aAAa;YACb,wBAAwB;YACxB,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;SACR,CAAC;IACJ,CAAC;CACF;AA3FD,0CA2FC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeFileReader.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/shapeFileReader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shapeFileReader.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/core/shapeFileReader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,cAAc,EAAmB,YAAY,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAMvH,qBAAa,oBAAoB;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ3C,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,SAAS,CAAgC;gBAEb,OAAO,EAAE,aAAa;IAE1D;;;;OAIG;IACU,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0F5F;;;;OAIG;IACU,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;YA0CvG,YAAY;IA+B1B;;;OAGG;YACW,mBAAmB;YAenB,iBAAiB;IAuB/B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;CAG5B"}
|
|
@@ -4,10 +4,10 @@ exports.ShapefileChunkReader = void 0;
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
|
6
6
|
const node_crypto_1 = require("node:crypto");
|
|
7
|
-
const shapefile_1 = require("shapefile");
|
|
8
7
|
const vertices_1 = require("../../../geo/vertices");
|
|
9
8
|
const types_1 = require("../types");
|
|
10
9
|
const chunkBuilder_1 = require("./chunkBuilder");
|
|
10
|
+
const gdalShapefileReader_1 = require("./gdalShapefileReader");
|
|
11
11
|
const metricsManager_1 = require("./metricsManager");
|
|
12
12
|
const progressTracker_1 = require("./progressTracker");
|
|
13
13
|
class ShapefileChunkReader {
|
|
@@ -27,10 +27,9 @@ class ShapefileChunkReader {
|
|
|
27
27
|
const chunkIndex = await this.initializeReading(shapefilePath);
|
|
28
28
|
let readFeatureIndex = -1;
|
|
29
29
|
const chunkBuilder = new chunkBuilder_1.ChunkBuilder(this.options.maxVerticesPerChunk, chunkIndex);
|
|
30
|
+
let reader;
|
|
30
31
|
try {
|
|
31
|
-
|
|
32
|
-
//support feature properties with hebrew characters by setting encoding to 'utf-8'
|
|
33
|
-
const reader = await (0, shapefile_1.open)(shapefilePath, dbfPath, { encoding: 'utf-8' });
|
|
32
|
+
reader = await (0, gdalShapefileReader_1.openShapefile)(shapefilePath);
|
|
34
33
|
this.options.logger?.info({ msg: 'Reading started' });
|
|
35
34
|
const generateFeatureId = this.options.generateFeatureId ?? false;
|
|
36
35
|
let readStart = performance.now();
|
|
@@ -95,6 +94,9 @@ class ShapefileChunkReader {
|
|
|
95
94
|
});
|
|
96
95
|
throw error;
|
|
97
96
|
}
|
|
97
|
+
finally {
|
|
98
|
+
reader?.close();
|
|
99
|
+
}
|
|
98
100
|
}
|
|
99
101
|
/**
|
|
100
102
|
* Count total features and vertices in the shapefile for progress calculation
|
|
@@ -102,10 +104,11 @@ class ShapefileChunkReader {
|
|
|
102
104
|
* @returns Total number of features and vertices in the shapefile
|
|
103
105
|
*/
|
|
104
106
|
async getShapefileStats(shapefilePath) {
|
|
105
|
-
|
|
107
|
+
let reader;
|
|
106
108
|
let totalVertices = 0;
|
|
107
109
|
let totalFeatures = 0;
|
|
108
110
|
try {
|
|
111
|
+
reader = await (0, gdalShapefileReader_1.openShapefile)(shapefilePath);
|
|
109
112
|
// eslint-disable-next-line no-constant-condition
|
|
110
113
|
while (true) {
|
|
111
114
|
const { done, value: feature } = await reader.read();
|
|
@@ -118,7 +121,6 @@ class ShapefileChunkReader {
|
|
|
118
121
|
msg: `Feature exceeds maximum vertices limit: ${vertices} > ${this.options.maxVerticesPerChunk}`,
|
|
119
122
|
featureId: feature.id,
|
|
120
123
|
});
|
|
121
|
-
continue; // Skip features that exceed the limit
|
|
122
124
|
}
|
|
123
125
|
totalFeatures++;
|
|
124
126
|
totalVertices += vertices;
|
|
@@ -128,6 +130,9 @@ class ShapefileChunkReader {
|
|
|
128
130
|
this.options.logger?.error({ msg: 'Error counting vertices in shapefile', shapefilePath, error });
|
|
129
131
|
throw error;
|
|
130
132
|
}
|
|
133
|
+
finally {
|
|
134
|
+
reader?.close();
|
|
135
|
+
}
|
|
131
136
|
if (totalFeatures === 0 || totalVertices === 0) {
|
|
132
137
|
const message = `Shapefile ${shapefilePath} has no valid features or vertices`;
|
|
133
138
|
this.options.logger?.error({ msg: message });
|
|
@@ -148,7 +153,9 @@ class ShapefileChunkReader {
|
|
|
148
153
|
}
|
|
149
154
|
const processTime = performance.now() - processStart;
|
|
150
155
|
this.metricsManager?.sendChunkMetrics(chunk, readTime, processTime);
|
|
151
|
-
|
|
156
|
+
const chunkTotalFeatures = chunk.features.length + chunk.skippedFeatures.length;
|
|
157
|
+
const chunkTotalVertices = chunk.verticesCount + chunk.skippedVerticesCount;
|
|
158
|
+
this.progressTracker?.addProcessedFeatures(chunkTotalFeatures, chunkTotalVertices);
|
|
152
159
|
this.progressTracker?.addSkippedFeatures(chunk.skippedFeatures.length);
|
|
153
160
|
this.progressTracker?.incrementChunks();
|
|
154
161
|
const lastFeatureIndex = (this.progressTracker?.getProcessedFeatures() ?? 0) - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeFileReader.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/shapeFileReader.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,gEAAgE;AAChE,6CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"shapeFileReader.js","sourceRoot":"","sources":["../../../../src/files/shapefile/core/shapeFileReader.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,gEAAgE;AAChE,6CAAyC;AACzC,oDAAsD;AACtD,oCAAuH;AACvH,iDAA8C;AAC9C,+DAAwE;AACxE,qDAAmE;AACnE,uDAAsE;AAEtE,MAAa,oBAAoB;IAKK;IAJ5B,cAAc,CAAmB;IACjC,eAAe,CAAoB;IACnC,SAAS,GAA2B,IAAI,CAAC;IAEjD,YAAoC,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAE9D;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,aAAqB,EAAE,SAAyB;QAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACpF,IAAI,MAAoC,CAAC;QACzC,IAAI;YACF,MAAM,GAAG,MAAM,IAAA,mCAAa,EAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAEtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;YAElE,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE1D,IAAI,IAAI,EAAE;oBACR,MAAM;iBACP;gBAED,gBAAgB,EAAE,CAAC;gBAEnB,IAAI,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;oBAC5C,SAAS;iBACV;gBAED,MAAM,OAAO,GAAG;oBACd,GAAG,YAAY;oBACf,UAAU,EAAE;wBACV,GAAG,YAAY,CAAC,UAAU;wBAC1B,GAAG,CAAC,iBAAiB,IAAI,EAAE,EAAE,EAAE,IAAA,wBAAU,GAAE,EAAE,CAAC;qBAC/C;iBACF,CAAC;gBAEF,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,SAAS,EAAE;oBACvC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,eAAe,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7E;gBAED,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,aAAa,KAAK,qBAAa,CAAC,OAAO,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;wBACxB,GAAG,EAAE,+CAA+C;wBACpD,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;qBACjC,CAAC,CAAC;oBACH,SAAS;iBACV;gBAED,IAAI,aAAa,KAAK,qBAAa,CAAC,IAAI,EAAE;oBACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEnI,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;wBACnC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;qBACpE;oBACD,YAAY,CAAC,SAAS,EAAE,CAAC;oBACzB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;iBAC/B;gBAED,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAClC;YAED,iCAAiC;YACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;oBACxB,GAAG,EAAE,8BAA8B;iBACpC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;aACzE;YAED,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1G,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,QAAQ,EAAE,aAAa;gBACvB,UAAU,EAAE,YAAY,CAAC,OAAO;gBAChC,gBAAgB;aACjB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,MAAM,EAAE,KAAK,EAAE,CAAC;SACjB;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAClD,IAAI,MAAoC,CAAC;QACzC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI;YACF,MAAM,GAAG,MAAM,IAAA,mCAAa,EAAC,aAAa,CAAC,CAAC;YAC5C,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAErD,IAAI,IAAI,EAAE;oBACR,MAAM;iBACP;gBAED,MAAM,QAAQ,GAAG,IAAA,wBAAa,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEjD,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;oBAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;wBACxB,GAAG,EAAE,2CAA2C,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;wBAChG,SAAS,EAAE,OAAO,CAAC,EAAE;qBACtB,CAAC,CAAC;iBACJ;gBACD,aAAa,EAAE,CAAC;gBAChB,aAAa,IAAI,QAAQ,CAAC;aAC3B;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,sCAAsC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClG,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,MAAM,EAAE,KAAK,EAAE,CAAC;SACjB;QAED,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,aAAa,aAAa,oCAAoC,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAqB,EAAE,SAAyB,EAAE,QAAgB,EAAE,QAAQ,GAAG,CAAC;QACzG,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI;YACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvI,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,2BAA2B,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;SACvF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;SACb;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAErD,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEpE,MAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;QAChF,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC5E,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEjF,mEAAmE;QACnE,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7B,QAAQ;YACR,UAAU,EAAE,KAAK,CAAC,EAAE;YACpB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAAC,KAAyE;QACzG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,YAAY,GAAoB;YACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,uBAAuB,EAAE,KAAK,CAAC,UAAU;YACzC,yBAAyB,EAAE,KAAK,CAAC,gBAAgB;YACjD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE;SACpD,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QACnD,IAAI;YACF,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBACjC,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACzE;YACD,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC;YACxE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;YACnH,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CAAC;gBACzC,aAAa;gBACb,aAAa;gBACb,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;gBACrD,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ;aAC1C,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,IAAI,CAAC,CAAC;YAEhE,OAAO,UAAU,CAAC;SACnB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAEO,iBAAiB,CAAC,YAAoB;QAC5C,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;IAC7F,CAAC;IAEO,mBAAmB,CAAC,KAAqB;QAC/C,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC;CACF;AArOD,oDAqOC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/files/shapefile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/files/shapefile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvH,cAAc,SAAS,CAAC"}
|
|
@@ -14,8 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ShapefileChunkReader = void 0;
|
|
17
|
+
exports.GdalShapefileReader = exports.openShapefile = exports.ShapefileChunkReader = void 0;
|
|
18
18
|
var shapeFileReader_1 = require("./core/shapeFileReader");
|
|
19
19
|
Object.defineProperty(exports, "ShapefileChunkReader", { enumerable: true, get: function () { return shapeFileReader_1.ShapefileChunkReader; } });
|
|
20
|
+
var gdalShapefileReader_1 = require("./core/gdalShapefileReader");
|
|
21
|
+
Object.defineProperty(exports, "openShapefile", { enumerable: true, get: function () { return gdalShapefileReader_1.openShapefile; } });
|
|
22
|
+
Object.defineProperty(exports, "GdalShapefileReader", { enumerable: true, get: function () { return gdalShapefileReader_1.GdalShapefileReader; } });
|
|
20
23
|
__exportStar(require("./types"), exports);
|
|
21
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/files/shapefile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA8D;AAArD,uHAAA,oBAAoB,OAAA;AAC7B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/files/shapefile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA8D;AAArD,uHAAA,oBAAoB,OAAA;AAC7B,kEAAuH;AAA9G,oHAAA,aAAa,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AAC3C,0CAAwB"}
|
|
@@ -7,8 +7,9 @@ export * from './state';
|
|
|
7
7
|
export interface ShapefileChunk {
|
|
8
8
|
id: number;
|
|
9
9
|
features: Feature[];
|
|
10
|
-
skippedFeatures: Feature[];
|
|
11
10
|
verticesCount: number;
|
|
11
|
+
skippedFeatures: Feature[];
|
|
12
|
+
skippedVerticesCount: number;
|
|
12
13
|
}
|
|
13
14
|
export interface ChunkProcessor {
|
|
14
15
|
process: (chunk: ShapefileChunk) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+HAA+H;IAC/H,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAGD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAGX,oBAAY,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/files/shapefile/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,4CAA0B;AAC1B,0CAAwB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/files/shapefile/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,4CAA0B;AAC1B,0CAAwB;AA2BxB,yDAAyD;AAC5C,QAAA,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/types/state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/files/shapefile/types/state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,oBAAY,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;AAElJ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@map-colonies/mc-utils",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.6",
|
|
4
4
|
"description": "This is template for map colonies typescript packages",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
"@types/lodash": "^4.14.171",
|
|
51
51
|
"@types/ngeohash": "^0.6.3",
|
|
52
52
|
"@types/node": "^14.14.12",
|
|
53
|
-
"@types/shapefile": "^0.6.4",
|
|
54
53
|
"commitlint": "^17.4.4",
|
|
55
54
|
"cz-conventional-changelog": "^3.3.0",
|
|
56
55
|
"eslint": "^8.36.0",
|
|
@@ -70,16 +69,19 @@
|
|
|
70
69
|
"@turf/turf": "^6.5.0",
|
|
71
70
|
"axios": "^1.3.6",
|
|
72
71
|
"axios-retry": "^3.4.0",
|
|
72
|
+
"gdal-async": "^3.12.1",
|
|
73
73
|
"http-status-codes": "^2.2.0",
|
|
74
74
|
"lodash": "^4.17.21",
|
|
75
75
|
"ngeohash": "^0.6.3",
|
|
76
|
-
"shapefile": "^0.6.6",
|
|
77
76
|
"zod": "^3.24.1"
|
|
78
77
|
},
|
|
79
78
|
"peerDependencies": {
|
|
80
79
|
"@map-colonies/error-types": "^1.3.1",
|
|
81
80
|
"@map-colonies/js-logger": "^1.0.1"
|
|
82
81
|
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=20"
|
|
84
|
+
},
|
|
83
85
|
"//OverrideComment": "https://github.com/Turfjs/turf/issues/2922",
|
|
84
86
|
"overrides": {
|
|
85
87
|
"concaveman": "1.2.1"
|