@deck.gl/carto 8.8.0-beta.2 → 8.8.0-beta.5

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 (103) hide show
  1. package/dist/dist.dev.js +2276 -1144
  2. package/dist/es5/api/index.js +0 -6
  3. package/dist/es5/api/index.js.map +1 -1
  4. package/dist/es5/api/maps-v3-client.js +44 -86
  5. package/dist/es5/api/maps-v3-client.js.map +1 -1
  6. package/dist/es5/index.js +3 -9
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/layers/carto-layer.js +14 -19
  9. package/dist/es5/layers/carto-layer.js.map +1 -1
  10. package/dist/es5/layers/h3-tile-layer.js +28 -3
  11. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  12. package/dist/es5/layers/h3-tileset-2d.js +19 -13
  13. package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
  14. package/dist/es5/layers/quadbin-layer.js +71 -0
  15. package/dist/es5/layers/quadbin-layer.js.map +1 -0
  16. package/dist/es5/layers/{quadkey-tile-layer.js → quadbin-tile-layer.js} +17 -17
  17. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -0
  18. package/dist/es5/layers/{quadkey-tileset-2d.js → quadbin-tileset-2d.js} +25 -34
  19. package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -0
  20. package/dist/es5/layers/quadbin-utils.js +122 -0
  21. package/dist/es5/layers/quadbin-utils.js.map +1 -0
  22. package/dist/esm/api/index.js +1 -1
  23. package/dist/esm/api/index.js.map +1 -1
  24. package/dist/esm/api/maps-v3-client.js +0 -24
  25. package/dist/esm/api/maps-v3-client.js.map +1 -1
  26. package/dist/esm/index.js +2 -2
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/layers/carto-layer.js +12 -17
  29. package/dist/esm/layers/carto-layer.js.map +1 -1
  30. package/dist/esm/layers/h3-tile-layer.js +22 -3
  31. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  32. package/dist/esm/layers/h3-tileset-2d.js +20 -16
  33. package/dist/esm/layers/h3-tileset-2d.js.map +1 -1
  34. package/dist/esm/layers/quadbin-layer.js +29 -0
  35. package/dist/esm/layers/quadbin-layer.js.map +1 -0
  36. package/dist/esm/layers/{quadkey-tile-layer.js → quadbin-tile-layer.js} +10 -10
  37. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -0
  38. package/dist/esm/layers/quadbin-tileset-2d.js +37 -0
  39. package/dist/esm/layers/quadbin-tileset-2d.js.map +1 -0
  40. package/dist/esm/layers/quadbin-utils.js +88 -0
  41. package/dist/esm/layers/quadbin-utils.js.map +1 -0
  42. package/dist.min.js +138 -138
  43. package/package.json +2 -2
  44. package/src/api/index.ts +1 -1
  45. package/src/api/maps-v3-client.ts +0 -24
  46. package/src/index.ts +1 -2
  47. package/src/layers/carto-layer.ts +28 -35
  48. package/src/layers/h3-tile-layer.ts +25 -3
  49. package/src/layers/h3-tileset-2d.ts +20 -10
  50. package/src/layers/quadbin-layer.ts +43 -0
  51. package/src/layers/{quadkey-tile-layer.ts → quadbin-tile-layer.ts} +15 -13
  52. package/src/layers/quadbin-tileset-2d.ts +34 -0
  53. package/src/layers/quadbin-utils.ts +102 -0
  54. package/typed/api/index.d.ts +1 -1
  55. package/typed/api/index.d.ts.map +1 -1
  56. package/typed/api/maps-v3-client.d.ts +0 -1
  57. package/typed/api/maps-v3-client.d.ts.map +1 -1
  58. package/typed/index.d.ts +2 -2
  59. package/typed/index.d.ts.map +1 -1
  60. package/typed/layers/carto-layer.d.ts +6 -10
  61. package/typed/layers/carto-layer.d.ts.map +1 -1
  62. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  63. package/typed/layers/h3-tileset-2d.d.ts +6 -0
  64. package/typed/layers/h3-tileset-2d.d.ts.map +1 -1
  65. package/typed/layers/quadbin-layer.d.ts +20 -0
  66. package/typed/layers/quadbin-layer.d.ts.map +1 -0
  67. package/typed/layers/quadbin-tile-layer.d.ts +21 -0
  68. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -0
  69. package/typed/layers/quadbin-tileset-2d.d.ts +13 -0
  70. package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -0
  71. package/typed/layers/quadbin-utils.d.ts +11 -0
  72. package/typed/layers/quadbin-utils.d.ts.map +1 -0
  73. package/typed/layers/quadkey-tileset-2d.d.ts +1 -1
  74. package/typed/layers/quadkey-tileset-2d.d.ts.map +1 -1
  75. package/dist/es5/layers/quadkey-tile-layer.js.map +0 -1
  76. package/dist/es5/layers/quadkey-tileset-2d.js.map +0 -1
  77. package/dist/esm/layers/quadkey-tile-layer.js.map +0 -1
  78. package/dist/esm/layers/quadkey-tileset-2d.js +0 -48
  79. package/dist/esm/layers/quadkey-tileset-2d.js.map +0 -1
  80. package/src/layers/quadkey-tileset-2d.ts +0 -41
  81. package/typed/api/index.js +0 -3
  82. package/typed/api/layer-map.js +0 -264
  83. package/typed/api/maps-api-common.js +0 -50
  84. package/typed/api/maps-client.js +0 -125
  85. package/typed/api/maps-v3-client.js +0 -304
  86. package/typed/api/parseMap.js +0 -178
  87. package/typed/basemap.js +0 -9
  88. package/typed/config.js +0 -35
  89. package/typed/index.js +0 -10
  90. package/typed/layers/carto-layer.js +0 -173
  91. package/typed/layers/carto-tile-layer.js +0 -105
  92. package/typed/layers/h3-tile-layer.js +0 -47
  93. package/typed/layers/h3-tileset-2d.js +0 -85
  94. package/typed/layers/quadkey-tile-layer.js +0 -42
  95. package/typed/layers/quadkey-tileset-2d.js +0 -36
  96. package/typed/layers/schema/carto-tile.js +0 -161
  97. package/typed/layers/spatial-index-tile-layer.js +0 -40
  98. package/typed/style/color-bins-style.js +0 -12
  99. package/typed/style/color-categories-style.js +0 -16
  100. package/typed/style/color-continuous-style.js +0 -12
  101. package/typed/style/palette.js +0 -62
  102. package/typed/style/utils.js +0 -15
  103. package/typed/utils.js +0 -4
@@ -1 +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,EAChB,YAAY,EACb,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,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG;IAC3D,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,yCAAgB;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"}
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,EAChB,YAAY,EACb,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,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG;IAC3D,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,yCAAgB;IAEnC,KAAK,EAAG;QACN,QAAQ,EAAE,GAAG,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;IAEF,eAAe,IAAI,IAAI;IAKvB,WAAW,CAAC,EAAC,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IASxD,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmC1C"}
@@ -2,7 +2,13 @@ import { _Tileset2D as Tileset2D, GeoBoundingBox } from '@deck.gl/geo-layers/typ
2
2
  export declare type H3TileIndex = {
3
3
  i: string;
4
4
  };
5
+ export declare function getHexagonResolution(viewport: any): number;
5
6
  export default class H3Tileset2D extends Tileset2D {
7
+ /**
8
+ * Returns all tile indices in the current viewport. If the current zoom level is smaller
9
+ * than minZoom, return an empty array. If the current zoom level is greater than maxZoom,
10
+ * return tiles that are on maxZoom.
11
+ */
6
12
  getTileIndices({ viewport, minZoom, maxZoom }: {
7
13
  viewport: any;
8
14
  minZoom: any;
@@ -1 +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;AAG5E,oBAAY,WAAW,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AA8DtC,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"}
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;AAG5E,oBAAY,WAAW,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AA0DtC,wBAAgB,oBAAoB,CAAC,QAAQ,KAAA,GAAG,MAAM,CAMrD;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS;IAChD;;;;OAIG;IAEH,cAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC;;;;KAAA,GAAG,WAAW,EAAE;IAwB3D,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,20 @@
1
+ import { AccessorFunction, DefaultProps } from '@deck.gl/core/typed';
2
+ import { _GeoCellLayer as GeoCellLayer, _GeoCellLayerProps as GeoCellLayerProps } from '@deck.gl/geo-layers/typed';
3
+ /** All properties supported by QuadbinLayer. */
4
+ export declare type QuadbinLayerProps<DataT = any> = _QuadbinLayerProps<DataT> & GeoCellLayerProps<DataT>;
5
+ /** Properties added by QuadbinLayer. */
6
+ declare type _QuadbinLayerProps<DataT> = {
7
+ /**
8
+ * Called for each data object to retrieve the quadbin string identifier.
9
+ *
10
+ * By default, it reads `quadbin` property of data object.
11
+ */
12
+ getQuadbin?: AccessorFunction<DataT, string>;
13
+ };
14
+ export default class QuadbinLayer<DataT = any, ExtraProps = {}> extends GeoCellLayer<DataT, Required<_QuadbinLayerProps<DataT>> & ExtraProps> {
15
+ static layerName: string;
16
+ static defaultProps: DefaultProps<QuadbinLayerProps<any>>;
17
+ indexToBounds(): Partial<GeoCellLayer['props']> | null;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=quadbin-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadbin-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,aAAa,IAAI,YAAY,EAC7B,kBAAkB,IAAI,iBAAiB,EACxC,MAAM,qBAAqB,CAAC;AAO7B,gDAAgD;AAChD,oBAAY,iBAAiB,CAAC,KAAK,GAAG,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAElG,wCAAwC;AACxC,aAAK,kBAAkB,CAAC,KAAK,IAAI;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,YAAY,CAClF,KAAK,EACL,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CACjD;IACC,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,uCAAgB;IAEnC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;CAWvD"}
@@ -0,0 +1,21 @@
1
+ import { CompositeLayer, CompositeLayerProps, Layer, LayersList, UpdateParameters, DefaultProps } from '@deck.gl/core/typed';
2
+ import { QuadbinLayerProps } from './quadbin-layer';
3
+ /** All properties supported by QuadbinTileLayer. */
4
+ export declare type QuadbinTileLayerProps<DataT = any> = _QuadbinTileLayerProps<DataT> & CompositeLayerProps<DataT>;
5
+ /** Properties added by QuadbinTileLayer. */
6
+ declare type _QuadbinTileLayerProps<DataT> = QuadbinLayerProps<DataT> & {
7
+ aggregationResLevel?: number;
8
+ };
9
+ export default class QuadbinTileLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<ExtraProps & Required<_QuadbinTileLayerProps<DataT>>> {
10
+ static layerName: string;
11
+ static defaultProps: DefaultProps<QuadbinTileLayerProps<any>>;
12
+ state: {
13
+ tileJSON: any;
14
+ data: any;
15
+ };
16
+ initializeState(): void;
17
+ updateState({ changeFlags }: UpdateParameters<this>): void;
18
+ renderLayers(): Layer | null | LayersList;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=quadbin-tile-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadbin-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAqB,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAgBhE,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,2CAAgB;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,13 @@
1
+ import { _Tileset2D as Tileset2D } from '@deck.gl/geo-layers/typed';
2
+ declare type QuadbinTileIndex = {
3
+ i: string;
4
+ };
5
+ export default class QuadbinTileset2D extends Tileset2D {
6
+ getTileIndices(opts: any): QuadbinTileIndex[];
7
+ getTileId({ i }: QuadbinTileIndex): string;
8
+ getTileMetadata({ i }: QuadbinTileIndex): Record<string, any>;
9
+ getTileZoom({ i }: QuadbinTileIndex): number;
10
+ getParentIndex({ i }: QuadbinTileIndex): QuadbinTileIndex;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=quadbin-tileset-2d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadbin-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG5D,aAAK,gBAAgB,GAAG;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAErD,cAAc,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAQxC,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAKxC,eAAe,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAKrC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,MAAM;IAK1C,cAAc,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB,GAAG,gBAAgB;CAGxD"}
@@ -0,0 +1,11 @@
1
+ export declare function tileToQuadbin(tile: any): string;
2
+ export declare function quadbinToTile(index: string): {
3
+ z: number;
4
+ x: number;
5
+ y: number;
6
+ };
7
+ export declare function quadbinZoom(index: string): bigint;
8
+ export declare function quadbinParent(index: string): string;
9
+ export declare function quadbinToWorldBounds(quadbin: string): [number[], number[]];
10
+ export declare function getQuadbinPolygon(quadbin: string): number[];
11
+ //# sourceMappingURL=quadbin-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quadbin-utils.d.ts","sourceRoot":"","sources":["../../src/layers/quadbin-utils.ts"],"names":[],"mappings":"AAsBA,wBAAgB,aAAa,CAAC,IAAI,KAAA,GAAG,MAAM,CAsB1C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM;;;;EAyB1C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAGxC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,UAM1C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAQ1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAK3D"}
@@ -5,7 +5,7 @@ declare type QuadkeyTileIndex = {
5
5
  export default class QuadkeyTileset2D extends Tileset2D {
6
6
  getTileIndices(opts: any): QuadkeyTileIndex[];
7
7
  getTileId({ i }: QuadkeyTileIndex): string;
8
- getTileMetadata(): {};
8
+ getTileMetadata(index: QuadkeyTileIndex): Record<string, any>;
9
9
  getTileZoom({ i }: QuadkeyTileIndex): number;
10
10
  getParentIndex(index: QuadkeyTileIndex): {
11
11
  i: string;
@@ -1 +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"}
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;AA8BpC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAErD,cAAc,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAKxC,SAAS,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAK/B,eAAe,CAAC,KAAK,EAAE,gBAAgB;IAKvC,WAAW,CAAC,EAAC,CAAC,EAAC,EAAE,gBAAgB;IAKjC,cAAc,CAAC,KAAK,EAAE,gBAAgB;;;CAIvC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/quadkey-tile-layer.ts"],"names":["renderSubLayers","props","data","length","QuadkeyLayer","getQuadkey","d","id","defaultProps","aggregationResLevel","QuadkeyTileLayer","setState","tileJSON","changeFlags","dataChanged","tiles","state","maxZoom","parseInt","maxresolution","SpatialIndexTileLayer","TilesetClass","QuadkeyTileset2D","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,MAAOC,IAAP,GAAeD,KAAf,CAAOC,IAAP;AACA,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B,OAAO,IAAP;AAC3B,SAAO,IAAIC,uBAAJ,CAAiBH,KAAjB,EAAwB;AAACI,IAAAA,UAAU,EAAE,oBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,EAAN;AAAA;AAAd,GAAxB,CAAP;AACD,CAJD;;AAMA,IAAMC,YAAiD,GAAG;AACxDC,EAAAA,mBAAmB,EAAE;AADmC,CAA1D;;IAaqBC,gB;;;;;;;;;;;;;;;;;;;;;WAUnB,2BAAwB;AACtB,WAAKC,QAAL,CAAc;AAACT,QAAAA,IAAI,EAAE,IAAP;AAAaU,QAAAA,QAAQ,EAAE;AAAvB,OAAd;AACD;;;WAED,2BAAyD;AAAA,UAA5CC,WAA4C,QAA5CA,WAA4C;;AACvD,UAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,YAAKZ,IAAL,GAAa,KAAKD,KAAlB,CAAKC,IAAL;AACA,YAAMU,QAAQ,GAAGV,IAAjB;AACAA,QAAAA,IAAI,GAAIU,QAAD,CAAkBG,KAAzB;AACA,aAAKJ,QAAL,CAAc;AAACT,UAAAA,IAAI,EAAJA,IAAD;AAAOU,UAAAA,QAAQ,EAARA;AAAP,SAAd;AACD;AACF;;;WAED,wBAA0C;AACxC,wBAAyB,KAAKI,KAA9B;AAAA,UAAOd,IAAP,eAAOA,IAAP;AAAA,UAAaU,QAAb,eAAaA,QAAb;AACA,UAAMK,OAAO,GAAGC,QAAQ,CAACN,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEO,aAAX,CAAxB;AACA,aAAO,CACL,IAAIC,8BAAJ,CAA0B,KAAKnB,KAA/B,EAAsC;AACpCM,QAAAA,EAAE,+BAAwB,KAAKN,KAAL,CAAWM,EAAnC,CADkC;AAEpCL,QAAAA,IAAI,EAAJA,IAFoC;AAIpCmB,QAAAA,YAAY,EAAEC,yBAJsB;AAKpCtB,QAAAA,eAAe,EAAfA,eALoC;AAMpCiB,QAAAA,OAAO,EAAPA;AANoC,OAAtC,CADK,CAAP;AAUD;;;EApCyEM,oB;;;8BAAvDb,gB,eAGA,kB;8BAHAA,gB,kBAIGF,Y","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayersList,\n UpdateParameters,\n DefaultProps\n} from '@deck.gl/core';\nimport {QuadkeyLayer, QuadkeyLayerProps} from '@deck.gl/geo-layers';\nimport QuadkeyTileset2D from './quadkey-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\n\nconst renderSubLayers = props => {\n const {data} = props;\n if (!data || !data.length) return null;\n return new QuadkeyLayer(props, {getQuadkey: d => d.id});\n};\n\nconst defaultProps: DefaultProps<QuadkeyTileLayerProps> = {\n aggregationResLevel: 6\n};\n\n/** All properties supported by QuadkeyTileLayer. */\nexport type QuadkeyTileLayerProps<DataT = any> = _QuadkeyTileLayerProps<DataT> &\n CompositeLayerProps<DataT>;\n\n/** Properties added by QuadkeyTileLayer. */\ntype _QuadkeyTileLayerProps<DataT> = QuadkeyLayerProps<DataT> & {\n aggregationResLevel?: number;\n};\n\nexport default class QuadkeyTileLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<\n ExtraProps & Required<_QuadkeyTileLayerProps<DataT>>\n> {\n static layerName = 'QuadkeyTileLayer';\n static defaultProps = defaultProps;\n\n state!: {\n tileJSON: any;\n data: any;\n };\n initializeState(): void {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({changeFlags}: UpdateParameters<this>): void {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = (tileJSON as any).tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {data, tileJSON} = this.state;\n const maxZoom = parseInt(tileJSON?.maxresolution);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `quadkey-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: QuadkeyTileset2D as any,\n renderSubLayers,\n maxZoom\n })\n ];\n }\n}\n"],"file":"quadkey-tile-layer.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/quadkey-tileset-2d.ts"],"names":["tileToQuadkey","tile","index","z","b","mask","x","y","toString","i","QuadkeyTileset2D","opts","map","length","slice","Tileset2D"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAGA,SAASA,aAAT,CAAuBC,IAAvB,EAA+C;AAC7C,MAAIC,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAGF,IAAI,CAACE,CAAlB,EAAqBA,CAAC,GAAG,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC/B,QAAIC,CAAC,GAAG,CAAR;AACA,QAAMC,IAAI,GAAG,KAAMF,CAAC,GAAG,CAAvB;AACA,QAAI,CAACF,IAAI,CAACK,CAAL,GAASD,IAAV,MAAoB,CAAxB,EAA2BD,CAAC;AAC5B,QAAI,CAACH,IAAI,CAACM,CAAL,GAASF,IAAV,MAAoB,CAAxB,EAA2BD,CAAC,IAAI,CAAL;AAC3BF,IAAAA,KAAK,IAAIE,CAAC,CAACI,QAAF,EAAT;AACD;;AACD,SAAO;AAACC,IAAAA,CAAC,EAAEP;AAAJ,GAAP;AACD;;IAEoBQ,gB;;;;;;;;;;;;WAEnB,wBAAeC,IAAf,EAAyC;AACvC,aAAO,iHAAqBA,IAArB,EAA2BC,GAA3B,CAA+BZ,aAA/B,CAAP;AACD;;;WAGD,yBAAiC;AAAA,UAAtBS,CAAsB,QAAtBA,CAAsB;AAC/B,aAAOA,CAAP;AACD;;;WAED,2BAAkB;AAChB,aAAO,EAAP;AACD;;;WAGD,4BAAmC;AAAA,UAAtBA,CAAsB,SAAtBA,CAAsB;AACjC,aAAOA,CAAC,CAACI,MAAT;AACD;;;WAGD,wBAAeX,KAAf,EAAwC;AACtC,UAAMO,CAAC,GAAGP,KAAK,CAACO,CAAN,CAAQK,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;AACA,aAAO;AAACL,QAAAA,CAAC,EAADA;AAAD,OAAP;AACD;;;EAxB2CM,qB","sourcesContent":["import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';\n\ntype QuadkeyTileIndex = {i: string};\nfunction tileToQuadkey(tile): QuadkeyTileIndex {\n let index = '';\n for (let z = tile.z; z > 0; z--) {\n let b = 0;\n const mask = 1 << (z - 1);\n if ((tile.x & mask) !== 0) b++;\n if ((tile.y & mask) !== 0) b += 2;\n index += b.toString();\n }\n return {i: index};\n}\n\nexport default class QuadkeyTileset2D extends Tileset2D {\n // @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT\n getTileIndices(opts): QuadkeyTileIndex[] {\n return super.getTileIndices(opts).map(tileToQuadkey);\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileId({i}: QuadkeyTileIndex) {\n return i;\n }\n\n getTileMetadata() {\n return {};\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileZoom({i}: QuadkeyTileIndex) {\n return i.length;\n }\n\n // @ts-expect-error TileIndex must be generic\n getParentIndex(index: QuadkeyTileIndex) {\n const i = index.i.slice(0, -1);\n return {i};\n }\n}\n"],"file":"quadkey-tileset-2d.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/quadkey-tile-layer.ts"],"names":["CompositeLayer","QuadkeyLayer","QuadkeyTileset2D","SpatialIndexTileLayer","renderSubLayers","props","data","length","getQuadkey","d","id","defaultProps","aggregationResLevel","QuadkeyTileLayer","initializeState","setState","tileJSON","updateState","changeFlags","dataChanged","tiles","renderLayers","state","maxZoom","parseInt","maxresolution","TilesetClass"],"mappings":";AAAA,SACEA,cADF,QAOO,eAPP;AAQA,SAAQC,YAAR,QAA8C,qBAA9C;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;;AAEA,MAAMC,eAAe,GAAGC,KAAK,IAAI;AAC/B,QAAM;AAACC,IAAAA;AAAD,MAASD,KAAf;AACA,MAAI,CAACC,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B,OAAO,IAAP;AAC3B,SAAO,IAAIN,YAAJ,CAAiBI,KAAjB,EAAwB;AAACG,IAAAA,UAAU,EAAEC,CAAC,IAAIA,CAAC,CAACC;AAApB,GAAxB,CAAP;AACD,CAJD;;AAMA,MAAMC,YAAiD,GAAG;AACxDC,EAAAA,mBAAmB,EAAE;AADmC,CAA1D;AAaA,eAAe,MAAMC,gBAAN,SAA6Db,cAA7D,CAEb;AAAA;AAAA;;AAAA;AAAA;;AAQAc,EAAAA,eAAe,GAAS;AACtB,SAAKC,QAAL,CAAc;AAACT,MAAAA,IAAI,EAAE,IAAP;AAAaU,MAAAA,QAAQ,EAAE;AAAvB,KAAd;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACC,IAAAA;AAAD,GAAD,EAA8C;AACvD,QAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,UAAI;AAACb,QAAAA;AAAD,UAAS,KAAKD,KAAlB;AACA,YAAMW,QAAQ,GAAGV,IAAjB;AACAA,MAAAA,IAAI,GAAIU,QAAD,CAAkBI,KAAzB;AACA,WAAKL,QAAL,CAAc;AAACT,QAAAA,IAAD;AAAOU,QAAAA;AAAP,OAAd;AACD;AACF;;AAEDK,EAAAA,YAAY,GAA8B;AACxC,UAAM;AAACf,MAAAA,IAAD;AAAOU,MAAAA;AAAP,QAAmB,KAAKM,KAA9B;AACA,UAAMC,OAAO,GAAGC,QAAQ,CAACR,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAES,aAAX,CAAxB;AACA,WAAO,CACL,IAAItB,qBAAJ,CAA0B,KAAKE,KAA/B,EAAsC;AACpCK,MAAAA,EAAE,+BAAwB,KAAKL,KAAL,CAAWK,EAAnC,CADkC;AAEpCJ,MAAAA,IAFoC;AAIpCoB,MAAAA,YAAY,EAAExB,gBAJsB;AAKpCE,MAAAA,eALoC;AAMpCmB,MAAAA;AANoC,KAAtC,CADK,CAAP;AAUD;;AAlCD;;gBAFmBV,gB,eAGA,kB;;gBAHAA,gB,kBAIGF,Y","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayersList,\n UpdateParameters,\n DefaultProps\n} from '@deck.gl/core';\nimport {QuadkeyLayer, QuadkeyLayerProps} from '@deck.gl/geo-layers';\nimport QuadkeyTileset2D from './quadkey-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\n\nconst renderSubLayers = props => {\n const {data} = props;\n if (!data || !data.length) return null;\n return new QuadkeyLayer(props, {getQuadkey: d => d.id});\n};\n\nconst defaultProps: DefaultProps<QuadkeyTileLayerProps> = {\n aggregationResLevel: 6\n};\n\n/** All properties supported by QuadkeyTileLayer. */\nexport type QuadkeyTileLayerProps<DataT = any> = _QuadkeyTileLayerProps<DataT> &\n CompositeLayerProps<DataT>;\n\n/** Properties added by QuadkeyTileLayer. */\ntype _QuadkeyTileLayerProps<DataT> = QuadkeyLayerProps<DataT> & {\n aggregationResLevel?: number;\n};\n\nexport default class QuadkeyTileLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<\n ExtraProps & Required<_QuadkeyTileLayerProps<DataT>>\n> {\n static layerName = 'QuadkeyTileLayer';\n static defaultProps = defaultProps;\n\n state!: {\n tileJSON: any;\n data: any;\n };\n initializeState(): void {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({changeFlags}: UpdateParameters<this>): void {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = (tileJSON as any).tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {data, tileJSON} = this.state;\n const maxZoom = parseInt(tileJSON?.maxresolution);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `quadkey-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: QuadkeyTileset2D as any,\n renderSubLayers,\n maxZoom\n })\n ];\n }\n}\n"],"file":"quadkey-tile-layer.js"}
@@ -1,48 +0,0 @@
1
- import { _Tileset2D as Tileset2D } from '@deck.gl/geo-layers';
2
-
3
- function tileToQuadkey(tile) {
4
- let index = '';
5
-
6
- for (let z = tile.z; z > 0; z--) {
7
- let b = 0;
8
- const mask = 1 << z - 1;
9
- if ((tile.x & mask) !== 0) b++;
10
- if ((tile.y & mask) !== 0) b += 2;
11
- index += b.toString();
12
- }
13
-
14
- return {
15
- i: index
16
- };
17
- }
18
-
19
- export default class QuadkeyTileset2D extends Tileset2D {
20
- getTileIndices(opts) {
21
- return super.getTileIndices(opts).map(tileToQuadkey);
22
- }
23
-
24
- getTileId({
25
- i
26
- }) {
27
- return i;
28
- }
29
-
30
- getTileMetadata() {
31
- return {};
32
- }
33
-
34
- getTileZoom({
35
- i
36
- }) {
37
- return i.length;
38
- }
39
-
40
- getParentIndex(index) {
41
- const i = index.i.slice(0, -1);
42
- return {
43
- i
44
- };
45
- }
46
-
47
- }
48
- //# sourceMappingURL=quadkey-tileset-2d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/quadkey-tileset-2d.ts"],"names":["_Tileset2D","Tileset2D","tileToQuadkey","tile","index","z","b","mask","x","y","toString","i","QuadkeyTileset2D","getTileIndices","opts","map","getTileId","getTileMetadata","getTileZoom","length","getParentIndex","slice"],"mappings":"AAAA,SAAQA,UAAU,IAAIC,SAAtB,QAAsC,qBAAtC;;AAGA,SAASC,aAAT,CAAuBC,IAAvB,EAA+C;AAC7C,MAAIC,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAGF,IAAI,CAACE,CAAlB,EAAqBA,CAAC,GAAG,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC/B,QAAIC,CAAC,GAAG,CAAR;AACA,UAAMC,IAAI,GAAG,KAAMF,CAAC,GAAG,CAAvB;AACA,QAAI,CAACF,IAAI,CAACK,CAAL,GAASD,IAAV,MAAoB,CAAxB,EAA2BD,CAAC;AAC5B,QAAI,CAACH,IAAI,CAACM,CAAL,GAASF,IAAV,MAAoB,CAAxB,EAA2BD,CAAC,IAAI,CAAL;AAC3BF,IAAAA,KAAK,IAAIE,CAAC,CAACI,QAAF,EAAT;AACD;;AACD,SAAO;AAACC,IAAAA,CAAC,EAAEP;AAAJ,GAAP;AACD;;AAED,eAAe,MAAMQ,gBAAN,SAA+BX,SAA/B,CAAyC;AAEtDY,EAAAA,cAAc,CAACC,IAAD,EAA2B;AACvC,WAAO,MAAMD,cAAN,CAAqBC,IAArB,EAA2BC,GAA3B,CAA+Bb,aAA/B,CAAP;AACD;;AAGDc,EAAAA,SAAS,CAAC;AAACL,IAAAA;AAAD,GAAD,EAAwB;AAC/B,WAAOA,CAAP;AACD;;AAEDM,EAAAA,eAAe,GAAG;AAChB,WAAO,EAAP;AACD;;AAGDC,EAAAA,WAAW,CAAC;AAACP,IAAAA;AAAD,GAAD,EAAwB;AACjC,WAAOA,CAAC,CAACQ,MAAT;AACD;;AAGDC,EAAAA,cAAc,CAAChB,KAAD,EAA0B;AACtC,UAAMO,CAAC,GAAGP,KAAK,CAACO,CAAN,CAAQU,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;AACA,WAAO;AAACV,MAAAA;AAAD,KAAP;AACD;;AAxBqD","sourcesContent":["import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';\n\ntype QuadkeyTileIndex = {i: string};\nfunction tileToQuadkey(tile): QuadkeyTileIndex {\n let index = '';\n for (let z = tile.z; z > 0; z--) {\n let b = 0;\n const mask = 1 << (z - 1);\n if ((tile.x & mask) !== 0) b++;\n if ((tile.y & mask) !== 0) b += 2;\n index += b.toString();\n }\n return {i: index};\n}\n\nexport default class QuadkeyTileset2D extends Tileset2D {\n // @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT\n getTileIndices(opts): QuadkeyTileIndex[] {\n return super.getTileIndices(opts).map(tileToQuadkey);\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileId({i}: QuadkeyTileIndex) {\n return i;\n }\n\n getTileMetadata() {\n return {};\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileZoom({i}: QuadkeyTileIndex) {\n return i.length;\n }\n\n // @ts-expect-error TileIndex must be generic\n getParentIndex(index: QuadkeyTileIndex) {\n const i = index.i.slice(0, -1);\n return {i};\n }\n}\n"],"file":"quadkey-tileset-2d.js"}
@@ -1,41 +0,0 @@
1
- import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';
2
-
3
- type QuadkeyTileIndex = {i: string};
4
- function tileToQuadkey(tile): QuadkeyTileIndex {
5
- let index = '';
6
- for (let z = tile.z; z > 0; z--) {
7
- let b = 0;
8
- const mask = 1 << (z - 1);
9
- if ((tile.x & mask) !== 0) b++;
10
- if ((tile.y & mask) !== 0) b += 2;
11
- index += b.toString();
12
- }
13
- return {i: index};
14
- }
15
-
16
- export default class QuadkeyTileset2D extends Tileset2D {
17
- // @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT
18
- getTileIndices(opts): QuadkeyTileIndex[] {
19
- return super.getTileIndices(opts).map(tileToQuadkey);
20
- }
21
-
22
- // @ts-expect-error TileIndex must be generic
23
- getTileId({i}: QuadkeyTileIndex) {
24
- return i;
25
- }
26
-
27
- getTileMetadata() {
28
- return {};
29
- }
30
-
31
- // @ts-expect-error TileIndex must be generic
32
- getTileZoom({i}: QuadkeyTileIndex) {
33
- return i.length;
34
- }
35
-
36
- // @ts-expect-error TileIndex must be generic
37
- getParentIndex(index: QuadkeyTileIndex) {
38
- const i = index.i.slice(0, -1);
39
- return {i};
40
- }
41
- }
@@ -1,3 +0,0 @@
1
- export { FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS } from './maps-api-common';
2
- export { getDataV2, CONNECTIONS } from './maps-client';
3
- export { fetchLayerData, fetchMap, getData, mapInstantiation } from './maps-v3-client';
@@ -1,264 +0,0 @@
1
- import { deviation, extent, groupSort, median, variance } from 'd3-array';
2
- import { rgb } from 'd3-color';
3
- import { scaleLinear, scaleOrdinal, scaleLog, scalePoint, scaleQuantile, scaleQuantize, scaleSqrt, scaleThreshold } from 'd3-scale';
4
- import { format as d3Format } from 'd3-format';
5
- import moment from 'moment-timezone';
6
- import { CPUGridLayer, HeatmapLayer, HexagonLayer } from '@deck.gl/aggregation-layers';
7
- import { GeoJsonLayer } from '@deck.gl/layers';
8
- import { H3HexagonLayer, MVTLayer } from '@deck.gl/geo-layers';
9
- import CartoTileLayer from '../layers/carto-tile-layer';
10
- import { TILE_FORMATS } from './maps-api-common';
11
- import { assert } from '../utils';
12
- const SCALE_FUNCS = {
13
- linear: scaleLinear,
14
- ordinal: scaleOrdinal,
15
- log: scaleLog,
16
- point: scalePoint,
17
- quantile: scaleQuantile,
18
- quantize: scaleQuantize,
19
- sqrt: scaleSqrt,
20
- custom: scaleThreshold
21
- };
22
- const UNKNOWN_COLOR = '#868d91';
23
- export const AGGREGATION = {
24
- average: 'MEAN',
25
- maximum: 'MAX',
26
- minimum: 'MIN',
27
- sum: 'SUM'
28
- };
29
- export const OPACITY_MAP = {
30
- getFillColor: 'opacity',
31
- getLineColor: 'strokeOpacity',
32
- getTextColor: 'opacity'
33
- };
34
- const AGGREGATION_FUNC = {
35
- 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,
36
- median,
37
- // Unfortunately mode() is only available in d3-array@3+ which is ESM only
38
- mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),
39
- stddev: deviation,
40
- variance
41
- };
42
- const hexToRGBA = c => {
43
- const { r, g, b, opacity } = rgb(c);
44
- return [r, g, b, 255 * opacity];
45
- };
46
- // Kepler -> Deck.gl
47
- const sharedPropMap = {
48
- color: 'getFillColor',
49
- isVisible: 'visible',
50
- label: 'cartoLabel',
51
- textLabel: {
52
- alignment: 'getTextAlignmentBaseline',
53
- anchor: 'getTextAnchor',
54
- color: 'getTextColor',
55
- size: 'getTextSize'
56
- },
57
- visConfig: {
58
- enable3d: 'extruded',
59
- elevationScale: 'elevationScale',
60
- filled: 'filled',
61
- strokeColor: 'getLineColor',
62
- stroked: 'stroked',
63
- thickness: 'getLineWidth',
64
- radius: 'getPointRadius',
65
- wireframe: 'wireframe'
66
- }
67
- };
68
- const aggregationVisConfig = {
69
- colorAggregation: x => ({ colorAggregation: AGGREGATION[x] || AGGREGATION.sum }),
70
- colorRange: x => ({ colorRange: x.colors.map(hexToRGBA) }),
71
- coverage: 'coverage',
72
- elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],
73
- percentile: ['lowerPercentile', 'upperPercentile']
74
- };
75
- const defaultProps = {
76
- lineMiterLimit: 2,
77
- lineWidthUnits: 'pixels',
78
- pointRadiusUnits: 'pixels',
79
- rounded: true,
80
- wrapLongitude: false
81
- };
82
- function mergePropMaps(a = {}, b = {}) {
83
- return { ...a, ...b, visConfig: { ...a.visConfig, ...b.visConfig } };
84
- }
85
- export function getLayer(type, config, dataset) {
86
- if (type === 'mvt' || type === 'tileset') {
87
- return getTileLayer(dataset);
88
- }
89
- const geoColumn = dataset?.geoColumn;
90
- const getPosition = d => d[geoColumn].coordinates;
91
- const hexagonId = config.columns?.hex_id;
92
- const layerTypeDefs = {
93
- point: {
94
- Layer: GeoJsonLayer,
95
- propMap: { visConfig: { outline: 'stroked' } }
96
- },
97
- geojson: {
98
- Layer: GeoJsonLayer
99
- },
100
- grid: {
101
- Layer: CPUGridLayer,
102
- propMap: { visConfig: { ...aggregationVisConfig, worldUnitSize: x => ({ cellSize: 1000 * x }) } },
103
- defaultProps: { getPosition }
104
- },
105
- heatmap: {
106
- Layer: HeatmapLayer,
107
- propMap: { visConfig: { ...aggregationVisConfig, radius: 'radiusPixels' } },
108
- defaultProps: { getPosition }
109
- },
110
- hexagon: {
111
- Layer: HexagonLayer,
112
- propMap: { visConfig: { ...aggregationVisConfig, worldUnitSize: x => ({ radius: 1000 * x }) } },
113
- defaultProps: { getPosition }
114
- },
115
- hexagonId: {
116
- Layer: H3HexagonLayer,
117
- propMap: { visConfig: { coverage: 'coverage' } },
118
- defaultProps: { getHexagon: d => d[hexagonId], stroked: false }
119
- }
120
- };
121
- const layer = layerTypeDefs[type];
122
- assert(layer, `Unsupported layer type: ${type}`);
123
- return {
124
- ...layer,
125
- propMap: mergePropMaps(sharedPropMap, layer.propMap),
126
- defaultProps: { ...defaultProps, ...layer.defaultProps }
127
- };
128
- }
129
- function getTileLayer(dataset) {
130
- const { data: { tiles: [tileUrl] } } = dataset;
131
- /* global URL */
132
- const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') || TILE_FORMATS.MVT;
133
- return {
134
- Layer: formatTiles === TILE_FORMATS.MVT ? MVTLayer : CartoTileLayer,
135
- propMap: sharedPropMap,
136
- defaultProps: {
137
- ...defaultProps,
138
- uniqueIdProperty: 'geoid',
139
- formatTiles
140
- }
141
- };
142
- }
143
- function domainFromAttribute(attribute, scaleType) {
144
- if (scaleType === 'ordinal' || scaleType === 'point') {
145
- return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
146
- }
147
- let { min } = attribute;
148
- if (scaleType === 'log' && min === 0) {
149
- min = 1e-5;
150
- }
151
- return [min, attribute.max];
152
- }
153
- function domainFromValues(values, scaleType) {
154
- if (scaleType === 'ordinal') {
155
- return groupSort(values, g => -g.length, d => d);
156
- }
157
- else if (scaleType === 'quantile') {
158
- return values.sort((a, b) => a - b);
159
- }
160
- else if (scaleType === 'log') {
161
- const [d0, d1] = extent(values);
162
- return [d0 === 0 ? 1e-5 : d0, d1];
163
- }
164
- return extent(values);
165
- }
166
- function calculateDomain(data, name, scaleType) {
167
- if (data.tilestats) {
168
- // Tileset data type
169
- const { attributes } = data.tilestats.layers[0];
170
- const attribute = attributes.find(a => a.attribute === name);
171
- return domainFromAttribute(attribute, scaleType);
172
- }
173
- else if (data.features) {
174
- // GeoJSON data type
175
- const values = data.features.map(({ properties }) => properties[name]);
176
- return domainFromValues(values, scaleType);
177
- }
178
- else if (Array.isArray(data) && data[0][name] !== undefined) {
179
- // JSON data type
180
- const values = data.map(properties => properties[name]);
181
- return domainFromValues(values, scaleType);
182
- }
183
- return [0, 1];
184
- }
185
- function normalizeAccessor(accessor, data) {
186
- if (data.features || data.tilestats) {
187
- return ({ properties }) => {
188
- return accessor(properties);
189
- };
190
- }
191
- return accessor;
192
- }
193
- export function opacityToAlpha(opacity) {
194
- return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;
195
- }
196
- export function getColorValueAccessor({ name }, colorAggregation, data) {
197
- const aggregator = AGGREGATION_FUNC[colorAggregation];
198
- const accessor = values => aggregator(values, p => p[name]);
199
- return normalizeAccessor(accessor, data);
200
- }
201
- export function getColorAccessor({ name }, scaleType, { colors, colorMap }, opacity, data) {
202
- const scale = SCALE_FUNCS[scaleType]();
203
- let domain = [];
204
- let scaleColor = [];
205
- if (Array.isArray(colorMap)) {
206
- colorMap.forEach(([value, color]) => {
207
- domain.push(value);
208
- scaleColor.push(color);
209
- });
210
- }
211
- else {
212
- domain = calculateDomain(data, name, scaleType);
213
- scaleColor = colors;
214
- }
215
- if (scaleType === 'ordinal') {
216
- domain = domain.slice(0, scaleColor.length);
217
- }
218
- scale.domain(domain);
219
- scale.range(scaleColor);
220
- scale.unknown(UNKNOWN_COLOR);
221
- const alpha = opacityToAlpha(opacity);
222
- const accessor = properties => {
223
- const propertyValue = properties[name];
224
- const { r, g, b } = rgb(scale(propertyValue));
225
- return [r, g, b, propertyValue === null ? 0 : alpha];
226
- };
227
- return normalizeAccessor(accessor, data);
228
- }
229
- export function getSizeAccessor({ name }, scaleType, range, data) {
230
- const scale = SCALE_FUNCS[scaleType]();
231
- scale.domain(calculateDomain(data, name, scaleType));
232
- scale.range(range);
233
- const accessor = properties => {
234
- return scale(properties[name]);
235
- };
236
- return normalizeAccessor(accessor, data);
237
- }
238
- const FORMATS = {
239
- date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),
240
- integer: d3Format('i'),
241
- float: d3Format('.5f'),
242
- timestamp: s => moment.utc(s).format('X'),
243
- default: String
244
- };
245
- export function getTextAccessor({ name, type }, data) {
246
- const format = FORMATS[type] || FORMATS.default;
247
- const accessor = properties => {
248
- return format(properties[name]);
249
- };
250
- return normalizeAccessor(accessor, data);
251
- }
252
- export function getTextPixelOffsetAccessor({ alignment, anchor, size }, radius) {
253
- const padding = 20;
254
- const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
255
- const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;
256
- const sizeOffset = alignment === 'center' ? 0 : size;
257
- const calculateOffset = r => [signX * (r + padding), signY * (r + padding + sizeOffset)];
258
- return typeof radius === 'function'
259
- ? d => {
260
- return calculateOffset(radius(d));
261
- }
262
- : calculateOffset(radius);
263
- }
264
- export { domainFromValues as _domainFromValues };
@@ -1,50 +0,0 @@
1
- export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
2
- export const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
3
- export const API_VERSIONS = {
4
- V1: 'v1',
5
- V2: 'v2',
6
- V3: 'v3'
7
- };
8
- export const DEFAULT_MAPS_URL_FORMAT = {
9
- [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,
10
- [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`
11
- };
12
- export const MAP_TYPES = {
13
- QUERY: 'query',
14
- TABLE: 'table',
15
- TILESET: 'tileset'
16
- };
17
- export const COLUMNS_SUPPORT = [MAP_TYPES.TABLE];
18
- export const GEO_COLUMN_SUPPORT = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];
19
- // AVAILABLE FORMATS
20
- export const FORMATS = {
21
- GEOJSON: 'geojson',
22
- NDJSON: 'ndjson',
23
- TILEJSON: 'tilejson',
24
- JSON: 'json'
25
- };
26
- // AVAILABLE FORMATS FOR TILES
27
- export const TILE_FORMATS = {
28
- MVT: 'mvt',
29
- JSON: 'json',
30
- GEOJSON: 'geojson',
31
- BINARY: 'binary'
32
- };
33
- export var SchemaFieldType;
34
- (function (SchemaFieldType) {
35
- SchemaFieldType["Number"] = "number";
36
- SchemaFieldType["Bigint"] = "bigint";
37
- SchemaFieldType["String"] = "string";
38
- SchemaFieldType["Geometry"] = "geometry";
39
- SchemaFieldType["Timestamp"] = "timestamp";
40
- SchemaFieldType["Object"] = "object";
41
- SchemaFieldType["Boolean"] = "boolean";
42
- SchemaFieldType["Variant"] = "variant";
43
- SchemaFieldType["Unknown"] = "unknown";
44
- })(SchemaFieldType || (SchemaFieldType = {}));
45
- /**
46
- * Simple encode parameter
47
- */
48
- export function encodeParameter(name, value) {
49
- return `${name}=${encodeURIComponent(value)}`;
50
- }