signalk-livedepth-plugin 0.2.0 → 0.3.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/CHANGELOG.md +67 -0
- package/README.md +67 -41
- package/dist/collector.d.ts +1 -1
- package/dist/collector.d.ts.map +1 -1
- package/dist/config.d.ts +3 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -3
- package/dist/config.js.map +1 -1
- package/dist/plotterext/manifest.d.ts +24 -0
- package/dist/plotterext/manifest.d.ts.map +1 -0
- package/dist/plotterext/manifest.js +78 -0
- package/dist/plotterext/manifest.js.map +1 -0
- package/dist/plotterext/provider.d.ts +7 -0
- package/dist/plotterext/provider.d.ts.map +1 -0
- package/dist/plotterext/provider.js +61 -0
- package/dist/plotterext/provider.js.map +1 -0
- package/dist/plugin.d.ts +9 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +32 -10
- package/dist/plugin.js.map +1 -1
- package/dist/streams/live.d.ts +1 -1
- package/dist/streams/live.d.ts.map +1 -1
- package/dist/streams/live.js +1 -1
- package/dist/streams/live.js.map +1 -1
- package/dist/tiles/api.d.ts +21 -11
- package/dist/tiles/api.d.ts.map +1 -1
- package/dist/tiles/api.js +42 -28
- package/dist/tiles/api.js.map +1 -1
- package/dist/tiles/core/accumulator.d.ts +37 -0
- package/dist/tiles/core/accumulator.d.ts.map +1 -0
- package/dist/tiles/core/accumulator.js +75 -0
- package/dist/tiles/core/accumulator.js.map +1 -0
- package/dist/tiles/core/correction.d.ts +32 -0
- package/dist/tiles/core/correction.d.ts.map +1 -0
- package/dist/tiles/core/correction.js +43 -0
- package/dist/tiles/core/correction.js.map +1 -0
- package/dist/tiles/core/grid.d.ts +64 -0
- package/dist/tiles/core/grid.d.ts.map +1 -0
- package/dist/tiles/core/grid.js +127 -0
- package/dist/tiles/core/grid.js.map +1 -0
- package/dist/tiles/core/index.d.ts +7 -0
- package/dist/tiles/core/index.d.ts.map +1 -0
- package/dist/tiles/core/index.js +7 -0
- package/dist/tiles/core/index.js.map +1 -0
- package/dist/tiles/core/store.d.ts +37 -0
- package/dist/tiles/core/store.d.ts.map +1 -0
- package/dist/tiles/core/store.js +86 -0
- package/dist/tiles/core/store.js.map +1 -0
- package/dist/tiles/core/tile-source.d.ts +41 -0
- package/dist/tiles/core/tile-source.d.ts.map +1 -0
- package/dist/tiles/core/tile-source.js +86 -0
- package/dist/tiles/core/tile-source.js.map +1 -0
- package/dist/tiles/core/types.d.ts +11 -0
- package/dist/tiles/core/types.d.ts.map +1 -0
- package/dist/tiles/core/types.js +2 -0
- package/dist/tiles/core/types.js.map +1 -0
- package/dist/tiles/index.d.ts +1 -1
- package/dist/tiles/index.d.ts.map +1 -1
- package/dist/tiles/index.js +1 -1
- package/dist/tiles/index.js.map +1 -1
- package/dist/tiles/seed.d.ts +1 -1
- package/dist/tiles/seed.d.ts.map +1 -1
- package/dist/tiles/seed.js +1 -1
- package/dist/tiles/seed.js.map +1 -1
- package/dist/tiles/store.d.ts +1 -1
- package/dist/tiles/store.d.ts.map +1 -1
- package/dist/tiles/store.js +1 -1
- package/dist/tiles/store.js.map +1 -1
- package/dist/tiles/writer.d.ts +1 -1
- package/dist/tiles/writer.d.ts.map +1 -1
- package/dist/tiles/writer.js +1 -1
- package/dist/tiles/writer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -6
- package/public/config.html +14 -0
- package/public/index.html +15 -0
- package/public/js/config.js +901 -0
- package/public/js/config.js.map +7 -0
- package/public/js/render-worker.js +706 -0
- package/public/js/render-worker.js.map +7 -0
- package/public/js/renderer.js +1273 -0
- package/public/js/renderer.js.map +7 -0
- package/public/renderer.html +14 -0
- package/public/styles.css +110 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tile-store interface shared by both sides, plus an in-memory
|
|
3
|
+
* implementation.
|
|
4
|
+
*
|
|
5
|
+
* The LiveDepth plugin backs it with SQLite; the chart client keeps the tiles
|
|
6
|
+
* in a `Map` (bounded by the viewport it fetches, not the whole record). The
|
|
7
|
+
* shared {@link createTileAccumulator} and {@link minPoolTile} logic works
|
|
8
|
+
* against this interface so both build identical tiles.
|
|
9
|
+
*/
|
|
10
|
+
import { TileCells } from "./grid.js";
|
|
11
|
+
export interface TileStore {
|
|
12
|
+
/** A tile's cells, or undefined when it holds no soundings. */
|
|
13
|
+
read(z: number, x: number, y: number): TileCells | undefined;
|
|
14
|
+
/** Replace a tile (deletes it when empty). */
|
|
15
|
+
write(z: number, x: number, y: number, cells: TileCells): void;
|
|
16
|
+
/** Merge cells into a tile, keeping the shallowest depth and summing counts. */
|
|
17
|
+
merge(z: number, x: number, y: number, incoming: TileCells): void;
|
|
18
|
+
/** Rebuild every ancestor of a changed base tile, up to {@link MIN_ZOOM}. */
|
|
19
|
+
updateAncestors(z: number, x: number, y: number): void;
|
|
20
|
+
/** Every occupied tile at a level (for a bulk pyramid rebuild). */
|
|
21
|
+
listTiles(z: number): {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}[];
|
|
25
|
+
/** Read a store-level key. */
|
|
26
|
+
getMeta(key: string): string | undefined;
|
|
27
|
+
/** Write a store-level key. */
|
|
28
|
+
setMeta(key: string, value: string): void;
|
|
29
|
+
/** Run `fn` inside a single transaction (a no-op batch on the client). */
|
|
30
|
+
transaction<T>(fn: () => T): T;
|
|
31
|
+
/** Drop every tile. */
|
|
32
|
+
clear(): void;
|
|
33
|
+
/** Release any resources (a no-op for the in-memory store). */
|
|
34
|
+
close(): void;
|
|
35
|
+
}
|
|
36
|
+
export declare function createMemoryTileStore(): TileStore;
|
|
37
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/tiles/core/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAY,SAAS,EAAe,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7D,8CAA8C;IAC9C,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/D,gFAAgF;IAChF,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAClE,6EAA6E;IAC7E,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,mEAAmE;IACnE,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,8BAA8B;IAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,+BAA+B;IAC/B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,0EAA0E;IAC1E,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,uBAAuB;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,IAAI,SAAS,CAkFjD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tile-store interface shared by both sides, plus an in-memory
|
|
3
|
+
* implementation.
|
|
4
|
+
*
|
|
5
|
+
* The LiveDepth plugin backs it with SQLite; the chart client keeps the tiles
|
|
6
|
+
* in a `Map` (bounded by the viewport it fetches, not the whole record). The
|
|
7
|
+
* shared {@link createTileAccumulator} and {@link minPoolTile} logic works
|
|
8
|
+
* against this interface so both build identical tiles.
|
|
9
|
+
*/
|
|
10
|
+
import { MIN_ZOOM, minPoolTile } from "./grid.js";
|
|
11
|
+
export function createMemoryTileStore() {
|
|
12
|
+
const tiles = new Map();
|
|
13
|
+
const meta = new Map();
|
|
14
|
+
const key = (z, x, y) => `${z}/${x}/${y}`;
|
|
15
|
+
const read = (z, x, y) => tiles.get(key(z, x, y));
|
|
16
|
+
const write = (z, x, y, cells) => {
|
|
17
|
+
if (cells.size === 0) {
|
|
18
|
+
tiles.delete(key(z, x, y));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
tiles.set(key(z, x, y), cells);
|
|
22
|
+
};
|
|
23
|
+
const merge = (z, x, y, incoming) => {
|
|
24
|
+
const cells = read(z, x, y) ?? new Map();
|
|
25
|
+
for (const [k, cell] of incoming) {
|
|
26
|
+
const existing = cells.get(k);
|
|
27
|
+
if (!existing) {
|
|
28
|
+
cells.set(k, { depth: cell.depth, count: cell.count });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (cell.depth < existing.depth)
|
|
32
|
+
existing.depth = cell.depth;
|
|
33
|
+
existing.count = Math.min(255, existing.count + cell.count);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
write(z, x, y, cells);
|
|
37
|
+
};
|
|
38
|
+
const updateAncestors = (z, x, y) => {
|
|
39
|
+
let lz = z;
|
|
40
|
+
let lx = x;
|
|
41
|
+
let ly = y;
|
|
42
|
+
while (lz > MIN_ZOOM) {
|
|
43
|
+
const pz = lz - 1;
|
|
44
|
+
const px = lx >> 1;
|
|
45
|
+
const py = ly >> 1;
|
|
46
|
+
const children = [
|
|
47
|
+
read(lz, px * 2, py * 2),
|
|
48
|
+
read(lz, px * 2 + 1, py * 2),
|
|
49
|
+
read(lz, px * 2, py * 2 + 1),
|
|
50
|
+
read(lz, px * 2 + 1, py * 2 + 1),
|
|
51
|
+
];
|
|
52
|
+
write(pz, px, py, minPoolTile(children));
|
|
53
|
+
lz = pz;
|
|
54
|
+
lx = px;
|
|
55
|
+
ly = py;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
read,
|
|
60
|
+
write,
|
|
61
|
+
merge,
|
|
62
|
+
updateAncestors,
|
|
63
|
+
listTiles: (z) => {
|
|
64
|
+
const out = [];
|
|
65
|
+
for (const key of tiles.keys()) {
|
|
66
|
+
const [tz, tx, ty] = key.split("/");
|
|
67
|
+
if (Number(tz) === z) {
|
|
68
|
+
out.push({ x: Number(tx), y: Number(ty) });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
},
|
|
73
|
+
getMeta: (k) => meta.get(k),
|
|
74
|
+
setMeta: (k, v) => {
|
|
75
|
+
meta.set(k, v);
|
|
76
|
+
},
|
|
77
|
+
transaction: (fn) => fn(),
|
|
78
|
+
clear: () => {
|
|
79
|
+
tiles.clear();
|
|
80
|
+
},
|
|
81
|
+
close: () => {
|
|
82
|
+
tiles.clear();
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/tiles/core/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** Helpers for reading the LiveDepth bathymetry tiles.
|
|
2
|
+
*
|
|
3
|
+
* Glue around the grid: pick the tile level for a target ground resolution,
|
|
4
|
+
* work out which tiles cover a viewport, and turn a decoded tile's cells back
|
|
5
|
+
* into lon/lat depth soundings. Pure functions (no HTTP, no framework) so they
|
|
6
|
+
* can be unit tested directly.
|
|
7
|
+
*/
|
|
8
|
+
import { Sounding } from "./types.js";
|
|
9
|
+
import { TransducerOffset } from "./correction.js";
|
|
10
|
+
import { TileCells, cellSize } from "./grid.js";
|
|
11
|
+
/** Grid spec served by `/plugins/<id>/bathymetry/meta`. */
|
|
12
|
+
export interface TileMeta {
|
|
13
|
+
format: string;
|
|
14
|
+
baseZoom: number;
|
|
15
|
+
minZoom: number;
|
|
16
|
+
tileSize: number;
|
|
17
|
+
recordBytes: number;
|
|
18
|
+
depthPath?: string;
|
|
19
|
+
/** Offset from the position the server reports to the depth transducer, when
|
|
20
|
+
* the plugin corrects for it; absent or null otherwise. A client applies the
|
|
21
|
+
* same shift to its own soundings so they match the served tiles. */
|
|
22
|
+
transducer?: TransducerOffset | null;
|
|
23
|
+
}
|
|
24
|
+
/** The finest tile level whose cells are no coarser than `cellMetres`, clamped
|
|
25
|
+
* to the served range. Finer than needed wastes requests; coarser loses detail
|
|
26
|
+
* the field could have shown. */
|
|
27
|
+
export declare function zoomForCellSize(cellMetres: number, minZoom?: number, baseZoom?: number): number;
|
|
28
|
+
/** The tiles (wrapped x) covering a `[west, south, east, north]` box at level
|
|
29
|
+
* z. `west > east` is read the short way round the antimeridian. */
|
|
30
|
+
export declare function tileRangeForBbox(bbox: readonly number[], z: number): {
|
|
31
|
+
xs: number[];
|
|
32
|
+
ys: number[];
|
|
33
|
+
};
|
|
34
|
+
/** Lon/lat of the centre of a cell within a tile. */
|
|
35
|
+
export declare function tileCellCentre(z: number, x: number, y: number, key: number): [number, number];
|
|
36
|
+
/** Turn a tile's cells into lon/lat depth samples. */
|
|
37
|
+
export declare function cellsToSamples(z: number, x: number, y: number, cells: TileCells): Sounding[];
|
|
38
|
+
/** Decode a served tile blob into lon/lat depth samples. */
|
|
39
|
+
export declare function decodeTileSamples(z: number, x: number, y: number, bytes: Uint8Array): Sounding[];
|
|
40
|
+
export { cellSize };
|
|
41
|
+
//# sourceMappingURL=tile-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-source.d.ts","sourceRoot":"","sources":["../../../src/tiles/core/tile-source.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAIL,SAAS,EACT,QAAQ,EAGT,MAAM,WAAW,CAAC;AAEnB,2DAA2D;AAC3D,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;yEAEqE;IACrE,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAID;;iCAEiC;AACjC,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,SAAW,EAClB,QAAQ,SAAY,GACnB,MAAM,CAOR;AAkBD;oEACoE;AACpE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,CAAC,EAAE,MAAM,GACR;IAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,CA0BhC;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,GACV,CAAC,MAAM,EAAE,MAAM,CAAC,CASlB;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,GACf,QAAQ,EAAE,CASZ;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,UAAU,GAChB,QAAQ,EAAE,CAEZ;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/** Helpers for reading the LiveDepth bathymetry tiles.
|
|
2
|
+
*
|
|
3
|
+
* Glue around the grid: pick the tile level for a target ground resolution,
|
|
4
|
+
* work out which tiles cover a viewport, and turn a decoded tile's cells back
|
|
5
|
+
* into lon/lat depth soundings. Pure functions (no HTTP, no framework) so they
|
|
6
|
+
* can be unit tested directly.
|
|
7
|
+
*/
|
|
8
|
+
import { BASE_ZOOM, MIN_ZOOM, TILE_SIZE, cellSize, decodeDepth, decodeTile, } from "./grid.js";
|
|
9
|
+
const RAD = Math.PI / 180;
|
|
10
|
+
/** The finest tile level whose cells are no coarser than `cellMetres`, clamped
|
|
11
|
+
* to the served range. Finer than needed wastes requests; coarser loses detail
|
|
12
|
+
* the field could have shown. */
|
|
13
|
+
export function zoomForCellSize(cellMetres, minZoom = MIN_ZOOM, baseZoom = BASE_ZOOM) {
|
|
14
|
+
if (!(cellMetres > 0))
|
|
15
|
+
return baseZoom;
|
|
16
|
+
// Round up, so the chosen level's cells are no coarser than requested.
|
|
17
|
+
const ideal = Math.ceil(Math.log2((2 * Math.PI * 6378137) / (TILE_SIZE * cellMetres)));
|
|
18
|
+
return Math.max(minZoom, Math.min(baseZoom, ideal));
|
|
19
|
+
}
|
|
20
|
+
/** Tile x for a longitude at level z; may fall outside `[0, 2^z)` for a view
|
|
21
|
+
* panned a world away, and is wrapped by the caller. */
|
|
22
|
+
function lonToTileX(lon, z) {
|
|
23
|
+
return ((lon + 180) / 360) * Math.pow(2, z);
|
|
24
|
+
}
|
|
25
|
+
/** Tile y for a latitude at level z (south = larger y). */
|
|
26
|
+
function latToTileY(lat, z) {
|
|
27
|
+
const clamped = Math.max(-85.05112878, Math.min(85.05112878, lat));
|
|
28
|
+
const latRad = clamped * RAD;
|
|
29
|
+
return (((1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2) *
|
|
30
|
+
Math.pow(2, z));
|
|
31
|
+
}
|
|
32
|
+
/** The tiles (wrapped x) covering a `[west, south, east, north]` box at level
|
|
33
|
+
* z. `west > east` is read the short way round the antimeridian. */
|
|
34
|
+
export function tileRangeForBbox(bbox, z) {
|
|
35
|
+
const n = Math.pow(2, z);
|
|
36
|
+
if (bbox.length !== 4) {
|
|
37
|
+
return { xs: [], ys: [] };
|
|
38
|
+
}
|
|
39
|
+
const [west, south, east, north] = bbox;
|
|
40
|
+
const xStart = Math.floor(lonToTileX(west, z));
|
|
41
|
+
let xEnd = Math.floor(lonToTileX(east, z));
|
|
42
|
+
if (xEnd < xStart) {
|
|
43
|
+
xEnd += n; // wrapped past the antimeridian
|
|
44
|
+
}
|
|
45
|
+
const xCount = Math.min(n, xEnd - xStart + 1);
|
|
46
|
+
const xs = [];
|
|
47
|
+
for (let i = 0; i < xCount; i++) {
|
|
48
|
+
xs.push((((xStart + i) % n) + n) % n);
|
|
49
|
+
}
|
|
50
|
+
const yStart = Math.max(0, Math.floor(latToTileY(north, z)));
|
|
51
|
+
const yEnd = Math.min(n - 1, Math.floor(latToTileY(south, z)));
|
|
52
|
+
const ys = [];
|
|
53
|
+
for (let y = yStart; y <= yEnd; y++) {
|
|
54
|
+
ys.push(y);
|
|
55
|
+
}
|
|
56
|
+
return { xs, ys };
|
|
57
|
+
}
|
|
58
|
+
/** Lon/lat of the centre of a cell within a tile. */
|
|
59
|
+
export function tileCellCentre(z, x, y, key) {
|
|
60
|
+
const n = Math.pow(2, z);
|
|
61
|
+
const cx = key % TILE_SIZE;
|
|
62
|
+
const cy = Math.floor(key / TILE_SIZE);
|
|
63
|
+
const fx = (x + (cx + 0.5) / TILE_SIZE) / n;
|
|
64
|
+
const fy = (y + (cy + 0.5) / TILE_SIZE) / n;
|
|
65
|
+
const lon = fx * 360 - 180;
|
|
66
|
+
const lat = Math.atan(Math.sinh(Math.PI * (1 - 2 * fy))) / RAD;
|
|
67
|
+
return [lon, lat];
|
|
68
|
+
}
|
|
69
|
+
/** Turn a tile's cells into lon/lat depth samples. */
|
|
70
|
+
export function cellsToSamples(z, x, y, cells) {
|
|
71
|
+
const samples = [];
|
|
72
|
+
for (const [key, cell] of cells) {
|
|
73
|
+
const depth = decodeDepth(cell.depth);
|
|
74
|
+
if (!Number.isFinite(depth))
|
|
75
|
+
continue;
|
|
76
|
+
const [lon, lat] = tileCellCentre(z, x, y, key);
|
|
77
|
+
samples.push({ lon, lat, depth });
|
|
78
|
+
}
|
|
79
|
+
return samples;
|
|
80
|
+
}
|
|
81
|
+
/** Decode a served tile blob into lon/lat depth samples. */
|
|
82
|
+
export function decodeTileSamples(z, x, y, bytes) {
|
|
83
|
+
return cellsToSamples(z, x, y, decodeTile(bytes));
|
|
84
|
+
}
|
|
85
|
+
export { cellSize };
|
|
86
|
+
//# sourceMappingURL=tile-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-source.js","sourceRoot":"","sources":["../../../src/tiles/core/tile-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A depth sounding at a position, depth in metres (canonical Signal K). The
|
|
3
|
+
* shared input to {@link createTileAccumulator} on both the server plugin and
|
|
4
|
+
* the chart client.
|
|
5
|
+
*/
|
|
6
|
+
export interface Sounding {
|
|
7
|
+
lon: number;
|
|
8
|
+
lat: number;
|
|
9
|
+
depth: number;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tiles/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tiles/core/types.ts"],"names":[],"mappings":""}
|
package/dist/tiles/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tiles/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tiles/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
package/dist/tiles/index.js
CHANGED
package/dist/tiles/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tiles/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tiles/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
package/dist/tiles/seed.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ServerAPI } from "@signalk/server-api";
|
|
|
2
2
|
import type { HistoryApi } from "@signalk/server-api/history";
|
|
3
3
|
import { Temporal } from "@js-temporal/polyfill";
|
|
4
4
|
import { Config } from "../config.js";
|
|
5
|
-
import { TileStore, TransducerOffset } from "
|
|
5
|
+
import { TileStore, TransducerOffset } from "./core/index.js";
|
|
6
6
|
/** Highest granularity we ask the History API for, in seconds. */
|
|
7
7
|
export declare const DEFAULT_SEED_RESOLUTION = 0.1;
|
|
8
8
|
/** Hours of history fetched per request, to bound each response. */
|
package/dist/tiles/seed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/tiles/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,SAAS,EACT,gBAAgB,EAIjB,MAAM,
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/tiles/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,SAAS,EACT,gBAAgB,EAIjB,MAAM,iBAAiB,CAAC;AAEzB,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,sEAAsE;AACtE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;IACxB,kDAAkD;IAClD,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;IACtB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,wEAAwE;IACxE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,EAA2B,EAC3B,UAAoC,EACpC,UAAqC,EACrC,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAwFrC"}
|
package/dist/tiles/seed.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { BATHY_EPOCH } from "../constants.js";
|
|
3
3
|
import { getHistoryAPI, columnsByPath } from "../history.js";
|
|
4
|
-
import { correctToTransducer, createTileAccumulator, rebuildAncestors, } from "
|
|
4
|
+
import { correctToTransducer, createTileAccumulator, rebuildAncestors, } from "./core/index.js";
|
|
5
5
|
/** Highest granularity we ask the History API for, in seconds. */
|
|
6
6
|
export const DEFAULT_SEED_RESOLUTION = 0.1;
|
|
7
7
|
/** Hours of history fetched per request, to bound each response. */
|
package/dist/tiles/seed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/tiles/seed.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAGL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/tiles/seed.ts"],"names":[],"mappings":"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"}
|
package/dist/tiles/store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { TileStore } from "
|
|
2
|
+
import { TileStore } from "./core/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* The derived, gridded store the chart reads from. It sits beside the raw
|
|
5
5
|
* `bathymetry` sounding log: the log stays the provenance/upload source of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/tiles/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAGL,SAAS,EAKV,MAAM,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/tiles/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAGL,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAuB3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,SAAS,CAkG3D"}
|
package/dist/tiles/store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { MIN_ZOOM, decodeTile, encodeTile, mergeCell, minPoolTile, } from "
|
|
2
|
+
import { MIN_ZOOM, decodeTile, encodeTile, mergeCell, minPoolTile, } from "./core/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* The derived, gridded store the chart reads from. It sits beside the raw
|
|
5
5
|
* `bathymetry` sounding log: the log stays the provenance/upload source of
|
package/dist/tiles/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/tiles/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,QAAQ,EAGR,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/tiles/store.ts"],"names":[],"mappings":"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"}
|
package/dist/tiles/writer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/tiles/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/tiles/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAa,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AAE9E,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,EACE,QAAoB,EACpB,eAAkC,GACnC,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,QAAQ,CAqCV"}
|
package/dist/tiles/writer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Writable } from "stream";
|
|
2
|
-
import { BASE_ZOOM, createTileAccumulator
|
|
2
|
+
import { BASE_ZOOM, createTileAccumulator } from "./core/index.js";
|
|
3
3
|
/** How long soundings are batched before being written to the store. */
|
|
4
4
|
export const DEFAULT_FLUSH_MS = 1000;
|
|
5
5
|
/**
|
package/dist/tiles/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/tiles/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/tiles/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,SAAS,EAAa,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,EACE,QAAQ,GAAG,SAAS,EACpB,eAAe,GAAG,gBAAgB,GACnC,GAAoD,EAAE;IAEvD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;IACtE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhB,OAAO,IAAI,QAAQ,CAAC;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK,CAAC,IAAoB,EAAE,SAAS,EAAE,QAAQ;YAC7C,IAAI,CAAC;gBACH,WAAW,CAAC,GAAG,CAAC;oBACd,GAAG,EAAE,IAAI,CAAC,SAAS;oBACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;oBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAY,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAY,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|