@deck.gl-community/geo-layers 9.2.8 → 9.3.1-alpha.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.
Files changed (82) hide show
  1. package/dist/global-grid-layer/global-grid-cluster-layer.d.ts.map +1 -1
  2. package/dist/global-grid-layer/global-grid-cluster-layer.js +1 -0
  3. package/dist/global-grid-layer/global-grid-cluster-layer.js.map +1 -1
  4. package/dist/index.cjs +1799 -7
  5. package/dist/index.cjs.map +4 -4
  6. package/dist/index.d.ts +7 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +3 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/shared-tile-2d-layer/deck-tile-traversal.d.ts +5 -0
  11. package/dist/shared-tile-2d-layer/deck-tile-traversal.d.ts.map +1 -0
  12. package/dist/shared-tile-2d-layer/deck-tile-traversal.js +173 -0
  13. package/dist/shared-tile-2d-layer/deck-tile-traversal.js.map +1 -0
  14. package/dist/shared-tile-2d-layer/deck-tileset-adapter.d.ts +26 -0
  15. package/dist/shared-tile-2d-layer/deck-tileset-adapter.d.ts.map +1 -0
  16. package/dist/shared-tile-2d-layer/deck-tileset-adapter.js +174 -0
  17. package/dist/shared-tile-2d-layer/deck-tileset-adapter.js.map +1 -0
  18. package/dist/shared-tile-2d-layer/index.d.ts +4 -0
  19. package/dist/shared-tile-2d-layer/index.d.ts.map +1 -0
  20. package/dist/shared-tile-2d-layer/index.js +6 -0
  21. package/dist/shared-tile-2d-layer/index.js.map +1 -0
  22. package/dist/shared-tile-2d-layer/shared-tile-2d-layer.d.ts +151 -0
  23. package/dist/shared-tile-2d-layer/shared-tile-2d-layer.d.ts.map +1 -0
  24. package/dist/shared-tile-2d-layer/shared-tile-2d-layer.js +422 -0
  25. package/dist/shared-tile-2d-layer/shared-tile-2d-layer.js.map +1 -0
  26. package/dist/shared-tile-2d-layer/shared-tile-2d-view.d.ts +57 -0
  27. package/dist/shared-tile-2d-layer/shared-tile-2d-view.d.ts.map +1 -0
  28. package/dist/shared-tile-2d-layer/shared-tile-2d-view.js +253 -0
  29. package/dist/shared-tile-2d-layer/shared-tile-2d-view.js.map +1 -0
  30. package/dist/shared-tile-2d-layer/url-template.d.ts +9 -0
  31. package/dist/shared-tile-2d-layer/url-template.d.ts.map +1 -0
  32. package/dist/shared-tile-2d-layer/url-template.js +25 -0
  33. package/dist/shared-tile-2d-layer/url-template.js.map +1 -0
  34. package/dist/tile-grid-layer/tile-grid-layer.d.ts +47 -0
  35. package/dist/tile-grid-layer/tile-grid-layer.d.ts.map +1 -0
  36. package/dist/tile-grid-layer/tile-grid-layer.js +94 -0
  37. package/dist/tile-grid-layer/tile-grid-layer.js.map +1 -0
  38. package/dist/tile-source-layer/tile-source-layer.d.ts +2 -2
  39. package/dist/tile-source-layer/tile-source-layer.d.ts.map +1 -1
  40. package/dist/tileset/adapter.d.ts +38 -0
  41. package/dist/tileset/adapter.d.ts.map +1 -0
  42. package/dist/tileset/adapter.js +5 -0
  43. package/dist/tileset/adapter.js.map +1 -0
  44. package/dist/tileset/index.cjs +721 -0
  45. package/dist/tileset/index.cjs.map +7 -0
  46. package/dist/tileset/index.d.ts +8 -0
  47. package/dist/tileset/index.d.ts.map +1 -0
  48. package/dist/tileset/index.js +7 -0
  49. package/dist/tileset/index.js.map +1 -0
  50. package/dist/tileset/tile-2d-header.d.ts +71 -0
  51. package/dist/tileset/tile-2d-header.d.ts.map +1 -0
  52. package/dist/tileset/tile-2d-header.js +168 -0
  53. package/dist/tileset/tile-2d-header.js.map +1 -0
  54. package/dist/tileset/tileset-2d.d.ts +210 -0
  55. package/dist/tileset/tileset-2d.d.ts.map +1 -0
  56. package/dist/tileset/tileset-2d.js +531 -0
  57. package/dist/tileset/tileset-2d.js.map +1 -0
  58. package/dist/tileset/types.d.ts +44 -0
  59. package/dist/tileset/types.d.ts.map +1 -0
  60. package/dist/tileset/types.js +5 -0
  61. package/dist/tileset/types.js.map +1 -0
  62. package/dist/utils/memoize.d.ts +2 -0
  63. package/dist/utils/memoize.d.ts.map +1 -0
  64. package/dist/utils/memoize.js +36 -0
  65. package/dist/utils/memoize.js.map +1 -0
  66. package/package.json +17 -11
  67. package/src/global-grid-layer/global-grid-cluster-layer.ts +1 -1
  68. package/src/index.ts +14 -0
  69. package/src/shared-tile-2d-layer/deck-tile-traversal.ts +247 -0
  70. package/src/shared-tile-2d-layer/deck-tileset-adapter.ts +262 -0
  71. package/src/shared-tile-2d-layer/index.ts +7 -0
  72. package/src/shared-tile-2d-layer/shared-tile-2d-layer.ts +681 -0
  73. package/src/shared-tile-2d-layer/shared-tile-2d-view.ts +339 -0
  74. package/src/shared-tile-2d-layer/url-template.ts +40 -0
  75. package/src/tile-grid-layer/tile-grid-layer.ts +158 -0
  76. package/src/tile-source-layer/tile-source-layer.ts +2 -2
  77. package/src/tileset/adapter.ts +47 -0
  78. package/src/tileset/index.ts +22 -0
  79. package/src/tileset/tile-2d-header.ts +210 -0
  80. package/src/tileset/tileset-2d.ts +705 -0
  81. package/src/tileset/types.ts +38 -0
  82. package/src/utils/memoize.ts +38 -0
@@ -0,0 +1,38 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ /** Inclusive minimum and maximum elevation bounds used during tile selection. */
6
+ export type ZRange = [minZ: number, maxZ: number];
7
+
8
+ /** Axis-aligned bounding box represented as `[minX, minY, maxX, maxY]`. */
9
+ export type Bounds = [minX: number, minY: number, maxX: number, maxY: number];
10
+
11
+ /** Geographic tile bounds in longitude/latitude coordinates. */
12
+ export type GeoBoundingBox = {west: number; north: number; east: number; south: number};
13
+ /** Cartesian tile bounds in layer/world coordinates. */
14
+ export type NonGeoBoundingBox = {left: number; top: number; right: number; bottom: number};
15
+
16
+ /** Tile bounds for either geospatial or cartesian views. */
17
+ export type TileBoundingBox = NonGeoBoundingBox | GeoBoundingBox;
18
+
19
+ /** Tile coordinate in an x/y/z pyramid. */
20
+ export type TileIndex = {x: number; y: number; z: number};
21
+
22
+ /** Information passed to a tile loader for fetching tile content. */
23
+ export type TileLoadProps = {
24
+ /** x/y/z tile coordinate. */
25
+ index: TileIndex;
26
+ /** Stable cache identifier for the tile. */
27
+ id: string;
28
+ /** Bounds covered by the tile in the active coordinate system. */
29
+ bbox: TileBoundingBox;
30
+ /** URL derived from a URL template, if applicable. */
31
+ url?: string | null;
32
+ /** Abort signal for cancelling an in-flight tile request. */
33
+ signal?: AbortSignal;
34
+ /** Optional application metadata associated with the tile. */
35
+ userData?: Record<string, any>;
36
+ /** Resolved zoom level used to request this tile. */
37
+ zoom?: number;
38
+ };
@@ -0,0 +1,38 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ export function memoize<In, Out>(compute: (args: In) => Out): (args: In) => Out {
6
+ let cachedArgs: any = {};
7
+ let cachedResult: Out;
8
+
9
+ return (args: In) => {
10
+ for (const key in args) {
11
+ if (!isEqual(args[key], cachedArgs[key])) {
12
+ cachedResult = compute(args);
13
+ cachedArgs = args;
14
+ break;
15
+ }
16
+ }
17
+ return cachedResult;
18
+ };
19
+ }
20
+
21
+ function isEqual(a, b) {
22
+ if (a === b) {
23
+ return true;
24
+ }
25
+ if (Array.isArray(a)) {
26
+ const len = a.length;
27
+ if (!b || b.length !== len) {
28
+ return false;
29
+ }
30
+ for (let i = 0; i < len; i++) {
31
+ if (a[i] !== b[i]) {
32
+ return false;
33
+ }
34
+ }
35
+ return true;
36
+ }
37
+ return false;
38
+ }