@signalk/charts-plugin 3.7.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.prettierignore +1 -0
  2. package/CHANGELOG.md +109 -0
  3. package/README.md +72 -0
  4. package/docs/screenshots/1_overview.png +0 -0
  5. package/docs/screenshots/2_region.png +0 -0
  6. package/docs/screenshots/3_jobs.png +0 -0
  7. package/package.json +16 -11
  8. package/plugin/cacheLayout.d.ts +72 -0
  9. package/plugin/cacheLayout.d.ts.map +1 -0
  10. package/plugin/cacheLayout.js +243 -0
  11. package/plugin/cacheLayout.js.map +1 -0
  12. package/plugin/chartDownloader.d.ts +122 -29
  13. package/plugin/chartDownloader.d.ts.map +1 -1
  14. package/plugin/chartDownloader.js +491 -314
  15. package/plugin/chartDownloader.js.map +1 -1
  16. package/plugin/chartDownloaderMBTilesHelpers.d.ts +10 -0
  17. package/plugin/chartDownloaderMBTilesHelpers.d.ts.map +1 -0
  18. package/plugin/chartDownloaderMBTilesHelpers.js +202 -0
  19. package/plugin/chartDownloaderMBTilesHelpers.js.map +1 -0
  20. package/plugin/chartDownloaderTileHelpers.d.ts +30 -0
  21. package/plugin/chartDownloaderTileHelpers.d.ts.map +1 -0
  22. package/plugin/chartDownloaderTileHelpers.js +277 -0
  23. package/plugin/chartDownloaderTileHelpers.js.map +1 -0
  24. package/plugin/charts.d.ts.map +1 -1
  25. package/plugin/charts.js +24 -39
  26. package/plugin/charts.js.map +1 -1
  27. package/plugin/constants.d.ts.map +1 -1
  28. package/plugin/index.d.ts.map +1 -1
  29. package/plugin/index.js +564 -47
  30. package/plugin/index.js.map +1 -1
  31. package/plugin/pluginStatus.js.map +1 -1
  32. package/plugin/projection.js.map +1 -1
  33. package/plugin/tileServer.d.ts +4 -2
  34. package/plugin/tileServer.d.ts.map +1 -1
  35. package/plugin/tileServer.js +37 -8
  36. package/plugin/tileServer.js.map +1 -1
  37. package/plugin/tokenProvider.d.ts +63 -0
  38. package/plugin/tokenProvider.d.ts.map +1 -0
  39. package/plugin/tokenProvider.js +258 -0
  40. package/plugin/tokenProvider.js.map +1 -0
  41. package/plugin/types.d.ts +37 -2
  42. package/plugin/types.d.ts.map +1 -1
  43. package/public/images/jobs.png +0 -0
  44. package/public/images/overview.png +0 -0
  45. package/public/images/region.png +0 -0
  46. package/public/index.html +392 -113
  47. package/public/js/index.js +620 -0
  48. package/public/leaflet/images/downloads.png +0 -0
  49. package/public/leaflet/images/layers-2x.png +0 -0
  50. package/public/leaflet/images/layers.png +0 -0
  51. package/public/leaflet/images/lifebuoy.png +0 -0
  52. package/public/leaflet/images/spritesheet-2x.png +0 -0
  53. package/public/leaflet/images/spritesheet.svg +156 -0
  54. package/public/leaflet/leaflet.css +677 -0
  55. package/public/leaflet/leaflet.draw.css +253 -0
  56. package/public/leaflet/leaflet.draw.js +2957 -0
  57. package/public/leaflet/leaflet.js +7467 -0
  58. package/public/style.css +351 -37
  59. package/docs/screenshots/1_placeholder.png +0 -0
  60. package/public/index.js +0 -349
@@ -1 +1 @@
1
- {"version":3,"file":"chartDownloader.js","sourceRoot":"","sources":["../src/chartDownloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartDownloader.js","sourceRoot":"","sources":["../src/chartDownloader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ChartProvider, OnlineChartProvider, MBTilesHandle } from './types';
2
+ import type { FeatureCollection } from 'geojson';
3
+ import { Tile } from './chartDownloaderTileHelpers';
4
+ import type { DatabaseSync } from 'node:sqlite';
5
+ export declare function openOrCreateMbtiles(mbtilesPath: string, provider: OnlineChartProvider | ChartProvider): Promise<MBTilesHandle>;
6
+ export declare function getMBTilesForPolygon(db: DatabaseSync, geojson: FeatureCollection, zoomMin?: number, zoomMax?: number): Generator<Tile, void, undefined>;
7
+ export declare function deleteTilesInChunks(db: DatabaseSync, tiles: Generator<Tile>, chunkSize?: number, onProgress?: (done: number) => void): Promise<void>;
8
+ export declare function purgeAllOrphanImages(db: DatabaseSync, chunkSize?: number, onProgress?: (deleted: number, total: number) => void): Promise<number>;
9
+ export declare function vacuumMbtiles(db: DatabaseSync): void;
10
+ //# sourceMappingURL=chartDownloaderMBTilesHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartDownloaderMBTilesHelpers.d.ts","sourceRoot":"","sources":["../src/chartDownloaderMBTilesHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,aAAa,EAEd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAA;AAGlE,OAAO,EACL,IAAI,EAIL,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA4B/C,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,mBAAmB,GAAG,aAAa,GAC5C,OAAO,CAAC,aAAa,CAAC,CA+DxB;AAED,wBAAiB,oBAAoB,CACnC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,SAAI,EACX,OAAO,SAAK,GACX,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CA0ClC;AAsBD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EACtB,SAAS,SAAM,EACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,CAuCf;AAoBD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,YAAY,EAChB,SAAS,SAAO,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,mBAgBtD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAIpD"}
@@ -0,0 +1,202 @@
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.openOrCreateMbtiles = openOrCreateMbtiles;
7
+ exports.getMBTilesForPolygon = getMBTilesForPolygon;
8
+ exports.deleteTilesInChunks = deleteTilesInChunks;
9
+ exports.purgeAllOrphanImages = purgeAllOrphanImages;
10
+ exports.vacuumMbtiles = vacuumMbtiles;
11
+ const fs_1 = require("fs");
12
+ const path_1 = __importDefault(require("path"));
13
+ const bbox_1 = __importDefault(require("@turf/bbox"));
14
+ const boolean_intersects_1 = __importDefault(require("@turf/boolean-intersects"));
15
+ const chartDownloaderTileHelpers_1 = require("./chartDownloaderTileHelpers");
16
+ let MBTiles = null;
17
+ async function loadMBTiles() {
18
+ if (MBTiles === null) {
19
+ const module = await import('@signalk/mbtiles');
20
+ MBTiles = (module.default || module);
21
+ }
22
+ return MBTiles;
23
+ }
24
+ async function openOrCreateMbtiles(mbtilesPath, provider) {
25
+ (0, fs_1.mkdirSync)(path_1.default.dirname(mbtilesPath), { recursive: true });
26
+ const MBTilesCtor = await loadMBTiles();
27
+ return new Promise((resolve, reject) => {
28
+ new MBTilesCtor(`${mbtilesPath}?mode=rwc`, (err, mbtiles) => {
29
+ if (err) {
30
+ return reject(err);
31
+ }
32
+ // MBTiles is an EventEmitter over a raw sqlite handle. Without an
33
+ // 'error' listener a runtime DB error (ENOSPC/EIO on an SD card mid
34
+ // write) is an unhandled 'error' event, which crashes the process.
35
+ // Demote it to a log so a flaky write surface can't take the server
36
+ // down. Attached before startWriting so an error during open is caught.
37
+ mbtiles.on('error', (e) => {
38
+ console.error(`MBTiles write handle error (${mbtilesPath}):`, e.message);
39
+ });
40
+ mbtiles.startWriting((err) => {
41
+ if (err) {
42
+ return reject(err);
43
+ }
44
+ mbtiles._db?.exec('PRAGMA journal_mode = WAL');
45
+ mbtiles._db?.exec('PRAGMA synchronous = NORMAL');
46
+ mbtiles._db?.exec('PRAGMA temp_store = MEMORY');
47
+ // NORMAL locking_mode rather than EXCLUSIVE: WAL + single-writer
48
+ // already serialises us, and EXCLUSIVE blocks any second connection
49
+ // attempt — including a plugin reload that races a previous
50
+ // connection's close on the same file (which happens in tests
51
+ // running mocha serially, and in production on a quick disable/
52
+ // enable cycle).
53
+ mbtiles._db?.exec('PRAGMA locking_mode = NORMAL');
54
+ mbtiles._db?.exec('PRAGMA cache_size = -20000'); // ~20MB RAM cache
55
+ mbtiles._db?.exec('PRAGMA page_size = 4096');
56
+ mbtiles._db?.exec('PRAGMA mmap_size = 268435456'); // 256MB mmap if supported
57
+ mbtiles._db?.exec('PRAGMA auto_vacuum = FULL');
58
+ const entries = [
59
+ ['name', provider.name],
60
+ ['type', 'tileLayer'],
61
+ ['version', '1.0'],
62
+ ['format', provider.format ? provider.format : 'png'],
63
+ ['minzoom', String(provider.minzoom)],
64
+ ['maxzoom', String(provider.maxzoom)]
65
+ // ['bounds', bbox.map(n => n.toFixed(7)).join(',')]
66
+ ];
67
+ const metadata = Object.fromEntries(entries);
68
+ mbtiles.putInfo(metadata, (err) => {
69
+ if (err) {
70
+ return reject(err);
71
+ }
72
+ resolve(mbtiles);
73
+ });
74
+ });
75
+ });
76
+ });
77
+ }
78
+ function* getMBTilesForPolygon(db, geojson, zoomMin = 1, zoomMax = 14) {
79
+ // Prepared statement is identical across the per-feature / per-zoom loops;
80
+ // the bind values change but the SQL text doesn't. Hoisted so we don't
81
+ // pay sqlite's prepare cost once per zoom level (~14× per call before).
82
+ const stmt = db.prepare(`
83
+ SELECT tile_column, tile_row
84
+ FROM map
85
+ WHERE zoom_level = ?
86
+ AND tile_column BETWEEN ? AND ?
87
+ AND tile_row BETWEEN ? AND ?
88
+ `);
89
+ for (const feature of geojson.features) {
90
+ if (feature.geometry.type !== 'Polygon' &&
91
+ feature.geometry.type !== 'MultiPolygon') {
92
+ console.warn('Skipping non-polygon feature');
93
+ continue;
94
+ }
95
+ const polygon = feature.geometry;
96
+ const boundingBox = (0, bbox_1.default)(polygon);
97
+ for (let z = zoomMin; z <= zoomMax; z++) {
98
+ const [minX, minY] = (0, chartDownloaderTileHelpers_1.lonLatToTileXY)(boundingBox[0], boundingBox[3], z); // top-left
99
+ const [maxX, maxY] = (0, chartDownloaderTileHelpers_1.lonLatToTileXY)(boundingBox[2], boundingBox[1], z); // bottom-right
100
+ const tmsMinY = xyzToTmsY(z, maxY);
101
+ const tmsMaxY = xyzToTmsY(z, minY);
102
+ const rows = stmt.all(z, minX, maxX, tmsMinY, tmsMaxY);
103
+ for (const row of rows) {
104
+ const x = row.tile_column;
105
+ const y = tmsToXyzY(z, row.tile_row);
106
+ const tileBbox = (0, chartDownloaderTileHelpers_1.tileToBBox)(x, y, z);
107
+ const tilePoly = (0, chartDownloaderTileHelpers_1.bboxPolygon)(tileBbox);
108
+ if ((0, boolean_intersects_1.default)(feature, tilePoly)) {
109
+ yield { x, y, z };
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ async function takeChunk(gen, size) {
116
+ const chunk = [];
117
+ for (let i = 0; i < size; i++) {
118
+ const { value, done } = await gen.next();
119
+ if (done)
120
+ break;
121
+ chunk.push(value);
122
+ }
123
+ return chunk;
124
+ }
125
+ function xyzToTmsY(z, y) {
126
+ return (1 << z) - 1 - y;
127
+ }
128
+ function tmsToXyzY(z, y) {
129
+ return (1 << z) - 1 - y;
130
+ }
131
+ async function deleteTilesInChunks(db, tiles, chunkSize = 100, onProgress) {
132
+ let deleted = 0;
133
+ // Prepared statement reused across all chunks; SQL text is identical, only
134
+ // bind values change. Was being re-prepared per chunk before.
135
+ const stmt = db.prepare(`
136
+ DELETE FROM map
137
+ WHERE zoom_level = ?
138
+ AND tile_column = ?
139
+ AND tile_row = ?
140
+ `);
141
+ let chunk = await takeChunk(tiles, chunkSize);
142
+ while (chunk.length > 0) {
143
+ db.exec('BEGIN TRANSACTION');
144
+ try {
145
+ for (const { z, x, y } of chunk) {
146
+ stmt.run(z, x, xyzToTmsY(z, y));
147
+ }
148
+ db.exec('COMMIT');
149
+ }
150
+ catch (err) {
151
+ // Abort the open transaction so SQLite isn't left in an
152
+ // implicit-rollback state holding the write lock for the rest of
153
+ // the run. Rethrow so the caller knows the chunk failed; partial
154
+ // mid-chunk deletes are reverted.
155
+ try {
156
+ db.exec('ROLLBACK');
157
+ }
158
+ catch {
159
+ // ROLLBACK can race a SQLite-internal abort and throw "no
160
+ // transaction is active". Safe to ignore: the transaction is
161
+ // gone either way, and surfacing this would mask the real err.
162
+ }
163
+ throw err;
164
+ }
165
+ deleted += chunk.length;
166
+ onProgress?.(deleted);
167
+ // Yield to event loop so UI stays responsive
168
+ await new Promise((r) => setTimeout(r, 0));
169
+ chunk = await takeChunk(tiles, chunkSize);
170
+ }
171
+ }
172
+ function purgeOrphanImagesChunk(db, limit) {
173
+ const stmt = db.prepare(`
174
+ DELETE FROM images
175
+ WHERE tile_id IN (
176
+ SELECT tile_id
177
+ FROM images
178
+ WHERE tile_id NOT IN (SELECT tile_id FROM map)
179
+ LIMIT ?
180
+ )
181
+ `);
182
+ const result = stmt.run(limit);
183
+ return result.changes;
184
+ }
185
+ async function purgeAllOrphanImages(db, chunkSize = 1000, onProgress) {
186
+ let total = 0;
187
+ let deleted;
188
+ while ((deleted = Number(await purgeOrphanImagesChunk(db, chunkSize))) > 0) {
189
+ total += deleted;
190
+ onProgress?.(deleted, total);
191
+ // Yield to event loop → app stays responsive
192
+ await new Promise((resolve) => setImmediate(resolve));
193
+ }
194
+ db.exec('PRAGMA wal_checkpoint(TRUNCATE)');
195
+ return total;
196
+ }
197
+ function vacuumMbtiles(db) {
198
+ db.exec('PRAGMA journal_mode=DELETE');
199
+ db.exec('VACUUM');
200
+ db.exec('PRAGMA journal_mode=WAL');
201
+ }
202
+ //# sourceMappingURL=chartDownloaderMBTilesHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartDownloaderMBTilesHelpers.js","sourceRoot":"","sources":["../src/chartDownloaderMBTilesHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { BBox, FeatureCollection, Polygon, Feature } from 'geojson';
2
+ export interface Tile {
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ }
7
+ export type TileGeneratorFactory = () => Generator<Tile, void, undefined>;
8
+ /**
9
+ * Get tiles intersecting features in a GeoJSON FeatureCollection.
10
+ */
11
+ export declare function getTilesForGeoJSON(geojson: FeatureCollection, zoomMin?: number, zoomMax?: number): Generator<Tile, void, undefined>;
12
+ export declare function countTiles(tiles: TileGeneratorFactory, upperLimit?: number): number;
13
+ /**
14
+ * Convert a region object (with a .feature) into a FeatureCollection of Polygons.
15
+ * Note: requires external splitGeoJSON helper.
16
+ */
17
+ export declare function convertFeatureToGeoJSON(feature: GeoJSON.Feature<GeoJSON.Geometry>): FeatureCollection;
18
+ /**
19
+ * Convert a bounding box to a GeoJSON Polygon Feature.
20
+ *
21
+ * @param bbox - [minLon, minLat, maxLon, maxLat]
22
+ * @param properties - Optional properties to attach to the feature
23
+ * @returns GeoJSON Polygon Feature
24
+ */
25
+ export declare function convertBboxToGeoJSON(bbox: BBox, properties?: Record<string, any>): FeatureCollection;
26
+ export declare function lonLatToTileXY(lon: number, lat: number, zoom: number): [number, number];
27
+ export declare function tileToBBox(x: number, y: number, z: number): BBox;
28
+ export declare function bboxPolygon(boundingBox: BBox): Feature<Polygon, import("geojson").GeoJsonProperties>;
29
+ export declare function countTilesAdaptiveIterative(geojson: FeatureCollection, minZoom: number, maxZoom: number): number;
30
+ //# sourceMappingURL=chartDownloaderTileHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartDownloaderTileHelpers.d.ts","sourceRoot":"","sources":["../src/chartDownloaderTileHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,OAAO,EAEP,OAAO,EAER,MAAM,SAAS,CAAA;AAMhB,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAIzE;;GAEG;AACH,wBAAiB,kBAAkB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,SAAI,EACX,OAAO,SAAK,GACX,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CA6BlC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,oBAAoB,EAC3B,UAAU,GAAE,MAAiC,GAC5C,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GACzC,iBAAiB,CAoCnB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,iBAAiB,CAyBnB;AAyCD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAalB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAShE;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,IAAI,yDAW5C;AAiED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAuDR"}
@@ -0,0 +1,277 @@
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.getTilesForGeoJSON = getTilesForGeoJSON;
7
+ exports.countTiles = countTiles;
8
+ exports.convertFeatureToGeoJSON = convertFeatureToGeoJSON;
9
+ exports.convertBboxToGeoJSON = convertBboxToGeoJSON;
10
+ exports.lonLatToTileXY = lonLatToTileXY;
11
+ exports.tileToBBox = tileToBBox;
12
+ exports.bboxPolygon = bboxPolygon;
13
+ exports.countTilesAdaptiveIterative = countTilesAdaptiveIterative;
14
+ const geojson_antimeridian_cut_1 = __importDefault(require("geojson-antimeridian-cut"));
15
+ const boolean_intersects_1 = __importDefault(require("@turf/boolean-intersects"));
16
+ const bbox_1 = __importDefault(require("@turf/bbox"));
17
+ const helpers_1 = require("@turf/helpers");
18
+ /**
19
+ * Get tiles intersecting features in a GeoJSON FeatureCollection.
20
+ */
21
+ function* getTilesForGeoJSON(geojson, zoomMin = 1, zoomMax = 14) {
22
+ // Fix all the polygons received from leaflet to be between -180 and 180
23
+ for (const feature of geojson.features) {
24
+ if (feature.geometry.type !== 'Polygon' &&
25
+ feature.geometry.type !== 'MultiPolygon') {
26
+ console.warn('Skipping non-polygon feature');
27
+ continue;
28
+ }
29
+ const boundingBox = (0, bbox_1.default)(feature.geometry); // [minX, minY, maxX, maxY]
30
+ for (let z = zoomMin; z <= zoomMax; z++) {
31
+ const [minX, minY] = lonLatToTileXY(boundingBox[0], boundingBox[3], z); // top-left
32
+ const [maxX, maxY] = lonLatToTileXY(boundingBox[2], boundingBox[1], z); // bottom-right
33
+ for (let x = minX; x <= maxX; x++) {
34
+ for (let y = minY; y <= maxY; y++) {
35
+ const tileBbox = tileToBBox(x, y, z);
36
+ const tilePoly = bboxPolygon(tileBbox);
37
+ if ((0, boolean_intersects_1.default)(feature, tilePoly)) {
38
+ yield { x, y, z };
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ function countTiles(tiles, upperLimit = Number.POSITIVE_INFINITY) {
46
+ let count = 0;
47
+ const tileIterator = tiles();
48
+ for (let r = tileIterator.next(); !r.done; r = tileIterator.next()) {
49
+ count++;
50
+ if (count >= upperLimit) {
51
+ break;
52
+ }
53
+ }
54
+ return count;
55
+ }
56
+ /**
57
+ * Convert a region object (with a .feature) into a FeatureCollection of Polygons.
58
+ * Note: requires external splitGeoJSON helper.
59
+ */
60
+ function convertFeatureToGeoJSON(feature) {
61
+ const normalizedFeature = normalizeGeoJSONLongitudes(feature);
62
+ const splitGeoFeature = (0, geojson_antimeridian_cut_1.default)(normalizedFeature);
63
+ const features = [];
64
+ const pushFeaturePolygon = (orig, coords, idx) => {
65
+ const poly = {
66
+ type: 'Feature',
67
+ id: idx != null && orig.id ? `${orig.id}-${idx}` : orig.id,
68
+ geometry: {
69
+ type: 'Polygon',
70
+ coordinates: coords
71
+ },
72
+ properties: orig.properties || {}
73
+ };
74
+ features.push(poly);
75
+ };
76
+ const f = splitGeoFeature;
77
+ if (f.geometry && f.geometry.type === 'MultiPolygon') {
78
+ const coords = f.geometry.coordinates;
79
+ for (let i = 0; i < coords.length; i++) {
80
+ pushFeaturePolygon(f, coords[i], i);
81
+ }
82
+ }
83
+ else if (f.geometry && f.geometry.type === 'Polygon') {
84
+ features.push(f);
85
+ }
86
+ return {
87
+ type: 'FeatureCollection',
88
+ features
89
+ };
90
+ }
91
+ /**
92
+ * Convert a bounding box to a GeoJSON Polygon Feature.
93
+ *
94
+ * @param bbox - [minLon, minLat, maxLon, maxLat]
95
+ * @param properties - Optional properties to attach to the feature
96
+ * @returns GeoJSON Polygon Feature
97
+ */
98
+ function convertBboxToGeoJSON(bbox, properties = {}) {
99
+ const [minLon, minLat, maxLon, maxLat] = bbox;
100
+ // Polygon coordinates must be an array of linear rings
101
+ // First (and only) ring is the outer boundary
102
+ const coordinates = [
103
+ [
104
+ [minLon, minLat], // bottom-left
105
+ [maxLon, minLat], // bottom-right
106
+ [maxLon, maxLat], // top-right
107
+ [minLon, maxLat], // top-left
108
+ [minLon, minLat] // close ring
109
+ ]
110
+ ];
111
+ const geojson = {
112
+ type: 'Feature',
113
+ geometry: {
114
+ type: 'Polygon',
115
+ coordinates
116
+ },
117
+ properties
118
+ };
119
+ return convertFeatureToGeoJSON(geojson);
120
+ }
121
+ function normalizeGeoJSONLongitudes(feature) {
122
+ const geom = feature.geometry;
123
+ switch (geom.type) {
124
+ case 'Polygon':
125
+ normalizePolygon(geom.coordinates);
126
+ break;
127
+ case 'MultiPolygon':
128
+ for (const polygon of geom.coordinates) {
129
+ normalizePolygon(polygon);
130
+ }
131
+ break;
132
+ default:
133
+ break;
134
+ }
135
+ // }
136
+ return feature;
137
+ }
138
+ function normalizePolygon(rings) {
139
+ for (const ring of rings) {
140
+ for (const coord of ring) {
141
+ coord[0] = normalizeLon(coord[0]);
142
+ }
143
+ }
144
+ }
145
+ function normalizeLon(lon) {
146
+ if (lon < -180)
147
+ return lon + 360;
148
+ if (lon > 180)
149
+ return lon - 360;
150
+ return lon;
151
+ }
152
+ /* Coordinate / tile conversions kept as standalone functions */
153
+ function lonLatToTileXY(lon, lat, zoom) {
154
+ const n = 2 ** zoom;
155
+ const x = Math.floor(((lon + 180) / 360) * n);
156
+ const y = Math.floor(((1 -
157
+ Math.log(Math.tan((lat * Math.PI) / 180) + 1 / Math.cos((lat * Math.PI) / 180)) /
158
+ Math.PI) /
159
+ 2) *
160
+ n);
161
+ return [x, y];
162
+ }
163
+ function tileToBBox(x, y, z) {
164
+ const n = 2 ** z;
165
+ const lon1 = (x / n) * 360 - 180;
166
+ const lat1 = (Math.atan(Math.sinh(Math.PI * (1 - (2 * y) / n))) * 180) / Math.PI;
167
+ const lon2 = ((x + 1) / n) * 360 - 180;
168
+ const lat2 = (Math.atan(Math.sinh(Math.PI * (1 - (2 * (y + 1)) / n))) * 180) / Math.PI;
169
+ return [lon1, lat2, lon2, lat1];
170
+ }
171
+ function bboxPolygon(boundingBox) {
172
+ const [minLon, minLat, maxLon, maxLat] = boundingBox;
173
+ return (0, helpers_1.polygon)([
174
+ [
175
+ [minLon, minLat],
176
+ [maxLon, minLat],
177
+ [maxLon, maxLat],
178
+ [minLon, maxLat],
179
+ [minLon, minLat]
180
+ ]
181
+ ]);
182
+ }
183
+ function pointInRing(pt, ring) {
184
+ const [x, y] = pt;
185
+ let inside = false;
186
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
187
+ const [xi, yi] = ring[i];
188
+ const [xj, yj] = ring[j];
189
+ const intersect = yi > y !== yj > y &&
190
+ x < ((xj - xi) * (y - yi)) / (yj - yi + Number.EPSILON) + xi;
191
+ if (intersect)
192
+ inside = !inside;
193
+ }
194
+ return inside;
195
+ }
196
+ function pointInPolygonFeature(pt, feature) {
197
+ const geom = feature;
198
+ if (geom.type === 'Polygon') {
199
+ const [outer, ...holes] = geom.coordinates;
200
+ if (!pointInRing(pt, outer))
201
+ return false;
202
+ for (const hole of holes) {
203
+ if (pointInRing(pt, hole))
204
+ return false;
205
+ }
206
+ return true;
207
+ }
208
+ return false;
209
+ }
210
+ function bboxIntersects(a, b) {
211
+ return !(a[2] < b[0] || a[0] > b[2] || a[3] < b[1] || a[1] > b[3]);
212
+ }
213
+ function isTileFullyInside(tileBBox, feature) {
214
+ const [minLon, minLat, maxLon, maxLat] = tileBBox;
215
+ return (pointInPolygonFeature([minLon, minLat], feature) &&
216
+ pointInPolygonFeature([minLon, maxLat], feature) &&
217
+ pointInPolygonFeature([maxLon, minLat], feature) &&
218
+ pointInPolygonFeature([maxLon, maxLat], feature));
219
+ }
220
+ function subdivide(tile) {
221
+ const { x, y, z } = tile;
222
+ const z2 = z + 1;
223
+ return [
224
+ { x: x * 2, y: y * 2, z: z2 },
225
+ { x: x * 2 + 1, y: y * 2, z: z2 },
226
+ { x: x * 2, y: y * 2 + 1, z: z2 },
227
+ { x: x * 2 + 1, y: y * 2 + 1, z: z2 }
228
+ ];
229
+ }
230
+ function countTilesAdaptiveIterative(geojson, minZoom, maxZoom) {
231
+ let count = 0;
232
+ for (const feature of geojson.features) {
233
+ if (feature.geometry.type !== 'Polygon' &&
234
+ feature.geometry.type !== 'MultiPolygon') {
235
+ console.warn('Skipping non-polygon feature');
236
+ continue;
237
+ }
238
+ const polygonBBox = (0, bbox_1.default)(feature.geometry);
239
+ const stack = [];
240
+ const minTile = lonLatToTileXY(polygonBBox[0], polygonBBox[3], minZoom);
241
+ const maxTile = lonLatToTileXY(polygonBBox[2], polygonBBox[1], minZoom);
242
+ for (let x = minTile[0]; x <= maxTile[0]; x++) {
243
+ for (let y = minTile[1]; y <= maxTile[1]; y++) {
244
+ stack.push({ x, y, z: minZoom });
245
+ }
246
+ }
247
+ while (stack.length > 0) {
248
+ const tile = stack.pop();
249
+ const tileBBox = tileToBBox(tile.x, tile.y, tile.z);
250
+ // Fast bbox reject
251
+ if (!bboxIntersects(tileBBox, polygonBBox)) {
252
+ continue;
253
+ }
254
+ // This assumes that if all for corners of a tile is inside the polygon, then the whole tile is inside. This is not always true (e.g. a C shaped polygon), but should be good enough for estimation.
255
+ if (isTileFullyInside(tileBBox, feature.geometry)) {
256
+ const levels = maxZoom - tile.z;
257
+ count += (Math.pow(4, levels + 1) - 1) / 3;
258
+ continue;
259
+ }
260
+ const tilePoly = bboxPolygon(tileBBox);
261
+ if (!(0, boolean_intersects_1.default)(feature, tilePoly)) {
262
+ continue;
263
+ }
264
+ count++;
265
+ if (tile.z < maxZoom) {
266
+ const children = subdivide(tile);
267
+ for (let i = children.length - 1; i >= 0; i--) {
268
+ // children was just produced by subdivide(); the index is in-range,
269
+ // so the non-null assertion is safe under noUncheckedIndexedAccess.
270
+ stack.push(children[i]);
271
+ }
272
+ }
273
+ }
274
+ }
275
+ return count;
276
+ }
277
+ //# sourceMappingURL=chartDownloaderTileHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartDownloaderTileHelpers.js","sourceRoot":"","sources":["../src/chartDownloaderTileHelpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/charts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkC,MAAM,SAAS,CAAA;AAqEvE,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC,CAUlD"}
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/charts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkC,MAAM,SAAS,CAAA;AA0EvE,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC,CAUlD"}