@developmentseed/deck.gl-raster 0.7.0-beta.1 → 0.8.0-beta.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.
- package/dist/fp64.d.ts +18 -0
- package/dist/fp64.d.ts.map +1 -0
- package/dist/fp64.js +28 -0
- package/dist/fp64.js.map +1 -0
- package/dist/globe-grid-mesh.d.ts +30 -0
- package/dist/globe-grid-mesh.d.ts.map +1 -0
- package/dist/globe-grid-mesh.js +67 -0
- package/dist/globe-grid-mesh.js.map +1 -0
- package/dist/gpu-modules/cutline-bbox.d.ts +26 -40
- package/dist/gpu-modules/cutline-bbox.d.ts.map +1 -1
- package/dist/gpu-modules/cutline-bbox.js +24 -53
- package/dist/gpu-modules/cutline-bbox.js.map +1 -1
- package/dist/gpu-modules/index.d.ts +1 -1
- package/dist/gpu-modules/index.d.ts.map +1 -1
- package/dist/gpu-modules/index.js +1 -1
- package/dist/gpu-modules/index.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/layer-utils.d.ts +2 -2
- package/dist/layer-utils.d.ts.map +1 -1
- package/dist/layer-utils.js.map +1 -1
- package/dist/mesh-layer/mesh-layer-fragment.glsl.d.ts +1 -1
- package/dist/mesh-layer/mesh-layer-fragment.glsl.js +1 -1
- package/dist/mesh-layer/mesh-layer-vertex.glsl.d.ts +3 -0
- package/dist/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +1 -0
- package/dist/mesh-layer/mesh-layer-vertex.glsl.js +90 -0
- package/dist/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -0
- package/dist/mesh-layer/mesh-layer.d.ts +31 -5
- package/dist/mesh-layer/mesh-layer.d.ts.map +1 -1
- package/dist/mesh-layer/mesh-layer.js +67 -3
- package/dist/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/multi-raster-tileset/index.d.ts +2 -2
- package/dist/multi-raster-tileset/index.d.ts.map +1 -1
- package/dist/multi-raster-tileset/index.js +1 -1
- package/dist/multi-raster-tileset/index.js.map +1 -1
- package/dist/multi-raster-tileset/multi-tileset-descriptor.d.ts +21 -21
- package/dist/multi-raster-tileset/multi-tileset-descriptor.d.ts.map +1 -1
- package/dist/multi-raster-tileset/multi-tileset-descriptor.js +11 -11
- package/dist/multi-raster-tileset/multi-tileset-descriptor.js.map +1 -1
- package/dist/multi-raster-tileset/secondary-tile-resolver.d.ts +4 -4
- package/dist/multi-raster-tileset/secondary-tile-resolver.d.ts.map +1 -1
- package/dist/multi-raster-tileset/secondary-tile-resolver.js +2 -2
- package/dist/multi-raster-tileset/secondary-tile-resolver.js.map +1 -1
- package/dist/raster-layer.d.ts +39 -4
- package/dist/raster-layer.d.ts.map +1 -1
- package/dist/raster-layer.js +51 -35
- package/dist/raster-layer.js.map +1 -1
- package/dist/raster-tile-layer/raster-tile-layer.d.ts +6 -6
- package/dist/raster-tile-layer/raster-tile-layer.d.ts.map +1 -1
- package/dist/raster-tile-layer/raster-tile-layer.js +40 -31
- package/dist/raster-tile-layer/raster-tile-layer.js.map +1 -1
- package/dist/raster-tileset/affine-tileset-level.d.ts +4 -4
- package/dist/raster-tileset/affine-tileset-level.d.ts.map +1 -1
- package/dist/raster-tileset/affine-tileset-level.js +2 -2
- package/dist/raster-tileset/affine-tileset.d.ts +3 -3
- package/dist/raster-tileset/affine-tileset.d.ts.map +1 -1
- package/dist/raster-tileset/affine-tileset.js +1 -1
- package/dist/raster-tileset/bounding-volume-cache.d.ts +11 -4
- package/dist/raster-tileset/bounding-volume-cache.d.ts.map +1 -1
- package/dist/raster-tileset/bounding-volume-cache.js +13 -4
- package/dist/raster-tileset/bounding-volume-cache.js.map +1 -1
- package/dist/raster-tileset/index.d.ts +3 -2
- package/dist/raster-tileset/index.d.ts.map +1 -1
- package/dist/raster-tileset/index.js +1 -0
- package/dist/raster-tileset/index.js.map +1 -1
- package/dist/raster-tileset/raster-tile-traversal.d.ts +68 -13
- package/dist/raster-tileset/raster-tile-traversal.d.ts.map +1 -1
- package/dist/raster-tileset/raster-tile-traversal.js +240 -35
- package/dist/raster-tileset/raster-tile-traversal.js.map +1 -1
- package/dist/raster-tileset/raster-tileset-2d.d.ts +64 -6
- package/dist/raster-tileset/raster-tileset-2d.d.ts.map +1 -1
- package/dist/raster-tileset/raster-tileset-2d.js +75 -2
- package/dist/raster-tileset/raster-tileset-2d.js.map +1 -1
- package/dist/raster-tileset/sort-by-distance.d.ts +41 -0
- package/dist/raster-tileset/sort-by-distance.d.ts.map +1 -0
- package/dist/raster-tileset/sort-by-distance.js +72 -0
- package/dist/raster-tileset/sort-by-distance.js.map +1 -0
- package/dist/raster-tileset/tile-matrix-set.d.ts +4 -4
- package/dist/raster-tileset/tile-matrix-set.d.ts.map +1 -1
- package/dist/raster-tileset/tile-matrix-set.js +1 -1
- package/dist/raster-tileset/tile-matrix-set.js.map +1 -1
- package/dist/raster-tileset/tileset-interface.d.ts +3 -3
- package/dist/raster-tileset/tileset-interface.d.ts.map +1 -1
- package/dist/raster-tileset/web-mercator-clamp.d.ts +29 -0
- package/dist/raster-tileset/web-mercator-clamp.d.ts.map +1 -0
- package/dist/raster-tileset/web-mercator-clamp.js +54 -0
- package/dist/raster-tileset/web-mercator-clamp.js.map +1 -0
- package/package.json +7 -7
- package/dist/raster-tile-layer/constants.d.ts +0 -11
- package/dist/raster-tile-layer/constants.d.ts.map +0 -1
- package/dist/raster-tile-layer/constants.js +0 -11
- package/dist/raster-tile-layer/constants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tile-traversal.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"raster-tile-traversal.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
import type { Viewport } from "@deck.gl/core";
|
|
9
9
|
import type { GeoBoundingBox, _Tileset2DProps as Tileset2DProps } from "@deck.gl/geo-layers";
|
|
10
10
|
import { _Tileset2D as Tileset2D } from "@deck.gl/geo-layers";
|
|
11
|
+
import type { InitialTriangulation } from "@developmentseed/raster-reproject";
|
|
11
12
|
import type { Matrix4 } from "@math.gl/core";
|
|
12
|
-
import type {
|
|
13
|
-
import type { Corners, ProjectedBoundingBox, TileIndex, ZRange } from "./types.js";
|
|
14
|
-
/** Type returned by
|
|
15
|
-
export type
|
|
13
|
+
import type { RasterTilesetDescriptor } from "./tileset-interface.js";
|
|
14
|
+
import type { Corners, ProjectedBoundingBox, ProjectionFunction, TileIndex, ZRange } from "./types.js";
|
|
15
|
+
/** Type returned by {@link RasterTileset2D.getTileMetadata} */
|
|
16
|
+
export type RasterTileMetadata = {
|
|
16
17
|
/**
|
|
17
18
|
* **Axis-aligned** bounding box of the tile in **WGS84 coordinates**.
|
|
18
19
|
*/
|
|
@@ -37,6 +38,46 @@ export type TileMetadata = {
|
|
|
37
38
|
* Tile height in pixels.
|
|
38
39
|
*/
|
|
39
40
|
tileHeight: number;
|
|
41
|
+
/**
|
|
42
|
+
* Forward (tile-local pixel → CRS) transform for this tile.
|
|
43
|
+
*
|
|
44
|
+
* Stable across the tile's lifetime; computed once at tile creation. Stored
|
|
45
|
+
* on the tile so downstream layers (e.g. `RasterTileLayer._renderSubLayers`)
|
|
46
|
+
* receive a reference-stable function across renders, which is what
|
|
47
|
+
* `RasterLayer`'s `reprojectionFnsChanged` check needs to avoid spurious mesh
|
|
48
|
+
* regeneration.
|
|
49
|
+
*/
|
|
50
|
+
forwardTransform: ProjectionFunction;
|
|
51
|
+
/**
|
|
52
|
+
* Inverse (CRS → tile-local pixel) transform.
|
|
53
|
+
*
|
|
54
|
+
* Same stability guarantees as {@link TileMetadata.forwardTransform}.
|
|
55
|
+
*/
|
|
56
|
+
inverseTransform: ProjectionFunction;
|
|
57
|
+
/**
|
|
58
|
+
* Forward (source CRS → deck.gl common space) projection.
|
|
59
|
+
*
|
|
60
|
+
* Mirrors deck.gl's `Viewport.projectPosition` but for this descriptor's
|
|
61
|
+
* source CRS rather than lng/lat. Descriptor-global (identical for every
|
|
62
|
+
* tile) and built once on the tileset, so the reference is stable for the
|
|
63
|
+
* tileset's lifetime — which is what `RasterLayer`'s `reprojectionFnsChanged`
|
|
64
|
+
* check relies on to avoid regenerating the mesh every render.
|
|
65
|
+
*/
|
|
66
|
+
_projectPosition: ProjectionFunction;
|
|
67
|
+
/**
|
|
68
|
+
* Inverse (deck.gl common space → source CRS) projection.
|
|
69
|
+
*
|
|
70
|
+
* Mirrors deck.gl's `Viewport.unprojectPosition`. Same stability guarantees
|
|
71
|
+
* as {@link RasterTileMetadata._projectPosition}.
|
|
72
|
+
*/
|
|
73
|
+
_unprojectPosition: ProjectionFunction;
|
|
74
|
+
/**
|
|
75
|
+
* Seed triangulation that clamps this tile's reprojection mesh to the valid
|
|
76
|
+
* Web Mercator latitude band (±85.051°), or `undefined` if no clamp is needed.
|
|
77
|
+
* Consumed only by the Web Mercator render path; the globe path renders the
|
|
78
|
+
* full mesh. See {@link createInitialWebMercatorTriangulation}.
|
|
79
|
+
*/
|
|
80
|
+
_webMercatorInitialTriangulation?: InitialTriangulation;
|
|
40
81
|
};
|
|
41
82
|
/**
|
|
42
83
|
* Configuration for a {@link RasterTileset2D}.
|
|
@@ -78,7 +119,15 @@ export declare class RasterTileset2D extends Tileset2D {
|
|
|
78
119
|
private wgs84Bounds;
|
|
79
120
|
private getPixelRatio;
|
|
80
121
|
private boundingVolumeCache;
|
|
81
|
-
|
|
122
|
+
private projectPosition;
|
|
123
|
+
private unprojectPosition;
|
|
124
|
+
/**
|
|
125
|
+
* Projection mode of the viewport on the previous `getTileIndices` call.
|
|
126
|
+
* `undefined` until the first call. Used to clear {@link boundingVolumeCache}
|
|
127
|
+
* on a globe↔mercator switch (volumes are not valid across projection modes).
|
|
128
|
+
*/
|
|
129
|
+
private lastViewportIsGlobe?;
|
|
130
|
+
constructor(opts: Tileset2DProps, descriptor: RasterTilesetDescriptor, { getPixelRatio, maxBoundingVolumeCacheSize }?: RasterTileset2DOptions);
|
|
82
131
|
/**
|
|
83
132
|
* Get tile indices visible in viewport
|
|
84
133
|
* Uses frustum culling similar to OSM implementation
|
|
@@ -104,9 +153,18 @@ export declare class RasterTileset2D extends Tileset2D {
|
|
|
104
153
|
modelMatrix?: Matrix4;
|
|
105
154
|
modelMatrixInverse?: Matrix4;
|
|
106
155
|
}): TileIndex[];
|
|
156
|
+
/**
|
|
157
|
+
* Sort tile indices by ascending distance from the viewport center in
|
|
158
|
+
* projected (common/world) space so loads initiate center-out.
|
|
159
|
+
*
|
|
160
|
+
* Short-circuits when `tileIndices.length <= maxRequests` — all fetches
|
|
161
|
+
* would start concurrently regardless of order in that case. Mutates and
|
|
162
|
+
* returns `tileIndices`.
|
|
163
|
+
*/
|
|
164
|
+
private sortTileIndicesByDistance;
|
|
107
165
|
getTileId(index: TileIndex): string;
|
|
108
166
|
getParentIndex(index: TileIndex): TileIndex;
|
|
109
167
|
getTileZoom(index: TileIndex): number;
|
|
110
|
-
getTileMetadata(index: TileIndex):
|
|
168
|
+
getTileMetadata(index: TileIndex): RasterTileMetadata;
|
|
111
169
|
}
|
|
112
170
|
//# sourceMappingURL=raster-tileset-2d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"raster-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EACV,cAAc,EACd,eAAe,IAAI,cAAc,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAEV,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACP,MAAM,YAAY,CAAC;AAGpB,+DAA+D;AAC/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;IAEpC;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,kBAAkB,CAAC;IAErC;;;;OAIG;IACH,gBAAgB,EAAE,kBAAkB,CAAC;IAErC;;;;;;;;OAQG;IACH,gBAAgB,EAAE,kBAAkB,CAAC;IAErC;;;;;OAKG;IACH,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC;;;;;OAKG;IACH,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;CACzD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAE7B;;;;;;;;OAQG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,iBAAiB,CAAqB;IAC9C;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAU;gBAGpC,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,uBAAuB,EACnC,EAAE,aAAa,EAAE,0BAA0B,EAAE,GAAE,sBAA2B;IAwC5E;;;;;;;;;;;;;;;;OAgBG;IACM,cAAc,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,SAAS,EAAE;IAyCf;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA4BxB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAInC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAiC3C,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIrC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;CAwE/D"}
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
* This version properly implements frustum culling and bounding volume calculations
|
|
6
6
|
* following the pattern from deck.gl's OSM tile indexing.
|
|
7
7
|
*/
|
|
8
|
+
import { _GlobeViewport as GlobeViewport } from "@deck.gl/core";
|
|
8
9
|
import { _Tileset2D as Tileset2D } from "@deck.gl/geo-layers";
|
|
9
10
|
import { transformBounds } from "@developmentseed/proj";
|
|
10
11
|
import { BoundingVolumeCache } from "./bounding-volume-cache.js";
|
|
11
|
-
import { getTileIndices } from "./raster-tile-traversal.js";
|
|
12
|
+
import { getTileIndices, rescaleCommonSpaceToEPSG3857, rescaleEPSG3857ToCommonSpace, } from "./raster-tile-traversal.js";
|
|
13
|
+
import { sortItemsByDistanceFromViewportCenter } from "./sort-by-distance.js";
|
|
14
|
+
import { createInitialWebMercatorTriangulation } from "./web-mercator-clamp.js";
|
|
12
15
|
/**
|
|
13
16
|
* A generic tileset implementation organized according to the OGC
|
|
14
17
|
* [TileMatrixSet](https://docs.ogc.org/is/17-083r4/17-083r4.html)
|
|
@@ -21,6 +24,14 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
21
24
|
wgs84Bounds;
|
|
22
25
|
getPixelRatio;
|
|
23
26
|
boundingVolumeCache;
|
|
27
|
+
projectPosition;
|
|
28
|
+
unprojectPosition;
|
|
29
|
+
/**
|
|
30
|
+
* Projection mode of the viewport on the previous `getTileIndices` call.
|
|
31
|
+
* `undefined` until the first call. Used to clear {@link boundingVolumeCache}
|
|
32
|
+
* on a globe↔mercator switch (volumes are not valid across projection modes).
|
|
33
|
+
*/
|
|
34
|
+
lastViewportIsGlobe;
|
|
24
35
|
constructor(opts, descriptor, { getPixelRatio, maxBoundingVolumeCacheSize } = {}) {
|
|
25
36
|
super(opts);
|
|
26
37
|
this.descriptor = descriptor;
|
|
@@ -28,6 +39,17 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
28
39
|
this.boundingVolumeCache = new BoundingVolumeCache({
|
|
29
40
|
maxEntries: maxBoundingVolumeCacheSize,
|
|
30
41
|
});
|
|
42
|
+
// Source-CRS ↔ deck.gl common-space projection, built once here so the
|
|
43
|
+
// closures are reference-stable for the tileset's lifetime. Exposed on
|
|
44
|
+
// each tile's metadata; `RasterTileLayer._renderSubLayers` reads them off
|
|
45
|
+
// the tile to keep `RasterLayer`'s reprojection-equality check stable
|
|
46
|
+
// across renders (deck.gl recreates the layer instance every render, so
|
|
47
|
+
// per-render-derived closures would regenerate the mesh every frame).
|
|
48
|
+
this.projectPosition = (x, y) => rescaleEPSG3857ToCommonSpace(descriptor.projectTo3857(x, y));
|
|
49
|
+
this.unprojectPosition = (cx, cy) => {
|
|
50
|
+
const [mx, my] = rescaleCommonSpaceToEPSG3857([cx, cy]);
|
|
51
|
+
return descriptor.projectFrom3857(mx, my);
|
|
52
|
+
};
|
|
31
53
|
const rawBounds = transformBounds(this.descriptor.projectTo4326, ...this.descriptor.projectedBounds);
|
|
32
54
|
// Web Mercator cannot represent latitudes outside ~±85.051°, and the
|
|
33
55
|
// downstream tile traversal calls `lngLatToWorld` on these bounds which
|
|
@@ -61,6 +83,17 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
61
83
|
*/
|
|
62
84
|
getTileIndices(opts) {
|
|
63
85
|
const { viewport, minZoom } = opts;
|
|
86
|
+
// A tile's bounding volume is computed in a different common space under a
|
|
87
|
+
// GlobeView than under Web Mercator, but the cache key is only (z, x, y).
|
|
88
|
+
// When the viewport's projection mode flips, drop the stale volumes. This
|
|
89
|
+
// mirrors the `project` gate in the tile traversal. (See
|
|
90
|
+
// BoundingVolumeCache.)
|
|
91
|
+
const isGlobe = Boolean(viewport instanceof GlobeViewport && viewport.resolution);
|
|
92
|
+
if (this.lastViewportIsGlobe !== undefined &&
|
|
93
|
+
this.lastViewportIsGlobe !== isGlobe) {
|
|
94
|
+
this.boundingVolumeCache.clear();
|
|
95
|
+
}
|
|
96
|
+
this.lastViewportIsGlobe = isGlobe;
|
|
64
97
|
if (typeof minZoom === "number" && viewport.zoom < minZoom) {
|
|
65
98
|
return [];
|
|
66
99
|
}
|
|
@@ -76,7 +109,31 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
76
109
|
pixelRatio: this.getPixelRatio(),
|
|
77
110
|
boundingVolumeCache: this.boundingVolumeCache,
|
|
78
111
|
});
|
|
79
|
-
return tileIndices;
|
|
112
|
+
return this.sortTileIndicesByDistance(tileIndices, viewport);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Sort tile indices by ascending distance from the viewport center in
|
|
116
|
+
* projected (common/world) space so loads initiate center-out.
|
|
117
|
+
*
|
|
118
|
+
* Short-circuits when `tileIndices.length <= maxRequests` — all fetches
|
|
119
|
+
* would start concurrently regardless of order in that case. Mutates and
|
|
120
|
+
* returns `tileIndices`.
|
|
121
|
+
*/
|
|
122
|
+
sortTileIndicesByDistance(tileIndices, viewport) {
|
|
123
|
+
const { maxRequests } = this.opts;
|
|
124
|
+
if (tileIndices.length <= maxRequests) {
|
|
125
|
+
return tileIndices;
|
|
126
|
+
}
|
|
127
|
+
const descriptor = this.descriptor;
|
|
128
|
+
return sortItemsByDistanceFromViewportCenter(tileIndices, viewport, (tileIndex) => {
|
|
129
|
+
const { x, y, z } = tileIndex;
|
|
130
|
+
const { topLeft, bottomRight } = descriptor.levels[z].projectedTileCorners(x, y);
|
|
131
|
+
const projectedCenter = [
|
|
132
|
+
(topLeft[0] + bottomRight[0]) / 2,
|
|
133
|
+
(topLeft[1] + bottomRight[1]) / 2,
|
|
134
|
+
];
|
|
135
|
+
return descriptor.projectTo4326(projectedCenter[0], projectedCenter[1]);
|
|
136
|
+
});
|
|
80
137
|
}
|
|
81
138
|
getTileId(index) {
|
|
82
139
|
return `${index.x}-${index.y}-${index.z}`;
|
|
@@ -133,6 +190,17 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
133
190
|
// would pass (or fail) the cull-rect test and the refinementStrategy
|
|
134
191
|
// (best-available) would not show parent tiles correctly.
|
|
135
192
|
const [west, south, east, north] = transformBounds(this.descriptor.projectTo4326, ...projectedBounds);
|
|
193
|
+
const { forwardTransform, inverseTransform } = levelDescriptor.tileTransform(x, y);
|
|
194
|
+
// Clamp the reprojection mesh to the valid Web Mercator latitude band for
|
|
195
|
+
// tiles that extend past ±85.051° (e.g. a global EPSG:4326 image reaching
|
|
196
|
+
// ±90°). Computed once here so the reference is stable across renders.
|
|
197
|
+
const cornerLat = (corner) => this.descriptor.projectTo4326(corner[0], corner[1])[1];
|
|
198
|
+
const _webMercatorInitialTriangulation = createInitialWebMercatorTriangulation({
|
|
199
|
+
topLeft: cornerLat(topLeft),
|
|
200
|
+
topRight: cornerLat(topRight),
|
|
201
|
+
bottomLeft: cornerLat(bottomLeft),
|
|
202
|
+
bottomRight: cornerLat(bottomRight),
|
|
203
|
+
});
|
|
136
204
|
return {
|
|
137
205
|
bbox: {
|
|
138
206
|
west,
|
|
@@ -149,6 +217,11 @@ export class RasterTileset2D extends Tileset2D {
|
|
|
149
217
|
projectedCorners,
|
|
150
218
|
tileWidth,
|
|
151
219
|
tileHeight,
|
|
220
|
+
forwardTransform,
|
|
221
|
+
inverseTransform,
|
|
222
|
+
_projectPosition: this.projectPosition,
|
|
223
|
+
_unprojectPosition: this.unprojectPosition,
|
|
224
|
+
_webMercatorInitialTriangulation,
|
|
152
225
|
};
|
|
153
226
|
}
|
|
154
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tileset-2d.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"raster-tileset-2d.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Viewport } from "@deck.gl/core";
|
|
2
|
+
/**
|
|
3
|
+
* Sort `items` in place by ascending squared Euclidean distance of each
|
|
4
|
+
* item's center from `reference`. Returns the same array reference.
|
|
5
|
+
*
|
|
6
|
+
* `getCenter` is called exactly once per item (O(n) pre-pass) — never from
|
|
7
|
+
* inside the sort comparator. This keeps the per-viewport cost bounded:
|
|
8
|
+
* one center computation per tile plus one sort of precomputed numbers.
|
|
9
|
+
*
|
|
10
|
+
* Equal-distance items retain their original relative order (stable sort
|
|
11
|
+
* per ES2019 `Array.prototype.sort` spec).
|
|
12
|
+
*
|
|
13
|
+
* For `items.length < 2` this is a no-op and `getCenter` is not called.
|
|
14
|
+
*
|
|
15
|
+
* Caller-side short-circuits (e.g. `n <= maxRequests`) should be applied
|
|
16
|
+
* before invoking this helper when they would skip useful work entirely.
|
|
17
|
+
*/
|
|
18
|
+
export declare function sortByDistanceFromPoint<T>(items: T[], opts: {
|
|
19
|
+
getCenter: (item: T) => readonly [number, number];
|
|
20
|
+
reference: readonly [number, number];
|
|
21
|
+
}): T[];
|
|
22
|
+
/**
|
|
23
|
+
* Sort `items` in place by ascending distance of each item's center from
|
|
24
|
+
* the viewport's bounds-midpoint, so loads initiate center-out. Returns the
|
|
25
|
+
* same array reference.
|
|
26
|
+
*
|
|
27
|
+
* The reference point is the midpoint of `viewport.getBounds()`, which is
|
|
28
|
+
* always WGS84 `[minLon, minLat, maxLon, maxLat]` regardless of viewport
|
|
29
|
+
* type (Mercator, Globe, etc.). `getCenter` must return each item's center
|
|
30
|
+
* in the same WGS84 space so the comparison is meaningful — callers
|
|
31
|
+
* working in a projected CRS should run their tile/source centers through
|
|
32
|
+
* the descriptor's `projectTo4326` before returning.
|
|
33
|
+
*
|
|
34
|
+
* `getCenter` is called exactly once per item; see
|
|
35
|
+
* {@link sortByDistanceFromPoint} for the underlying perf contract and the
|
|
36
|
+
* `items.length < 2` short-circuit. Caller-side short-circuits such as
|
|
37
|
+
* `length <= maxRequests` should still be applied before invoking this
|
|
38
|
+
* helper when they would skip useful work entirely.
|
|
39
|
+
*/
|
|
40
|
+
export declare function sortItemsByDistanceFromViewportCenter<T>(items: T[], viewport: Viewport, getCenter: (item: T) => readonly [number, number]): T[];
|
|
41
|
+
//# sourceMappingURL=sort-by-distance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-by-distance.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/sort-by-distance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE;IACJ,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,GACA,CAAC,EAAE,CA8BL;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,CAAC,EACrD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAChD,CAAC,EAAE,CAUL"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort `items` in place by ascending squared Euclidean distance of each
|
|
3
|
+
* item's center from `reference`. Returns the same array reference.
|
|
4
|
+
*
|
|
5
|
+
* `getCenter` is called exactly once per item (O(n) pre-pass) — never from
|
|
6
|
+
* inside the sort comparator. This keeps the per-viewport cost bounded:
|
|
7
|
+
* one center computation per tile plus one sort of precomputed numbers.
|
|
8
|
+
*
|
|
9
|
+
* Equal-distance items retain their original relative order (stable sort
|
|
10
|
+
* per ES2019 `Array.prototype.sort` spec).
|
|
11
|
+
*
|
|
12
|
+
* For `items.length < 2` this is a no-op and `getCenter` is not called.
|
|
13
|
+
*
|
|
14
|
+
* Caller-side short-circuits (e.g. `n <= maxRequests`) should be applied
|
|
15
|
+
* before invoking this helper when they would skip useful work entirely.
|
|
16
|
+
*/
|
|
17
|
+
export function sortByDistanceFromPoint(items, opts) {
|
|
18
|
+
const n = items.length;
|
|
19
|
+
if (n < 2) {
|
|
20
|
+
return items;
|
|
21
|
+
}
|
|
22
|
+
const { getCenter, reference } = opts;
|
|
23
|
+
const rx = reference[0];
|
|
24
|
+
const ry = reference[1];
|
|
25
|
+
const distances = new Float64Array(n);
|
|
26
|
+
for (let i = 0; i < n; i++) {
|
|
27
|
+
const center = getCenter(items[i]);
|
|
28
|
+
const dx = center[0] - rx;
|
|
29
|
+
const dy = center[1] - ry;
|
|
30
|
+
distances[i] = dx * dx + dy * dy;
|
|
31
|
+
}
|
|
32
|
+
const permutation = new Uint32Array(n);
|
|
33
|
+
for (let i = 0; i < n; i++) {
|
|
34
|
+
permutation[i] = i;
|
|
35
|
+
}
|
|
36
|
+
permutation.sort((a, b) => distances[a] - distances[b]);
|
|
37
|
+
const scratch = items.slice();
|
|
38
|
+
for (let i = 0; i < n; i++) {
|
|
39
|
+
items[i] = scratch[permutation[i]];
|
|
40
|
+
}
|
|
41
|
+
return items;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Sort `items` in place by ascending distance of each item's center from
|
|
45
|
+
* the viewport's bounds-midpoint, so loads initiate center-out. Returns the
|
|
46
|
+
* same array reference.
|
|
47
|
+
*
|
|
48
|
+
* The reference point is the midpoint of `viewport.getBounds()`, which is
|
|
49
|
+
* always WGS84 `[minLon, minLat, maxLon, maxLat]` regardless of viewport
|
|
50
|
+
* type (Mercator, Globe, etc.). `getCenter` must return each item's center
|
|
51
|
+
* in the same WGS84 space so the comparison is meaningful — callers
|
|
52
|
+
* working in a projected CRS should run their tile/source centers through
|
|
53
|
+
* the descriptor's `projectTo4326` before returning.
|
|
54
|
+
*
|
|
55
|
+
* `getCenter` is called exactly once per item; see
|
|
56
|
+
* {@link sortByDistanceFromPoint} for the underlying perf contract and the
|
|
57
|
+
* `items.length < 2` short-circuit. Caller-side short-circuits such as
|
|
58
|
+
* `length <= maxRequests` should still be applied before invoking this
|
|
59
|
+
* helper when they would skip useful work entirely.
|
|
60
|
+
*/
|
|
61
|
+
export function sortItemsByDistanceFromViewportCenter(items, viewport, getCenter) {
|
|
62
|
+
const [minLon, minLat, maxLon, maxLat] = viewport.getBounds();
|
|
63
|
+
const viewportCenter = [
|
|
64
|
+
(minLon + maxLon) / 2,
|
|
65
|
+
(minLat + maxLat) / 2,
|
|
66
|
+
];
|
|
67
|
+
return sortByDistanceFromPoint(items, {
|
|
68
|
+
reference: viewportCenter,
|
|
69
|
+
getCenter,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=sort-by-distance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-by-distance.js","sourceRoot":"","sources":["../../src/raster-tileset/sort-by-distance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAU,EACV,IAGC;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAE,CAAE,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qCAAqC,CACnD,KAAU,EACV,QAAkB,EAClB,SAAiD;IAEjD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC9D,MAAM,cAAc,GAAG;QACrB,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;KACb,CAAC;IACX,OAAO,uBAAuB,CAAC,KAAK,EAAE;QACpC,SAAS,EAAE,cAAc;QACzB,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { TileMatrixSet } from "@developmentseed/morecantile";
|
|
2
|
-
import type {
|
|
2
|
+
import type { RasterTilesetDescriptor, RasterTilesetLevel } from "./tileset-interface.js";
|
|
3
3
|
import type { Bounds, ProjectionFunction } from "./types.js";
|
|
4
4
|
/**
|
|
5
|
-
* An adapter interface to use a TileMatrixSet as a
|
|
5
|
+
* An adapter interface to use a TileMatrixSet as a RasterTilesetDescriptor for raster
|
|
6
6
|
* tile traversal.
|
|
7
7
|
*/
|
|
8
|
-
export declare class TileMatrixSetAdaptor implements
|
|
8
|
+
export declare class TileMatrixSetAdaptor implements RasterTilesetDescriptor {
|
|
9
9
|
tms: TileMatrixSet;
|
|
10
10
|
private _levels;
|
|
11
11
|
projectTo3857: ProjectionFunction;
|
|
@@ -18,7 +18,7 @@ export declare class TileMatrixSetAdaptor implements TilesetDescriptor {
|
|
|
18
18
|
projectTo4326: ProjectionFunction;
|
|
19
19
|
projectFrom4326: ProjectionFunction;
|
|
20
20
|
});
|
|
21
|
-
get levels():
|
|
21
|
+
get levels(): RasterTilesetLevel[];
|
|
22
22
|
get projectedBounds(): Bounds;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=tile-matrix-set.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-matrix-set.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/tile-matrix-set.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tile-matrix-set.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/tile-matrix-set.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAW,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA8ItE;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,uBAAuB;IAClE,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,CAAC,OAAO,CAAsB;IACrC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,kBAAkB,CAAC;IACpC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,kBAAkB,CAAC;gBAGlC,GAAG,EAAE,aAAa,EAClB,EACE,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,EAAE;QACD,aAAa,EAAE,kBAAkB,CAAC;QAClC,eAAe,EAAE,kBAAkB,CAAC;QACpC,aAAa,EAAE,kBAAkB,CAAC;QAClC,eAAe,EAAE,kBAAkB,CAAC;KACrC;IAUH,IAAI,MAAM,IAAI,kBAAkB,EAAE,CAEjC;IAED,IAAI,eAAe,IAAI,MAAM,CAU5B;CACF"}
|
|
@@ -106,7 +106,7 @@ class TileMatrixAdaptor {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
|
-
* An adapter interface to use a TileMatrixSet as a
|
|
109
|
+
* An adapter interface to use a TileMatrixSet as a RasterTilesetDescriptor for raster
|
|
110
110
|
* tile traversal.
|
|
111
111
|
*/
|
|
112
112
|
export class TileMatrixSetAdaptor {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-matrix-set.js","sourceRoot":"","sources":["../../src/raster-tileset/tile-matrix-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tile-matrix-set.js","sourceRoot":"","sources":["../../src/raster-tileset/tile-matrix-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { Bounds, Corners, ProjectionFunction } from "./types.js";
|
|
|
5
5
|
* This interface abstracts over both TileMatrixSet levels and Zarr multiscale
|
|
6
6
|
* levels, enabling a single traversal algorithm to work with both.
|
|
7
7
|
*/
|
|
8
|
-
export interface
|
|
8
|
+
export interface RasterTilesetLevel {
|
|
9
9
|
/** Number of tiles across this level (columns). */
|
|
10
10
|
matrixWidth: number;
|
|
11
11
|
/** Number of tiles down this level (rows). */
|
|
@@ -71,9 +71,9 @@ export interface TilesetLevel {
|
|
|
71
71
|
* Index 0 = coarsest level, higher index = finer detail (same ordering as
|
|
72
72
|
* TileMatrixSet).
|
|
73
73
|
*/
|
|
74
|
-
export interface
|
|
74
|
+
export interface RasterTilesetDescriptor {
|
|
75
75
|
/** Ordered levels from coarsest (0) to finest. */
|
|
76
|
-
levels:
|
|
76
|
+
levels: RasterTilesetLevel[];
|
|
77
77
|
/**
|
|
78
78
|
* Projection function from the source CRS → EPSG:3857.
|
|
79
79
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-interface.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/tileset-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"tileset-interface.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/tileset-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5D;;;;;;;;OAQG;IACH,oBAAoB,EAAE,CACpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,KAClB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAExE;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,CACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,KACR;QACH,gBAAgB,EAAE,kBAAkB,CAAC;QACrC,gBAAgB,EAAE,kBAAkB,CAAC;KACtC,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,aAAa,EAAE,kBAAkB,CAAC;IAElC;;;;;OAKG;IACH,aAAa,EAAE,kBAAkB,CAAC;IAElC;;;;OAIG;IACH,eAAe,EAAE,kBAAkB,CAAC;IAEpC;;;;OAIG;IACH,eAAe,EAAE,kBAAkB,CAAC;IAEpC,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { InitialTriangulation } from "@developmentseed/raster-reproject";
|
|
2
|
+
/**
|
|
3
|
+
* The WGS84 latitudes of a tile's four corners.
|
|
4
|
+
*/
|
|
5
|
+
export interface CornerLatitudes {
|
|
6
|
+
topLeft: number;
|
|
7
|
+
topRight: number;
|
|
8
|
+
bottomLeft: number;
|
|
9
|
+
bottomRight: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compute a {@link InitialTriangulation} that clamps a tile's reprojection mesh
|
|
13
|
+
* to the latitude band representable in Web Mercator (±85.051°), or `undefined`
|
|
14
|
+
* if no clamp is needed or possible.
|
|
15
|
+
*
|
|
16
|
+
* Beyond ±85.051°, `makeClampedForwardTo3857` collapses every polar vertex onto
|
|
17
|
+
* the same clamped Y, so the reprojector emits degenerate near-pole triangles
|
|
18
|
+
* that never converge (see #182 / #351). Seeding the reprojector with the
|
|
19
|
+
* clamped band avoids meshing those rows entirely.
|
|
20
|
+
*
|
|
21
|
+
* Only **north-up geographic** tiles are handled — where latitude is constant
|
|
22
|
+
* across each row, so the valid band is an axis-aligned rectangle. Rotated or
|
|
23
|
+
* projected tiles return `undefined` (the caller falls back to the full mesh).
|
|
24
|
+
*
|
|
25
|
+
* @param cornerLats WGS84 latitudes of the tile's four corners.
|
|
26
|
+
* @param maxLat Web Mercator latitude limit. Defaults to ±85.051°.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createInitialWebMercatorTriangulation(cornerLats: CornerLatitudes, maxLat?: number): InitialTriangulation | undefined;
|
|
29
|
+
//# sourceMappingURL=web-mercator-clamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-mercator-clamp.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/web-mercator-clamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAS9E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,eAAe,EAC3B,MAAM,GAAE,MAA6B,GACpC,oBAAoB,GAAG,SAAS,CAqClC"}
|