@basemaps/cli-vector 8.3.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli/cli.extract.js +50 -5
- package/build/cli/cli.extract.js.map +1 -1
- package/build/cli/cli.join.js +1 -1
- package/build/cli/cli.join.js.map +1 -1
- package/build/modify/layers/place_labels.d.ts +5 -4
- package/build/modify/layers/place_labels.js +41 -52
- package/build/modify/layers/place_labels.js.map +1 -1
- package/build/modify/layers/pois.js +3 -6
- package/build/modify/layers/pois.js.map +1 -1
- package/build/modify/layers/public_transport.js +2 -8
- package/build/modify/layers/public_transport.js.map +1 -1
- package/build/modify/parser.d.ts +15 -32
- package/build/modify/parser.js +15 -15
- package/build/modify/parser.js.map +1 -1
- package/build/modify/schema.d.ts +5 -7
- package/build/modify/shared.d.ts +2 -1
- package/build/modify/shared.js +5 -0
- package/build/modify/shared.js.map +1 -1
- package/build/stac.js +6 -2
- package/build/stac.js.map +1 -1
- package/dist/index.cjs +597 -332
- package/package.json +5 -5
package/build/cli/cli.extract.js
CHANGED
|
@@ -51,6 +51,7 @@ export const ExtractCommand = command({
|
|
|
51
51
|
const schemas = await schemaLoader.load();
|
|
52
52
|
const smallLayers = [];
|
|
53
53
|
const largeLayers = [];
|
|
54
|
+
const collectionLinks = [];
|
|
54
55
|
let total = 0;
|
|
55
56
|
const allFiles = [];
|
|
56
57
|
const vectorStac = new VectorStac(logger);
|
|
@@ -66,7 +67,7 @@ export const ExtractCommand = command({
|
|
|
66
67
|
}
|
|
67
68
|
// Create stac file for the cache mbtiles
|
|
68
69
|
logger.info({ layer: schema.name, id: layer.id }, 'Extract: StacItem');
|
|
69
|
-
const
|
|
70
|
+
const stacItemFile = new URL(layer.cache.path.href.replace(/\.mbtiles$/, '.json'));
|
|
70
71
|
const stacLink = await vectorStac.createStacLink(schema.name, layer);
|
|
71
72
|
const options = {
|
|
72
73
|
name: schema.name,
|
|
@@ -74,20 +75,64 @@ export const ExtractCommand = command({
|
|
|
74
75
|
tileMatrix: tileMatrix.identifier,
|
|
75
76
|
layer,
|
|
76
77
|
};
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
// Create the STAC item for the layer
|
|
79
|
+
const itemfileName = layer.cache.fileName.replace(/\.mbtiles$/, '');
|
|
80
|
+
const stacItem = vectorStac.createStacItem([stacLink], itemfileName, tileMatrix, options);
|
|
81
|
+
const ldsStacItem = await fsa.readJson(new URL(layer.source.replace(/\.gpkg$/, '.json')));
|
|
82
|
+
if (ldsStacItem != null) {
|
|
83
|
+
stacItem.bbox = ldsStacItem.bbox;
|
|
84
|
+
stacItem.geometry = ldsStacItem.geometry;
|
|
85
|
+
}
|
|
86
|
+
await fsa.write(stacItemFile, JSON.stringify(stacItem, null, 2));
|
|
87
|
+
// Create STAC collection
|
|
88
|
+
const stacCollectionFile = new URL(layer.cache.path.href.replace(layer.cache.fileName, 'collection.json'));
|
|
89
|
+
if (await fsa.exists(stacCollectionFile)) {
|
|
90
|
+
const collection = await fsa.readJson(stacCollectionFile);
|
|
91
|
+
if (collection.links.find((l) => l.href === `./${itemfileName}.json`) == null) {
|
|
92
|
+
collection.links.push({ rel: 'item', href: `./${itemfileName}.json` });
|
|
93
|
+
}
|
|
94
|
+
await fsa.write(stacCollectionFile, JSON.stringify(collection, null, 2));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const title = `Mbtiles cache for ${layer.name}`;
|
|
98
|
+
const collection = vectorStac.createStacCollection(stacItem.bbox, [], itemfileName, title);
|
|
99
|
+
await fsa.write(stacCollectionFile, JSON.stringify(collection, null, 2));
|
|
100
|
+
}
|
|
101
|
+
// Prepare Stac collection links for catalog
|
|
102
|
+
collectionLinks.push({
|
|
103
|
+
href: `./${layer.id}/collection.json`,
|
|
104
|
+
title: layer.name,
|
|
105
|
+
type: 'application/json',
|
|
106
|
+
rel: 'child',
|
|
107
|
+
});
|
|
79
108
|
// Prepare task to process
|
|
80
109
|
logger.info({ layer: schema.name, id: layer.id }, 'Extract: ToProcess');
|
|
81
110
|
// Separate large layer as individual task
|
|
82
111
|
if (layer.largeLayer) {
|
|
83
|
-
largeLayers.push({ path:
|
|
112
|
+
largeLayers.push({ path: stacItemFile.href });
|
|
84
113
|
}
|
|
85
114
|
else {
|
|
86
|
-
smallLayers.push({ path:
|
|
115
|
+
smallLayers.push({ path: stacItemFile.href });
|
|
87
116
|
}
|
|
88
117
|
total++;
|
|
89
118
|
}
|
|
90
119
|
}
|
|
120
|
+
// Create STAC catalog
|
|
121
|
+
const stacCatalogFile = new URL(`${tileMatrix.projection.code}/catalog.json`, cache);
|
|
122
|
+
if (await fsa.exists(stacCatalogFile)) {
|
|
123
|
+
const catalog = await fsa.readJson(stacCatalogFile);
|
|
124
|
+
for (const link of collectionLinks) {
|
|
125
|
+
if (catalog.links.find((l) => l.href === link.href) == null) {
|
|
126
|
+
catalog.links.push(link);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
await fsa.write(stacCatalogFile, JSON.stringify(catalog, null, 2));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const catalog = vectorStac.createStacCatalog();
|
|
133
|
+
catalog.links.push(...collectionLinks);
|
|
134
|
+
await fsa.write(stacCatalogFile, JSON.stringify(catalog, null, 2));
|
|
135
|
+
}
|
|
91
136
|
logger.info({ ToProcess: total }, 'CheckUpdate: Finish');
|
|
92
137
|
await fsa.write(fsa.toUrl('/tmp/extract/allCaches.json'), JSON.stringify(allFiles, null, 2));
|
|
93
138
|
await fsa.write(fsa.toUrl('/tmp/extract/smallLayers.json'), JSON.stringify(smallLayers, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.extract.js","sourceRoot":"","sources":["../../src/cli/cli.extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.extract.js","sourceRoot":"","sources":["../../src/cli/cli.extract.ts"],"names":[],"mappings":"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"}
|
package/build/cli/cli.join.js
CHANGED
|
@@ -55,7 +55,7 @@ async function upload(file, bucketPath, logger) {
|
|
|
55
55
|
if (path.protocol === 'file:')
|
|
56
56
|
await mkdir(dirname(path.pathname), { recursive: true });
|
|
57
57
|
if (filename.endsWith('catalog.json'))
|
|
58
|
-
path = new URL(filename
|
|
58
|
+
path = new URL(`topographic/${filename}`, bucketPath); // Upload catalog to root directory
|
|
59
59
|
await fsa.write(path, stream);
|
|
60
60
|
logger.info({ file: file, path: path }, 'Load:Finish');
|
|
61
61
|
return path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.join.js","sourceRoot":"","sources":["../../src/cli/cli.join.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.join.js","sourceRoot":"","sources":["../../src/cli/cli.join.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,13 @@ import { VectorGeoFeature } from '../../types/VectorGeoFeature.js';
|
|
|
3
3
|
import { VectorGeoPlaceLabelsFeature } from '../schema.js';
|
|
4
4
|
export declare const PlaceLabelsFeatures: Map<string, VectorGeoPlaceLabelsFeature>;
|
|
5
5
|
/**
|
|
6
|
-
* Processes a 'place_labels' layer feature
|
|
6
|
+
* Processes a 'place_labels' layer feature of the gazatteer dataset.
|
|
7
7
|
*
|
|
8
8
|
* The gazatteer dataset contains multiple features that technically describe the same feature, such that:
|
|
9
|
-
* - 1.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* - 1. Many features have the same `label` value.
|
|
10
|
+
* - a. The 1st feature always contains the properties.
|
|
11
|
+
* - b. The 2nd, 3rd, ... features always define the `label`, `zoom_level` and `style` properties. But, all others properties will be `null`.
|
|
12
|
+
* - 2. All features with the same `label` value have different `zoom_level` values.
|
|
12
13
|
*
|
|
13
14
|
* @param feature - the feature to process
|
|
14
15
|
* @param options - the layer's options
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { zPlaceLabelsProperties
|
|
2
|
+
import { zPlaceLabelsProperties } from '../parser.js';
|
|
3
3
|
export const PlaceLabelsFeatures = new Map();
|
|
4
4
|
/**
|
|
5
|
-
* Processes a 'place_labels' layer feature
|
|
5
|
+
* Processes a 'place_labels' layer feature of the gazatteer dataset.
|
|
6
6
|
*
|
|
7
7
|
* The gazatteer dataset contains multiple features that technically describe the same feature, such that:
|
|
8
|
-
* - 1.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* - 1. Many features have the same `label` value.
|
|
9
|
+
* - a. The 1st feature always contains the properties.
|
|
10
|
+
* - b. The 2nd, 3rd, ... features always define the `label`, `zoom_level` and `style` properties. But, all others properties will be `null`.
|
|
11
|
+
* - 2. All features with the same `label` value have different `zoom_level` values.
|
|
11
12
|
*
|
|
12
13
|
* @param feature - the feature to process
|
|
13
14
|
* @param options - the layer's options
|
|
@@ -16,30 +17,24 @@ export const PlaceLabelsFeatures = new Map();
|
|
|
16
17
|
*/
|
|
17
18
|
export function handleLayerPlaceLabels(feature, logger) {
|
|
18
19
|
logger.trace({}, 'HandlePlaceLabels:Start');
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
throw new Error('Zoom level is not a number');
|
|
27
|
-
//DATA PROBLEM: We need to store the first feature which have all the propertie values, the duplicate features will only have null values in the properties
|
|
28
|
-
const storedFeature = PlaceLabelsFeatures.get(label);
|
|
20
|
+
const newFeature = createNewFeature(feature, logger);
|
|
21
|
+
const name = newFeature.properties.name;
|
|
22
|
+
// DATA PROBLEM: Multiple features will have the same `label` value. However, only the first feature will
|
|
23
|
+
// contain all of the expected properties. All other features with the same `label` value will have null
|
|
24
|
+
// values for the expected properties. So, as we encounter each of the 'other' features, we need to copy
|
|
25
|
+
// the expected properties from the first feature to it, before returning it.
|
|
26
|
+
const storedFeature = PlaceLabelsFeatures.get(name);
|
|
29
27
|
if (storedFeature == null) {
|
|
30
|
-
|
|
31
|
-
if (newFeature == null)
|
|
32
|
-
return null;
|
|
33
|
-
PlaceLabelsFeatures.set(label, newFeature);
|
|
28
|
+
PlaceLabelsFeatures.set(name, newFeature);
|
|
34
29
|
logger.trace({}, 'HandlePlaceLabels:End');
|
|
35
30
|
return newFeature;
|
|
36
31
|
}
|
|
37
32
|
// update the stored feature's 'minzoom' value
|
|
38
|
-
storedFeature.tippecanoe.minzoom =
|
|
33
|
+
storedFeature.tippecanoe.minzoom = newFeature.tippecanoe.minzoom;
|
|
39
34
|
// update the stored feature's 'maxzoom' value
|
|
40
|
-
storedFeature.tippecanoe.maxzoom =
|
|
35
|
+
storedFeature.tippecanoe.maxzoom = newFeature.tippecanoe.minzoom;
|
|
41
36
|
logger.trace({}, 'HandlePlaceLabels:End');
|
|
42
|
-
return storedFeature;
|
|
37
|
+
return structuredClone(storedFeature);
|
|
43
38
|
}
|
|
44
39
|
/**
|
|
45
40
|
* Parses a 'place_labels' layer feature into a VectorGeoPlaceLabelsFeature object.
|
|
@@ -50,47 +45,41 @@ export function handleLayerPlaceLabels(feature, logger) {
|
|
|
50
45
|
* @param logger - a logger instance
|
|
51
46
|
* @returns a VectorGeoPlaceLabelsFeature object
|
|
52
47
|
*/
|
|
53
|
-
function createNewFeature(feature,
|
|
54
|
-
let properties;
|
|
55
|
-
let tippecanoe;
|
|
48
|
+
function createNewFeature(feature, logger) {
|
|
56
49
|
try {
|
|
57
|
-
properties = zPlaceLabelsProperties.parse({
|
|
58
|
-
label,
|
|
50
|
+
const properties = zPlaceLabelsProperties.parse({
|
|
51
|
+
label: feature.properties['label'],
|
|
52
|
+
zoom_level: feature.properties['zoom_level'],
|
|
59
53
|
style: feature.properties['style'],
|
|
60
|
-
place: feature.properties['place'],
|
|
61
|
-
adminlevel: feature.properties['adminlevel'],
|
|
62
54
|
natural: feature.properties['natural'],
|
|
55
|
+
place: feature.properties['place'],
|
|
63
56
|
water: feature.properties['water'],
|
|
64
57
|
});
|
|
65
|
-
tippecanoe =
|
|
58
|
+
const tippecanoe = {
|
|
66
59
|
layer: 'place_labels',
|
|
67
|
-
minzoom:
|
|
68
|
-
maxzoom:
|
|
69
|
-
}
|
|
60
|
+
minzoom: properties.zoom_level,
|
|
61
|
+
maxzoom: properties.zoom_level,
|
|
62
|
+
};
|
|
63
|
+
const newFeature = {
|
|
64
|
+
type: feature.type,
|
|
65
|
+
properties: {
|
|
66
|
+
name: properties.label,
|
|
67
|
+
kind: convertStyleToKind(properties.style, tippecanoe.minzoom),
|
|
68
|
+
natural: properties.natural,
|
|
69
|
+
place: properties.place,
|
|
70
|
+
water: properties.water,
|
|
71
|
+
},
|
|
72
|
+
geometry: feature.geometry,
|
|
73
|
+
tippecanoe,
|
|
74
|
+
};
|
|
75
|
+
return newFeature;
|
|
70
76
|
}
|
|
71
77
|
catch (e) {
|
|
72
78
|
if (e instanceof z.ZodError) {
|
|
73
|
-
logger.trace({
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw new Error('An unexpected error occurred.');
|
|
79
|
+
logger.trace({ properties: feature.properties }, 'Failed to parse required properties.');
|
|
78
80
|
}
|
|
81
|
+
throw e;
|
|
79
82
|
}
|
|
80
|
-
const newFeature = {
|
|
81
|
-
type: feature.type,
|
|
82
|
-
properties: {
|
|
83
|
-
name: properties.label,
|
|
84
|
-
kind: convertStyleToKind(properties.style, tippecanoe.minzoom),
|
|
85
|
-
place: properties.place,
|
|
86
|
-
adminlevel: properties.adminlevel,
|
|
87
|
-
natural: properties.natural,
|
|
88
|
-
water: properties.water,
|
|
89
|
-
},
|
|
90
|
-
geometry: feature.geometry,
|
|
91
|
-
tippecanoe,
|
|
92
|
-
};
|
|
93
|
-
return newFeature;
|
|
94
83
|
}
|
|
95
84
|
/**
|
|
96
85
|
* Determines a feature's 'kind' based on its 'styles' property.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"place_labels.js","sourceRoot":"","sources":["../../../src/modify/layers/place_labels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,
|
|
1
|
+
{"version":3,"file":"place_labels.js","sourceRoot":"","sources":["../../../src/modify/layers/place_labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getInaccessibilityPole } from '../shared.js';
|
|
2
2
|
/**
|
|
3
3
|
* Processes a 'pois' layer feature.
|
|
4
4
|
*
|
|
@@ -18,12 +18,9 @@ export function handleLayerPois(feature, logger) {
|
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
20
20
|
feature.properties['building'] = bldgUse;
|
|
21
|
-
//
|
|
21
|
+
// Convert the building polygon to a point for 50246-nz-building-polygons-topo-150k
|
|
22
22
|
if (feature.geometry.type === 'Polygon' || feature.geometry.type === 'MultiPolygon') {
|
|
23
|
-
|
|
24
|
-
const inaccessibilityPole = polylabel(coordinates);
|
|
25
|
-
const point = { type: 'Point', coordinates: inaccessibilityPole };
|
|
26
|
-
feature.geometry = point;
|
|
23
|
+
feature.geometry = getInaccessibilityPole(feature.geometry, logger);
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
logger.trace({}, 'HandlePois:End');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pois.js","sourceRoot":"","sources":["../../../src/modify/layers/pois.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pois.js","sourceRoot":"","sources":["../../../src/modify/layers/pois.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE,MAAe;IACxE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACrC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,sBAAsB;YACtB,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAEzC,mFAAmF;QACnF,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpF,OAAO,CAAC,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getInaccessibilityPole } from '../shared.js';
|
|
2
2
|
/**
|
|
3
3
|
* Processes a 'public_transport' layer feature.
|
|
4
4
|
*
|
|
@@ -28,13 +28,7 @@ export function handleLayerPublicTransport(feature, options, logger) {
|
|
|
28
28
|
function handleKindAerodrome(feature, logger) {
|
|
29
29
|
logger.trace({}, 'HandleKindAerodrome:Start');
|
|
30
30
|
feature = structuredClone(feature);
|
|
31
|
-
|
|
32
|
-
// REVIEW: the following resource suggests using a precision value of 0.000001 for geo-coords:
|
|
33
|
-
// https://github.com/mapbox/polylabel?tab=readme-ov-file#javascript-usage
|
|
34
|
-
// currently, we use the default value of 1.0
|
|
35
|
-
const inaccessibilityPole = polylabel(coordinates);
|
|
36
|
-
const point = { type: 'Point', coordinates: inaccessibilityPole };
|
|
37
|
-
feature.geometry = point;
|
|
31
|
+
feature.geometry = getInaccessibilityPole(feature.geometry, logger);
|
|
38
32
|
logger.trace({}, 'HandleKindAerodrome:End');
|
|
39
33
|
return feature;
|
|
40
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_transport.js","sourceRoot":"","sources":["../../../src/modify/layers/public_transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public_transport.js","sourceRoot":"","sources":["../../../src/modify/layers/public_transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAyB,EACzB,OAA8B,EAC9B,MAAe;IAEf,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM;IACV,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,OAAyB,EAAE,MAAe;IACrE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAC9C,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,CAAC,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/build/modify/parser.d.ts
CHANGED
|
@@ -2,46 +2,29 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const zPlaceLabelsProperties: z.ZodObject<{
|
|
3
3
|
/** @example "Kaitaia" */
|
|
4
4
|
label: z.ZodString;
|
|
5
|
+
/** @example 8 */
|
|
6
|
+
zoom_level: z.ZodNumber;
|
|
5
7
|
/** @example "TWN1" */
|
|
6
8
|
style: z.ZodString;
|
|
9
|
+
/** @example "cape" */
|
|
10
|
+
natural: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
|
|
7
11
|
/** @example "city" */
|
|
8
|
-
place: z.ZodString
|
|
9
|
-
/** @example
|
|
10
|
-
|
|
11
|
-
/** @example "0" */
|
|
12
|
-
natural: z.ZodString;
|
|
13
|
-
/** @example "0" */
|
|
14
|
-
water: z.ZodString;
|
|
12
|
+
place: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
|
|
13
|
+
/** @example "bay" */
|
|
14
|
+
water: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
style: string;
|
|
17
17
|
label: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
water
|
|
18
|
+
zoom_level: number;
|
|
19
|
+
natural?: string | undefined;
|
|
20
|
+
place?: string | undefined;
|
|
21
|
+
water?: string | undefined;
|
|
22
22
|
}, {
|
|
23
23
|
style: string;
|
|
24
24
|
label: string;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
water
|
|
29
|
-
}>;
|
|
30
|
-
export declare const zPlaceLabelsTippecanoe: z.ZodObject<{
|
|
31
|
-
/** @example "place_labels" */
|
|
32
|
-
layer: z.ZodString;
|
|
33
|
-
/** @example 8 */
|
|
34
|
-
minzoom: z.ZodNumber;
|
|
35
|
-
/** @example 8 */
|
|
36
|
-
maxzoom: z.ZodNumber;
|
|
37
|
-
}, "strip", z.ZodTypeAny, {
|
|
38
|
-
layer: string;
|
|
39
|
-
minzoom: number;
|
|
40
|
-
maxzoom: number;
|
|
41
|
-
}, {
|
|
42
|
-
layer: string;
|
|
43
|
-
minzoom: number;
|
|
44
|
-
maxzoom: number;
|
|
25
|
+
zoom_level: number;
|
|
26
|
+
natural?: unknown;
|
|
27
|
+
place?: unknown;
|
|
28
|
+
water?: unknown;
|
|
45
29
|
}>;
|
|
46
30
|
export type zTypePlaceLabelsProperties = z.infer<typeof zPlaceLabelsProperties>;
|
|
47
|
-
export type zTypePlaceLabelsTippecanoe = z.infer<typeof zPlaceLabelsTippecanoe>;
|
package/build/modify/parser.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
const optionalString = z.preprocess((value) => {
|
|
3
|
+
if (value === '0' || value === null) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
}, z.string().optional());
|
|
2
10
|
export const zPlaceLabelsProperties = z.object({
|
|
3
11
|
/** @example "Kaitaia" */
|
|
4
12
|
label: z.string(),
|
|
13
|
+
/** @example 8 */
|
|
14
|
+
zoom_level: z.number(),
|
|
5
15
|
/** @example "TWN1" */
|
|
6
16
|
style: z.string(),
|
|
17
|
+
/** @example "cape" */
|
|
18
|
+
natural: optionalString,
|
|
7
19
|
/** @example "city" */
|
|
8
|
-
place:
|
|
9
|
-
/** @example
|
|
10
|
-
|
|
11
|
-
/** @example "0" */
|
|
12
|
-
natural: z.string(),
|
|
13
|
-
/** @example "0" */
|
|
14
|
-
water: z.string(),
|
|
15
|
-
});
|
|
16
|
-
export const zPlaceLabelsTippecanoe = z.object({
|
|
17
|
-
/** @example "place_labels" */
|
|
18
|
-
layer: z.string(),
|
|
19
|
-
/** @example 8 */
|
|
20
|
-
minzoom: z.number(),
|
|
21
|
-
/** @example 8 */
|
|
22
|
-
maxzoom: z.number(),
|
|
20
|
+
place: optionalString,
|
|
21
|
+
/** @example "bay" */
|
|
22
|
+
water: optionalString,
|
|
23
23
|
});
|
|
24
24
|
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/modify/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/modify/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IAC5C,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,iBAAiB;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,sBAAsB;IACtB,OAAO,EAAE,cAAc;IAEvB,sBAAsB;IACtB,KAAK,EAAE,cAAc;IAErB,qBAAqB;IACrB,KAAK,EAAE,cAAc;CACtB,CAAC,CAAC"}
|
package/build/modify/schema.d.ts
CHANGED
|
@@ -5,13 +5,11 @@ export interface VectorGeoPlaceLabelsFeature extends VectorGeoFeature {
|
|
|
5
5
|
name: string;
|
|
6
6
|
/** @example "ant" */
|
|
7
7
|
kind: string;
|
|
8
|
+
/** @example "cape" */
|
|
9
|
+
natural?: string;
|
|
8
10
|
/** @example "city" */
|
|
9
|
-
place
|
|
10
|
-
/** @example
|
|
11
|
-
|
|
12
|
-
/** @example "0" */
|
|
13
|
-
natural: string;
|
|
14
|
-
/** @example "0" */
|
|
15
|
-
water: string;
|
|
11
|
+
place?: string;
|
|
12
|
+
/** @example "bay" */
|
|
13
|
+
water?: string;
|
|
16
14
|
};
|
|
17
15
|
}
|
package/build/modify/shared.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { LogType } from '@basemaps/shared';
|
|
2
|
-
import { Geometry, Position } from 'geojson';
|
|
2
|
+
import { Geometry, Point, Position } from 'geojson';
|
|
3
3
|
import { VectorCreationOptions } from '../stac.js';
|
|
4
4
|
import { VectorGeoFeature } from '../types/VectorGeoFeature.js';
|
|
5
5
|
export declare const polylabel: (polygon: number[][][], precision?: number, debug?: boolean) => number[];
|
|
6
6
|
export declare function handleRoadFeature(feature: VectorGeoFeature, options: VectorCreationOptions, logger: LogType): VectorGeoFeature;
|
|
7
|
+
export declare function getInaccessibilityPole(geometry: Geometry, logger: LogType): Point;
|
|
7
8
|
export declare function getCoordinates(geometry: Geometry, logger: LogType): Position[][];
|
package/build/modify/shared.js
CHANGED
|
@@ -39,6 +39,11 @@ export function handleRoadFeature(feature, options, logger) {
|
|
|
39
39
|
logger.trace({}, 'HandleRoadFeature:End');
|
|
40
40
|
return feature;
|
|
41
41
|
}
|
|
42
|
+
export function getInaccessibilityPole(geometry, logger) {
|
|
43
|
+
const coordinates = getCoordinates(geometry, logger);
|
|
44
|
+
const inaccessibilityPole = polylabel(coordinates);
|
|
45
|
+
return { type: 'Point', coordinates: inaccessibilityPole };
|
|
46
|
+
}
|
|
42
47
|
export function getCoordinates(geometry, logger) {
|
|
43
48
|
switch (geometry.type) {
|
|
44
49
|
case 'MultiPolygon':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/modify/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/modify/shared.ts"],"names":[],"mappings":"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"}
|
package/build/stac.js
CHANGED
|
@@ -66,7 +66,10 @@ export class VectorStac {
|
|
|
66
66
|
collection: CliId,
|
|
67
67
|
stac_version: '1.0.0',
|
|
68
68
|
stac_extensions: [],
|
|
69
|
-
geometry:
|
|
69
|
+
geometry: {
|
|
70
|
+
type: 'Polygon',
|
|
71
|
+
coordinates: tileMatrix.extent.toPolygon(),
|
|
72
|
+
},
|
|
70
73
|
bbox: tileMatrix.extent.toBbox(),
|
|
71
74
|
links: [
|
|
72
75
|
{ href: `./${filename}.json`, rel: 'self' },
|
|
@@ -75,6 +78,7 @@ export class VectorStac {
|
|
|
75
78
|
...layers,
|
|
76
79
|
],
|
|
77
80
|
properties: {
|
|
81
|
+
datetime: CliDate,
|
|
78
82
|
'proj:epsg': tileMatrix.projection.code,
|
|
79
83
|
'linz_basemaps:generated': {
|
|
80
84
|
package: CliInfo.package,
|
|
@@ -164,7 +168,7 @@ export async function createStacFiles(filePaths, targetPath, filename, tileMatri
|
|
|
164
168
|
const stacCollection = vectorStac.createStacCollection(unionBbox, layers, filename, title);
|
|
165
169
|
// Create stac catalog
|
|
166
170
|
let stacCatalog = vectorStac.createStacCatalog();
|
|
167
|
-
const catalogPath = new URL('catalog.json', targetPath);
|
|
171
|
+
const catalogPath = new URL('topographic/catalog.json', targetPath);
|
|
168
172
|
if (await fsa.exists(catalogPath))
|
|
169
173
|
stacCatalog = await fsa.readJson(catalogPath);
|
|
170
174
|
// Add link for new collection
|