@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.
@@ -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 stacFile = new URL(layer.cache.path.href.replace(/\.mbtiles$/, '.json'));
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
- const stacItem = vectorStac.createStacItem([stacLink], layer.cache.fileName, tileMatrix, options);
78
- await fsa.write(stacFile, JSON.stringify(stacItem, null, 2));
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: stacFile.href });
112
+ largeLayers.push({ path: stacItemFile.href });
84
113
  }
85
114
  else {
86
- smallLayers.push({ path: stacFile.href });
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":"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"}
1
+ {"version":3,"file":"cli.extract.js","sourceRoot":"","sources":["../../src/cli/cli.extract.ts"],"names":[],"mappings":"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"}
@@ -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, bucketPath); // Upload catalog to root directory
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. Specifically, features of the gazatteer dataset.
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. One feature will contain all of the expected properties.
10
- * - 2. The other features will have 'null' values for all expected properties, except `label` and `zoom_level`.
11
- * - 3. All of the features describing the same feature will have the same `label` value, but different `zoom_level` values.
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, zPlaceLabelsTippecanoe, } from '../parser.js';
2
+ import { zPlaceLabelsProperties } from '../parser.js';
3
3
  export const PlaceLabelsFeatures = new Map();
4
4
  /**
5
- * Processes a 'place_labels' layer feature. Specifically, features of the gazatteer dataset.
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. One feature will contain all of the expected properties.
9
- * - 2. The other features will have 'null' values for all expected properties, except `label` and `zoom_level`.
10
- * - 3. All of the features describing the same feature will have the same `label` value, but different `zoom_level` values.
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
- feature = structuredClone(feature);
20
- // read the 'label' and 'zoom_level' properties (required)
21
- const label = feature.properties['label'];
22
- if (typeof label !== 'string')
23
- throw new Error('Label property is not a string');
24
- const zoomLevel = feature.properties['zoom_level'];
25
- if (typeof zoomLevel !== 'number')
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
- const newFeature = createNewFeature(feature, label, zoomLevel, logger);
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 = zoomLevel;
33
+ storedFeature.tippecanoe.minzoom = newFeature.tippecanoe.minzoom;
39
34
  // update the stored feature's 'maxzoom' value
40
- storedFeature.tippecanoe.maxzoom = zoomLevel;
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, label, zoomLevel, logger) {
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 = zPlaceLabelsTippecanoe.parse({
58
+ const tippecanoe = {
66
59
  layer: 'place_labels',
67
- minzoom: zoomLevel,
68
- maxzoom: zoomLevel,
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({ label }, 'Failed to parse expected properties. Discarding feature.');
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":"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"}
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,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuC,CAAC;AAElF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAyB,EAAE,MAAe;IAC/E,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;IAExC,yGAAyG;IACzG,wGAAwG;IACxG,wGAAwG;IACxG,6EAA6E;IAC7E,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE1C,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC1C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;IACjE,8CAA8C;IAC9C,aAAa,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;IAEjE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAC1C,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAAyB,EAAE,MAAe;IAClE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC;YAC9C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5C,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YACtC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;SACnC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,UAAU,CAAC,UAAU;YAC9B,OAAO,EAAE,UAAU,CAAC,UAAU;SAC/B,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE;gBACV,IAAI,EAAE,UAAU,CAAC,KAAK;gBACtB,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;gBAC9D,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU;SACX,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QAChC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,QAAQ,CAAC;QACtC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getCoordinates, polylabel } from '../shared.js';
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
- // Covert the building polygon to a point for 50246-nz-building-polygons-topo-150k
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
- const coordinates = getCoordinates(feature.geometry, logger);
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":"AAIA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;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,kFAAkF;QAClF,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpF,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YAEnD,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;YACzE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC"}
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 { getCoordinates, polylabel } from '../shared.js';
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
- const coordinates = getCoordinates(feature.geometry, logger);
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":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;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,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,8FAA8F;IAC9F,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACzE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAEzB,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC"}
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"}
@@ -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 7 */
10
- adminlevel: z.ZodNumber;
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
- place: string;
19
- adminlevel: number;
20
- natural: string;
21
- water: string;
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
- place: string;
26
- adminlevel: number;
27
- natural: string;
28
- water: string;
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>;
@@ -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: z.string(),
9
- /** @example 7 */
10
- adminlevel: z.number(),
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,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,iBAAiB;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB,mBAAmB;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,mBAAmB;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,iBAAiB;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,iBAAiB;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
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"}
@@ -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: string;
10
- /** @example 7 */
11
- adminlevel: number;
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
  }
@@ -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[][];
@@ -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: null,
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