@deck.gl/carto 8.8.0-alpha.3 → 8.8.0-alpha.6

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 (97) hide show
  1. package/dist/dist.dev.js +383 -247
  2. package/dist/es5/api/layer-map.js +7 -5
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/layers/carto-layer.js +3 -1
  5. package/dist/es5/layers/carto-layer.js.map +1 -1
  6. package/dist/es5/layers/carto-tile-layer.js +17 -12
  7. package/dist/es5/layers/carto-tile-layer.js.map +1 -1
  8. package/dist/es5/layers/h3-tile-layer.js +34 -13
  9. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  10. package/dist/es5/layers/h3-tileset-2d.js +21 -11
  11. package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
  12. package/dist/es5/layers/quadkey-tile-layer.js +31 -14
  13. package/dist/es5/layers/quadkey-tile-layer.js.map +1 -1
  14. package/dist/es5/layers/quadkey-tileset-2d.js.map +1 -1
  15. package/dist/es5/layers/schema/carto-tile.js +261 -188
  16. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  17. package/dist/es5/layers/spatial-index-tile-layer.js +92 -0
  18. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -0
  19. package/dist/esm/api/layer-map.js +8 -6
  20. package/dist/esm/api/layer-map.js.map +1 -1
  21. package/dist/esm/layers/carto-layer.js +3 -1
  22. package/dist/esm/layers/carto-layer.js.map +1 -1
  23. package/dist/esm/layers/carto-tile-layer.js +20 -16
  24. package/dist/esm/layers/carto-tile-layer.js.map +1 -1
  25. package/dist/esm/layers/h3-tile-layer.js +24 -10
  26. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  27. package/dist/esm/layers/h3-tileset-2d.js +27 -12
  28. package/dist/esm/layers/h3-tileset-2d.js.map +1 -1
  29. package/dist/esm/layers/quadkey-tile-layer.js +22 -13
  30. package/dist/esm/layers/quadkey-tile-layer.js.map +1 -1
  31. package/dist/esm/layers/quadkey-tileset-2d.js.map +1 -1
  32. package/dist/esm/layers/schema/carto-tile.js +174 -189
  33. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  34. package/dist/esm/layers/spatial-index-tile-layer.js +57 -0
  35. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -0
  36. package/dist.min.js +4 -4
  37. package/package.json +7 -4
  38. package/src/api/layer-map.ts +16 -7
  39. package/src/layers/carto-layer.ts +18 -5
  40. package/src/layers/{carto-tile-layer.js → carto-tile-layer.ts} +63 -26
  41. package/src/layers/h3-tile-layer.ts +78 -0
  42. package/src/layers/h3-tileset-2d.ts +118 -0
  43. package/src/layers/quadkey-tile-layer.ts +68 -0
  44. package/src/layers/{quadkey-tileset-2d.js → quadkey-tileset-2d.ts} +10 -5
  45. package/src/layers/schema/carto-tile.ts +221 -0
  46. package/src/layers/spatial-index-tile-layer.ts +49 -0
  47. package/typed/api/index.d.ts +4 -0
  48. package/typed/api/index.d.ts.map +1 -0
  49. package/typed/api/layer-map.d.ts +54 -0
  50. package/typed/api/layer-map.d.ts.map +1 -0
  51. package/typed/api/maps-api-common.d.ts +65 -0
  52. package/typed/api/maps-api-common.d.ts.map +1 -0
  53. package/typed/api/maps-client.d.ts +18 -0
  54. package/typed/api/maps-client.d.ts.map +1 -0
  55. package/typed/api/maps-v3-client.d.ts +45 -0
  56. package/typed/api/maps-v3-client.d.ts.map +1 -0
  57. package/typed/api/parseMap.d.ts +11 -0
  58. package/typed/api/parseMap.d.ts.map +1 -0
  59. package/typed/basemap.d.ts +10 -0
  60. package/typed/basemap.d.ts.map +1 -0
  61. package/typed/config.d.ts +26 -0
  62. package/typed/config.d.ts.map +1 -0
  63. package/typed/index.d.ts +12 -0
  64. package/typed/index.d.ts.map +1 -0
  65. package/typed/layers/carto-layer.d.ts +98 -0
  66. package/typed/layers/carto-layer.d.ts.map +1 -0
  67. package/typed/layers/carto-tile-layer.d.ts +63 -0
  68. package/typed/layers/carto-tile-layer.d.ts.map +1 -0
  69. package/typed/layers/h3-tile-layer.d.ts +23 -0
  70. package/typed/layers/h3-tile-layer.d.ts.map +1 -0
  71. package/typed/layers/h3-tileset-2d.d.ts +18 -0
  72. package/typed/layers/h3-tileset-2d.d.ts.map +1 -0
  73. package/typed/layers/quadkey-tile-layer.d.ts +23 -0
  74. package/typed/layers/quadkey-tile-layer.d.ts.map +1 -0
  75. package/typed/layers/quadkey-tileset-2d.d.ts +15 -0
  76. package/typed/layers/quadkey-tileset-2d.d.ts.map +1 -0
  77. package/typed/layers/schema/carto-tile.d.ts +44 -0
  78. package/typed/layers/schema/carto-tile.d.ts.map +1 -0
  79. package/typed/layers/spatial-index-tile-layer.d.ts +11 -0
  80. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -0
  81. package/typed/package.json +6 -0
  82. package/typed/style/color-bins-style.d.ts +9 -0
  83. package/typed/style/color-bins-style.d.ts.map +1 -0
  84. package/typed/style/color-categories-style.d.ts +10 -0
  85. package/typed/style/color-categories-style.d.ts.map +1 -0
  86. package/typed/style/color-continuous-style.d.ts +9 -0
  87. package/typed/style/color-continuous-style.d.ts.map +1 -0
  88. package/typed/style/palette.d.ts +7 -0
  89. package/typed/style/palette.d.ts.map +1 -0
  90. package/typed/style/utils.d.ts +8 -0
  91. package/typed/style/utils.d.ts.map +1 -0
  92. package/typed/utils.d.ts +2 -0
  93. package/typed/utils.d.ts.map +1 -0
  94. package/src/layers/h3-tile-layer.js +0 -44
  95. package/src/layers/h3-tileset-2d.js +0 -82
  96. package/src/layers/quadkey-tile-layer.js +0 -42
  97. package/src/layers/schema/carto-tile.js +0 -195
@@ -0,0 +1,63 @@
1
+ import { MVTLayer, MVTLayerProps, TileLayer, _Tile2DHeader, _TileLoadProps as TileLoadProps } from '@deck.gl/geo-layers/typed';
2
+ import { GeoJsonLayer } from '@deck.gl/layers/typed';
3
+ import { TileFormat } from '../api/maps-api-common';
4
+ import { LoaderWithParser } from '@loaders.gl/loader-utils';
5
+ import type { Feature } from 'geojson';
6
+ /** All properties supported by CartoTileLayer. */
7
+ export declare type CartoTileLayerProps<DataT extends Feature = Feature> = _CartoTileLayerProps & MVTLayerProps<DataT>;
8
+ /** Properties added by CartoTileLayer. */
9
+ declare type _CartoTileLayerProps = {
10
+ /** Use to override the default tile data format.
11
+ *
12
+ * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.
13
+ *
14
+ * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.
15
+ */
16
+ formatTiles?: TileFormat;
17
+ };
18
+ export default class CartoTileLayer<DataT extends Feature = Feature, ExtraProps = {}> extends MVTLayer<DataT, Required<_CartoTileLayerProps> & ExtraProps> {
19
+ static layerName: string;
20
+ static defaultProps: {
21
+ formatTiles: "binary";
22
+ loaders: LoaderWithParser[];
23
+ uniqueIdProperty: {
24
+ type: string;
25
+ value: string;
26
+ };
27
+ highlightedFeatureId: null;
28
+ binary: boolean;
29
+ stroked: boolean;
30
+ filled: boolean;
31
+ extruded: boolean;
32
+ wireframe: boolean;
33
+ iconAtlas: {
34
+ type: string;
35
+ value: null;
36
+ };
37
+ iconMapping: {
38
+ type: string;
39
+ value: {};
40
+ };
41
+ getIcon: {
42
+ type: string;
43
+ value: (f: any) => any;
44
+ };
45
+ getText: {
46
+ type: string;
47
+ value: (f: any) => any;
48
+ };
49
+ pointType: string;
50
+ getRadius: {
51
+ deprecatedFor: string;
52
+ };
53
+ };
54
+ getTileData(tile: TileLoadProps): any;
55
+ renderSubLayers(props: TileLayer['props'] & {
56
+ id: string;
57
+ data: any;
58
+ _offset: number;
59
+ tile: _Tile2DHeader;
60
+ }): GeoJsonLayer | null;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=carto-tile-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carto-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/carto-tile-layer.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EAET,aAAa,EACb,cAAc,IAAI,aAAa,EAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAC,UAAU,EAAe,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAgB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAqErC,kDAAkD;AAClD,oBAAY,mBAAmB,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,IAAI,oBAAoB,GACrF,aAAa,CAAC,KAAK,CAAC,CAAC;AAEvB,0CAA0C;AAC1C,aAAK,oBAAoB,GAAG;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc,CACjC,KAAK,SAAS,OAAO,GAAG,OAAO,EAC/B,UAAU,GAAG,EAAE,CACf,SAAQ,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,UAAU,CAAC;IACpE,MAAM,CAAC,SAAS,SAAoB;IACpC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IAEnC,WAAW,CAAC,IAAI,EAAE,aAAa;IA0B/B,eAAe,CACb,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC;KACrB,GACA,YAAY,GAAG,IAAI;CAkBvB"}
@@ -0,0 +1,23 @@
1
+ import { CompositeLayer, CompositeLayerProps, Layer, LayersList, UpdateParameters } from '@deck.gl/core/typed';
2
+ /** All properties supported by H3TileLayer. */
3
+ export declare type H3TileLayerProps<DataT = any> = _H3TileLayerProps<DataT> & CompositeLayerProps<DataT>;
4
+ declare type H3HexagonLayerProps<DataT = any> = Record<string, any>;
5
+ /** Properties added by H3TileLayer. */
6
+ declare type _H3TileLayerProps<DataT = any> = H3HexagonLayerProps<DataT> & {
7
+ aggregationResLevel?: number;
8
+ };
9
+ export default class H3TileLayer<DataT = any, ExtraPropsT = {}> extends CompositeLayer<ExtraPropsT & Required<_H3TileLayerProps<DataT>>> {
10
+ static layerName: string;
11
+ static defaultProps: {
12
+ aggregationResLevel: number;
13
+ };
14
+ state: {
15
+ tileJSON: any;
16
+ data: any;
17
+ };
18
+ initializeState(): void;
19
+ updateState({ changeFlags }: UpdateParameters<this>): void;
20
+ renderLayers(): Layer | null | LayersList;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=h3-tile-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h3-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAqBvB,+CAA+C;AAC/C,oBAAY,gBAAgB,CAAC,KAAK,GAAG,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAIlG,aAAK,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5D,uCAAuC;AACvC,aAAK,iBAAiB,CAAC,KAAK,GAAG,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,WAAW,GAAG,EAAE,CAAE,SAAQ,cAAc,CACpF,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACjD;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY;;MAAgB;IAEnC,KAAK,EAAG;QACN,QAAQ,EAAE,GAAG,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;IAEF,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,EAAC,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IASxD,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAc1C"}
@@ -0,0 +1,18 @@
1
+ import { _Tileset2D as Tileset2D, GeoBoundingBox } from '@deck.gl/geo-layers/typed';
2
+ export declare type H3TileIndex = {
3
+ i: string;
4
+ };
5
+ export default class H3Tileset2D extends Tileset2D {
6
+ getTileIndices({ viewport, minZoom, maxZoom }: {
7
+ viewport: any;
8
+ minZoom: any;
9
+ maxZoom: any;
10
+ }): H3TileIndex[];
11
+ getTileId({ i }: H3TileIndex): string;
12
+ getTileMetadata({ i }: H3TileIndex): {
13
+ bbox: GeoBoundingBox;
14
+ };
15
+ getTileZoom({ i }: H3TileIndex): number;
16
+ getParentIndex(index: H3TileIndex): H3TileIndex;
17
+ }
18
+ //# sourceMappingURL=h3-tileset-2d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h3-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/h3-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAW5E,oBAAY,WAAW,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AA6DtC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS;IAEhD,cAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC;;;;KAAA,GAAG,WAAW,EAAE;IAuB3D,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKnC,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW;;;IAKhC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,WAAW,GAAG,MAAM;IAKrC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;CAKhD"}
@@ -0,0 +1,23 @@
1
+ import { CompositeLayer, CompositeLayerProps, Layer, LayersList, UpdateParameters } from '@deck.gl/core/typed';
2
+ import { QuadkeyLayerProps } from '@deck.gl/geo-layers/typed';
3
+ /** All properties supported by QuadkeyTileLayer. */
4
+ export declare type QuadkeyTileLayerProps<DataT = any> = _QuadkeyTileLayerProps<DataT> & CompositeLayerProps<DataT>;
5
+ /** Properties added by QuadkeyTileLayer. */
6
+ declare type _QuadkeyTileLayerProps<DataT> = QuadkeyLayerProps<DataT> & {
7
+ aggregationResLevel?: number;
8
+ };
9
+ export default class QuadkeyTileLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<ExtraProps & Required<_QuadkeyTileLayerProps<DataT>>> {
10
+ static layerName: string;
11
+ static defaultProps: {
12
+ aggregationResLevel: number;
13
+ };
14
+ state: {
15
+ tileJSON: any;
16
+ data: any;
17
+ };
18
+ initializeState(): void;
19
+ updateState({ changeFlags }: UpdateParameters<this>): void;
20
+ renderLayers(): Layer | null | LayersList;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=quadkey-tile-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadkey-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadkey-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAcpE,oDAAoD;AACpD,oBAAY,qBAAqB,CAAC,KAAK,GAAG,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAC5E,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAE7B,4CAA4C;AAC5C,aAAK,sBAAsB,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACxF,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CACrD;IACC,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY;;MAAgB;IAEnC,KAAK,EAAG;QACN,QAAQ,EAAE,GAAG,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;IACF,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,EAAC,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IASxD,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAc1C"}
@@ -0,0 +1,15 @@
1
+ import { _Tileset2D as Tileset2D } from '@deck.gl/geo-layers/typed';
2
+ declare type QuadkeyTileIndex = {
3
+ i: string;
4
+ };
5
+ export default class QuadkeyTileset2D extends Tileset2D {
6
+ getTileIndices(opts: any): QuadkeyTileIndex[];
7
+ getTileId({ i }: QuadkeyTileIndex): string;
8
+ getTileMetadata(): {};
9
+ getTileZoom({ i }: QuadkeyTileIndex): number;
10
+ getParentIndex(index: QuadkeyTileIndex): {
11
+ i: string;
12
+ };
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=quadkey-tileset-2d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadkey-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/quadkey-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE5D,aAAK,gBAAgB,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAapC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAErD,cAAc,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAKxC,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAI/B,eAAe;IAKf,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAKjC,cAAc,CAAC,KAAK,EAAE,gBAAgB;;;CAIvC"}
@@ -0,0 +1,44 @@
1
+ interface KeyValueObject {
2
+ key: string;
3
+ value: string;
4
+ }
5
+ export interface Properties {
6
+ data: KeyValueObject[];
7
+ }
8
+ interface Doubles {
9
+ value: Float32Array;
10
+ size: number;
11
+ }
12
+ interface Ints {
13
+ value: Uint32Array;
14
+ size: number;
15
+ }
16
+ interface NumericProp {
17
+ value: number[];
18
+ }
19
+ interface Points {
20
+ positions: Doubles;
21
+ globalFeatureIds: Ints;
22
+ featureIds: Ints;
23
+ properties: Properties[];
24
+ numericProps: Record<string, NumericProp>;
25
+ }
26
+ interface Lines extends Points {
27
+ pathIndices: Ints;
28
+ }
29
+ interface Polygons extends Points {
30
+ polygonIndices: Ints;
31
+ primitivePolygonIndices: Ints;
32
+ triangles: Ints;
33
+ }
34
+ export interface Tile {
35
+ points: Points;
36
+ lines: Lines;
37
+ polygons: Polygons;
38
+ }
39
+ export declare class TileReader {
40
+ static read(pbf: any, end?: number): Tile;
41
+ static _readField(this: void, tag: number, obj: Tile, pbf: any): void;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=carto-tile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carto-tile.d.ts","sourceRoot":"","sources":["../../../src/layers/schema/carto-tile.ts"],"names":[],"mappings":"AACA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAcD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAaD,UAAU,OAAO;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAiBD,UAAU,IAAI;IACZ,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA6BD,UAAU,MAAM;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,IAAI,CAAC;IACvB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC3C;AAsBD,UAAU,KAAM,SAAQ,MAAM;IAC5B,WAAW,EAAE,IAAI,CAAC;CACnB;AAgCD,UAAU,QAAS,SAAQ,MAAM;IAC/B,cAAc,EAAE,IAAI,CAAC;IACrB,uBAAuB,EAAE,IAAI,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB;AAqCD,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAA,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGpC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAA;CAK1D"}
@@ -0,0 +1,11 @@
1
+ import { PickingInfo } from '@deck.gl/core/typed';
2
+ import { TileLayer, _Tile2DHeader as Tile2DHeader } from '@deck.gl/geo-layers/typed';
3
+ export default class SpatialIndexTileLayer<ExtraProps = {}> extends TileLayer<any, ExtraProps> {
4
+ protected _updateAutoHighlight(info: PickingInfo): void;
5
+ getSubLayerPropsByTile(tile: Tile2DHeader): {
6
+ highlightedObjectIndex: number;
7
+ highlightColor: any;
8
+ };
9
+ getHighlightedObjectIndex(tile: Tile2DHeader): number;
10
+ }
11
+ //# sourceMappingURL=spatial-index-tile-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spatial-index-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/spatial-index-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAE,aAAa,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAM7E,MAAM,CAAC,OAAO,OAAO,qBAAqB,CAAC,UAAU,GAAG,EAAE,CAAE,SAAQ,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAC5F,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAsBvD,sBAAsB,CAAC,IAAI,EAAE,YAAY;;;;IAOzC,yBAAyB,CAAC,IAAI,EAAE,YAAY;CAW7C"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "internal": true,
3
+ "main": "../dist/es5/index.js",
4
+ "module": "../dist/esm/index.js",
5
+ "types": "index.d.ts"
6
+ }
@@ -0,0 +1,9 @@
1
+ import { Color } from './palette';
2
+ import { AttributeSelector } from './utils';
3
+ export default function colorBins({ attr, domain, colors, nullColor }: {
4
+ attr: AttributeSelector;
5
+ domain: number[];
6
+ colors?: string | Color[];
7
+ nullColor?: Color;
8
+ }): AttributeSelector;
9
+ //# sourceMappingURL=color-bins-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-bins-style.d.ts","sourceRoot":"","sources":["../../src/style/color-bins-style.ts"],"names":[],"mappings":"AACA,OAAmB,EAAC,KAAK,EAA8B,MAAM,WAAW,CAAC;AACzE,OAAO,EAAS,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,MAAM,EACN,MAAwB,EACxB,SAAsB,EACvB,EAAE;IACD,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,GAAG,iBAAiB,CAWpB"}
@@ -0,0 +1,10 @@
1
+ import { Color } from './palette';
2
+ import { AttributeSelector } from './utils';
3
+ export default function colorCategories({ attr, domain, colors, nullColor, othersColor }: {
4
+ attr: AttributeSelector;
5
+ domain: number[];
6
+ colors: string | Color[];
7
+ nullColor?: Color;
8
+ othersColor?: Color;
9
+ }): AttributeSelector;
10
+ //# sourceMappingURL=color-categories-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-categories-style.d.ts","sourceRoot":"","sources":["../../src/style/color-categories-style.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAC,KAAK,EAA4C,MAAM,WAAW,CAAC;AACvF,OAAO,EAAS,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,IAAI,EACJ,MAAM,EACN,MAAwB,EACxB,SAAsB,EACtB,WAA0B,EAC3B,EAAE;IACD,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,GAAG,iBAAiB,CAgBpB"}
@@ -0,0 +1,9 @@
1
+ import { Color } from './palette';
2
+ import { AttributeSelector } from './utils';
3
+ export default function colorContinuous({ attr, domain, colors, nullColor }: {
4
+ attr: AttributeSelector;
5
+ domain: number[];
6
+ colors?: string | Color[];
7
+ nullColor?: Color;
8
+ }): AttributeSelector;
9
+ //# sourceMappingURL=color-continuous-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-continuous-style.d.ts","sourceRoot":"","sources":["../../src/style/color-continuous-style.ts"],"names":[],"mappings":"AACA,OAAmB,EAAC,KAAK,EAA8B,MAAM,WAAW,CAAC;AACzE,OAAO,EAAS,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,IAAI,EACJ,MAAM,EACN,MAAwB,EACxB,SAAsB,EACvB,EAAE;IACD,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,GAAG,iBAAiB,CAUpB"}
@@ -0,0 +1,7 @@
1
+ export declare type Color = [r: number, b: number, g: number, a?: number];
2
+ export declare const DEFAULT_PALETTE = "PurpOr";
3
+ export declare const NULL_COLOR: Color;
4
+ export declare const OTHERS_COLOR: Color;
5
+ export default function getPalette(name: string, numCategories: number): Color[];
6
+ export declare function hexToRgb(hex: string): Color;
7
+ //# sourceMappingURL=palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/style/palette.ts"],"names":[],"mappings":"AAGA,oBAAY,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,UAAU,EAAE,KAAuB,CAAC;AACjD,eAAO,MAAM,YAAY,EAAE,KAAuB,CAAC;AAOnD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,EAAE,CA0B/E;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CA2C3C"}
@@ -0,0 +1,8 @@
1
+ declare type Row = {
2
+ properties: Record<string, unknown>;
3
+ };
4
+ export declare type AttributeSelector = string | ((d: Row) => unknown);
5
+ export declare function getAttrValue(attr: AttributeSelector, d: Row): unknown;
6
+ export declare function assert(condition: any, message?: string): asserts condition;
7
+ export {};
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/style/utils.ts"],"names":[],"mappings":"AAEA,aAAK,GAAG,GAAG;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAC,CAAC;AACjD,oBAAY,iBAAiB,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;AAE/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CASrE;AAED,wBAAgB,MAAM,CAAC,SAAS,KAAA,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,SAAS,CAIjE"}
@@ -0,0 +1,2 @@
1
+ export declare function assert(condition: unknown, message?: string): asserts condition;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAE9E"}
@@ -1,44 +0,0 @@
1
- import {CompositeLayer} from '@deck.gl/core';
2
- import {H3HexagonLayer, TileLayer} from '@deck.gl/geo-layers';
3
- import H3Tileset2D from './h3-tileset-2d';
4
-
5
- const renderSubLayers = props => {
6
- const {data} = props;
7
- const {index} = props.tile;
8
- if (!data || !data.length) return null;
9
-
10
- return new H3HexagonLayer(props, {
11
- centerHexagon: index,
12
- highPrecision: true
13
- });
14
- };
15
-
16
- export default class H3TileLayer extends CompositeLayer {
17
- initializeState() {
18
- this.setState({data: null, tileJSON: null});
19
- }
20
-
21
- updateState({props, oldProps, context, changeFlags}) {
22
- if (changeFlags.dataChanged) {
23
- let {data} = this.props;
24
- const tileJSON = data;
25
- data = tileJSON.tiles;
26
- this.setState({data, tileJSON});
27
- }
28
- }
29
-
30
- renderLayers() {
31
- const {data} = this.state;
32
- return [
33
- new TileLayer(this.props, {
34
- id: 'h3-tile-layer',
35
- data,
36
- getHexagon: d => d.id,
37
- TilesetClass: H3Tileset2D,
38
- renderSubLayers
39
- })
40
- ];
41
- }
42
- }
43
-
44
- H3TileLayer.layerName = 'H3TileLayer';
@@ -1,82 +0,0 @@
1
- import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';
2
- import {polyfill, getRes0Indexes, h3GetResolution, h3ToGeoBoundary, h3ToParent} from 'h3-js';
3
-
4
- export function getHexagonsInBoundingBox({west, north, east, south}, resolution) {
5
- if (resolution === 0) {
6
- return getRes0Indexes();
7
- }
8
- if (east - west > 180) {
9
- // This is a known issue in h3-js: polyfill does not work correctly
10
- // when longitude span is larger than 180 degrees.
11
- return getHexagonsInBoundingBox({west, north, east: 0, south}, resolution).concat(
12
- getHexagonsInBoundingBox({west: 0, north, east, south}, resolution)
13
- );
14
- }
15
-
16
- // `polyfill()` fills based on hexagon center, which means tiles vanish
17
- // prematurely. Get more accurate coverage by oversampling
18
- const oversample = 1;
19
- const h3Indices = polyfill(
20
- [
21
- [
22
- [west, north],
23
- [west, south],
24
- [east, south],
25
- [east, north],
26
- [west, north]
27
- ]
28
- ],
29
- resolution + oversample,
30
- true
31
- );
32
-
33
- return oversample ? [...new Set(h3Indices.map(i => h3ToParent(i, resolution)))] : h3Indices;
34
- }
35
-
36
- export function tileToBoundingBox(index) {
37
- const coordinates = h3ToGeoBoundary(index);
38
- const latitudes = coordinates.map(c => c[0]);
39
- const longitudes = coordinates.map(c => c[1]);
40
- const west = Math.min(...longitudes);
41
- const south = Math.min(...latitudes);
42
- const east = Math.max(...longitudes);
43
- const north = Math.max(...latitudes);
44
- return {west, south, east, north};
45
- }
46
-
47
- export default class H3Tileset2D extends Tileset2D {
48
- getTileIndices({viewport, minZoom, maxZoom}) {
49
- const [east, south, west, north] = viewport.getBounds();
50
-
51
- // TODO ignores extent
52
- let z = viewport.zoom;
53
- if (typeof minZoom === 'number' && Number.isFinite(minZoom) && z < minZoom) {
54
- z = minZoom;
55
- }
56
- if (typeof maxZoom === 'number' && Number.isFinite(maxZoom) && z > maxZoom) {
57
- z = maxZoom;
58
- }
59
-
60
- // Heuristic to get h3 resolution
61
- const resolution = Math.max(0, Math.floor((2 * z) / 3) - 2);
62
- return getHexagonsInBoundingBox({west, north, east, south}, resolution).map(i => ({i}));
63
- }
64
-
65
- getTileId({i}) {
66
- return i;
67
- }
68
-
69
- getTileMetadata({i}) {
70
- return {bbox: tileToBoundingBox(i)};
71
- }
72
-
73
- getTileZoom({i}) {
74
- return h3GetResolution(i);
75
- }
76
-
77
- getParentIndex(index) {
78
- const resolution = h3GetResolution(index.i);
79
- const i = h3ToParent(index.i, resolution - 1);
80
- return {i};
81
- }
82
- }
@@ -1,42 +0,0 @@
1
- import {CompositeLayer} from '@deck.gl/core';
2
- import {QuadkeyLayer, TileLayer} from '@deck.gl/geo-layers';
3
- import QuadkeyTileset2D from './quadkey-tileset-2d';
4
-
5
- const renderSubLayers = props => {
6
- const {data} = props;
7
- if (!data || !data.length) return null;
8
- return new QuadkeyLayer(props);
9
- };
10
-
11
- export default class QuadkeyTileLayer extends CompositeLayer {
12
- initializeState() {
13
- this.setState({data: null, tileJSON: null});
14
- }
15
-
16
- updateState({props, oldProps, context, changeFlags}) {
17
- if (changeFlags.dataChanged) {
18
- let {data} = this.props;
19
- const tileJSON = data;
20
- data = tileJSON.tiles;
21
- this.setState({data, tileJSON});
22
- }
23
- }
24
-
25
- renderLayers() {
26
- const {data, tileJSON} = this.state;
27
- const {maxresolution} = tileJSON;
28
- const maxZoom = maxresolution - this.props.aggregationResLevel;
29
- return [
30
- new TileLayer(this.props, {
31
- id: 'quadkey-tile-layer',
32
- data,
33
- getQuadkey: d => d.id,
34
- TilesetClass: QuadkeyTileset2D,
35
- renderSubLayers,
36
- maxZoom
37
- })
38
- ];
39
- }
40
- }
41
-
42
- QuadkeyTileLayer.layerName = 'QuadkeyTileLayer';