@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.
- package/dist/dist.dev.js +2276 -1144
- package/dist/es5/api/index.js +0 -6
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +44 -86
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +3 -9
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +14 -19
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +28 -3
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tileset-2d.js +19 -13
- package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js +71 -0
- package/dist/es5/layers/quadbin-layer.js.map +1 -0
- package/dist/es5/layers/{quadkey-tile-layer.js → quadbin-tile-layer.js} +17 -17
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -0
- package/dist/es5/layers/{quadkey-tileset-2d.js → quadbin-tileset-2d.js} +25 -34
- package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -0
- package/dist/es5/layers/quadbin-utils.js +122 -0
- package/dist/es5/layers/quadbin-utils.js.map +1 -0
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +0 -24
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +12 -17
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +22 -3
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/h3-tileset-2d.js +20 -16
- package/dist/esm/layers/h3-tileset-2d.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js +29 -0
- package/dist/esm/layers/quadbin-layer.js.map +1 -0
- package/dist/esm/layers/{quadkey-tile-layer.js → quadbin-tile-layer.js} +10 -10
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -0
- package/dist/esm/layers/quadbin-tileset-2d.js +37 -0
- package/dist/esm/layers/quadbin-tileset-2d.js.map +1 -0
- package/dist/esm/layers/quadbin-utils.js +88 -0
- package/dist/esm/layers/quadbin-utils.js.map +1 -0
- package/dist.min.js +138 -138
- package/package.json +2 -2
- package/src/api/index.ts +1 -1
- package/src/api/maps-v3-client.ts +0 -24
- package/src/index.ts +1 -2
- package/src/layers/carto-layer.ts +28 -35
- package/src/layers/h3-tile-layer.ts +25 -3
- package/src/layers/h3-tileset-2d.ts +20 -10
- package/src/layers/quadbin-layer.ts +43 -0
- package/src/layers/{quadkey-tile-layer.ts → quadbin-tile-layer.ts} +15 -13
- package/src/layers/quadbin-tileset-2d.ts +34 -0
- package/src/layers/quadbin-utils.ts +102 -0
- package/typed/api/index.d.ts +1 -1
- package/typed/api/index.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +0 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +2 -2
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts +6 -10
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/h3-tileset-2d.d.ts +6 -0
- package/typed/layers/h3-tileset-2d.d.ts.map +1 -1
- package/typed/layers/quadbin-layer.d.ts +20 -0
- package/typed/layers/quadbin-layer.d.ts.map +1 -0
- package/typed/layers/quadbin-tile-layer.d.ts +21 -0
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -0
- package/typed/layers/quadbin-tileset-2d.d.ts +13 -0
- package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -0
- package/typed/layers/quadbin-utils.d.ts +11 -0
- package/typed/layers/quadbin-utils.d.ts.map +1 -0
- package/typed/layers/quadkey-tileset-2d.d.ts +1 -1
- package/typed/layers/quadkey-tileset-2d.d.ts.map +1 -1
- package/dist/es5/layers/quadkey-tile-layer.js.map +0 -1
- package/dist/es5/layers/quadkey-tileset-2d.js.map +0 -1
- package/dist/esm/layers/quadkey-tile-layer.js.map +0 -1
- package/dist/esm/layers/quadkey-tileset-2d.js +0 -48
- package/dist/esm/layers/quadkey-tileset-2d.js.map +0 -1
- package/src/layers/quadkey-tileset-2d.ts +0 -41
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- 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;
|
|
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;
|
|
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;
|
|
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
|
-
}
|
package/typed/api/index.js
DELETED
package/typed/api/layer-map.js
DELETED
|
@@ -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
|
-
}
|