@deck.gl/carto 8.8.14 → 8.8.15
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 +42646 -42530
- package/dist/es5/api/layer-map.js +24 -11
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +2 -0
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +57 -19
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +0 -20
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +19 -2
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +10 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +10 -1
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tileset-2d.js +13 -11
- package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/es5/layers/quadbin-utils.js +6 -82
- package/dist/es5/layers/quadbin-utils.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +10 -2
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/spatialjson-utils.js +4 -3
- package/dist/es5/layers/schema/spatialjson-utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +13 -2
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +2 -0
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +64 -20
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +18 -0
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +6 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +6 -1
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tileset-2d.js +12 -10
- package/dist/esm/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/esm/layers/quadbin-utils.js +2 -67
- package/dist/esm/layers/quadbin-utils.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +10 -2
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/spatialjson-utils.js +4 -3
- package/dist/esm/layers/schema/spatialjson-utils.js.map +1 -1
- package/dist.min.js +4 -4
- package/package.json +9 -8
- package/src/api/layer-map.ts +14 -5
- package/src/api/maps-v3-client.ts +2 -0
- package/src/api/parseMap.ts +39 -22
- package/src/index.ts +0 -5
- package/src/layers/carto-layer.ts +9 -2
- package/src/layers/h3-tile-layer.ts +7 -1
- package/src/layers/quadbin-layer.ts +1 -1
- package/src/layers/quadbin-tile-layer.ts +7 -1
- package/src/layers/quadbin-tileset-2d.ts +14 -12
- package/src/layers/quadbin-utils.ts +4 -85
- package/src/layers/schema/carto-spatial-tile-loader.ts +9 -3
- package/src/layers/schema/spatialjson-utils.ts +4 -4
- package/typed/api/layer-map.d.ts +5 -1
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +1 -0
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/api/parseMap.d.ts +1 -0
- package/typed/api/parseMap.d.ts.map +1 -1
- package/typed/index.d.ts +0 -1
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-layer.d.ts +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tileset-2d.d.ts +6 -5
- package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -1
- package/typed/layers/quadbin-utils.d.ts +2 -12
- package/typed/layers/quadbin-utils.d.ts.map +1 -1
- package/typed/layers/quadkey-tile-layer.d.ts +21 -0
- package/typed/layers/quadkey-tile-layer.d.ts.map +1 -0
- package/typed/layers/quadkey-tileset-2d.d.ts +15 -0
- package/typed/layers/quadkey-tileset-2d.d.ts.map +1 -0
- package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
- package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/spatialjson-utils.d.ts +1 -1
- package/typed/layers/schema/spatialjson-utils.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/carto",
|
|
3
3
|
"description": "CARTO official integration with Deck.gl. Build geospatial applications using CARTO and Deck.gl.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.8.
|
|
5
|
+
"version": "8.8.15",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env.dev"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@loaders.gl/gis": "^3.2.
|
|
36
|
-
"@loaders.gl/loader-utils": "^3.2.
|
|
37
|
-
"@loaders.gl/mvt": "^3.2.
|
|
38
|
-
"@loaders.gl/tiles": "^3.2.
|
|
35
|
+
"@loaders.gl/gis": "^3.2.10",
|
|
36
|
+
"@loaders.gl/loader-utils": "^3.2.10",
|
|
37
|
+
"@loaders.gl/mvt": "^3.2.10",
|
|
38
|
+
"@loaders.gl/tiles": "^3.2.10",
|
|
39
39
|
"@luma.gl/constants": "^8.5.16",
|
|
40
40
|
"@math.gl/web-mercator": "^3.6.2",
|
|
41
41
|
"cartocolor": "^4.0.2",
|
|
@@ -45,10 +45,11 @@
|
|
|
45
45
|
"d3-scale": "^3.2.3",
|
|
46
46
|
"h3-js": "^3.7.0",
|
|
47
47
|
"moment-timezone": "^0.5.33",
|
|
48
|
-
"pbf": "^3.2.1"
|
|
48
|
+
"pbf": "^3.2.1",
|
|
49
|
+
"quadbin": "^0.1.2"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
|
-
"@loaders.gl/schema": "^3.2.
|
|
52
|
+
"@loaders.gl/schema": "^3.2.10",
|
|
52
53
|
"@types/d3-array": "^3.0.2",
|
|
53
54
|
"@types/d3-color": "^1.4.2",
|
|
54
55
|
"@types/d3-scale": "^3.0.0"
|
|
@@ -61,5 +62,5 @@
|
|
|
61
62
|
"@deck.gl/layers": "^8.0.0",
|
|
62
63
|
"@loaders.gl/core": "^3.0.0"
|
|
63
64
|
},
|
|
64
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "c0b508f246014b2bd655de060066757ad8622261"
|
|
65
66
|
}
|
package/src/api/layer-map.ts
CHANGED
|
@@ -78,14 +78,19 @@ const hexToRGBA = c => {
|
|
|
78
78
|
return [r, g, b, 255 * opacity];
|
|
79
79
|
};
|
|
80
80
|
|
|
81
|
-
// Kepler -> Deck.gl
|
|
81
|
+
// Kepler prop value -> Deck.gl prop value
|
|
82
|
+
// Supports nested definitions, and function transforms:
|
|
83
|
+
// {keplerProp: 'deckProp'} is equivalent to:
|
|
84
|
+
// {keplerProp: x => ({deckProp: x})}
|
|
82
85
|
const sharedPropMap = {
|
|
86
|
+
// Apply the value of Kepler `color` prop to the deck `getFillColor` prop
|
|
83
87
|
color: 'getFillColor',
|
|
84
88
|
isVisible: 'visible',
|
|
85
89
|
label: 'cartoLabel',
|
|
86
90
|
textLabel: {
|
|
87
91
|
alignment: 'getTextAlignmentBaseline',
|
|
88
92
|
anchor: 'getTextAnchor',
|
|
93
|
+
// Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop
|
|
89
94
|
color: 'getTextColor',
|
|
90
95
|
size: 'getTextSize'
|
|
91
96
|
},
|
|
@@ -153,7 +158,12 @@ export function getLayer(
|
|
|
153
158
|
> = {
|
|
154
159
|
point: {
|
|
155
160
|
Layer: GeoJsonLayer,
|
|
156
|
-
propMap: {
|
|
161
|
+
propMap: {
|
|
162
|
+
columns: {
|
|
163
|
+
altitude: x => ({parameters: {depthTest: Boolean(x)}})
|
|
164
|
+
},
|
|
165
|
+
visConfig: {outline: 'stroked'}
|
|
166
|
+
}
|
|
157
167
|
},
|
|
158
168
|
geojson: {
|
|
159
169
|
Layer: GeoJsonLayer
|
|
@@ -369,9 +379,8 @@ const FALLBACK_ICON =
|
|
|
369
379
|
|
|
370
380
|
export function getIconUrlAccessor(
|
|
371
381
|
field: VisualChannelField | null | undefined,
|
|
372
|
-
fallbackUrl: string | null | undefined,
|
|
373
382
|
range: CustomMarkersRange | null | undefined,
|
|
374
|
-
maxIconSize
|
|
383
|
+
{fallbackUrl, maxIconSize, useMaskedIcons},
|
|
375
384
|
data: any
|
|
376
385
|
) {
|
|
377
386
|
const urlToUnpackedIcon = (url: string) => ({
|
|
@@ -379,7 +388,7 @@ export function getIconUrlAccessor(
|
|
|
379
388
|
url,
|
|
380
389
|
width: maxIconSize,
|
|
381
390
|
height: maxIconSize,
|
|
382
|
-
mask:
|
|
391
|
+
mask: useMaskedIcons
|
|
383
392
|
});
|
|
384
393
|
let unknownValue = fallbackUrl || FALLBACK_ICON;
|
|
385
394
|
|
|
@@ -28,6 +28,7 @@ import {assert} from '../utils';
|
|
|
28
28
|
|
|
29
29
|
const MAX_GET_LENGTH = 2048;
|
|
30
30
|
const DEFAULT_CLIENT = 'deck-gl-carto';
|
|
31
|
+
const V3_MINOR_VERSION = '3.1';
|
|
31
32
|
|
|
32
33
|
export type Headers = Record<string, string>;
|
|
33
34
|
interface RequestParams {
|
|
@@ -151,6 +152,7 @@ function getParameters({
|
|
|
151
152
|
queryParameters
|
|
152
153
|
}: Omit<FetchLayerDataParams, 'connection' | 'credentials'>) {
|
|
153
154
|
const parameters = [encodeParameter('client', clientId || DEFAULT_CLIENT)];
|
|
155
|
+
parameters.push(encodeParameter('v', V3_MINOR_VERSION));
|
|
154
156
|
|
|
155
157
|
const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';
|
|
156
158
|
parameters.push(encodeParameter(sourceName, source));
|
package/src/api/parseMap.ts
CHANGED
|
@@ -18,7 +18,7 @@ import {assert} from '../utils';
|
|
|
18
18
|
import {MapDataset, MapTextSubLayerConfig, VisualChannels} from './types';
|
|
19
19
|
|
|
20
20
|
export function parseMap(json) {
|
|
21
|
-
const {keplerMapConfig, datasets} = json;
|
|
21
|
+
const {keplerMapConfig, datasets, token} = json;
|
|
22
22
|
assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');
|
|
23
23
|
const {mapState, mapStyle} = keplerMapConfig.config;
|
|
24
24
|
const {layers, layerBlending, interactionConfig} = keplerMapConfig.config.visState;
|
|
@@ -31,6 +31,7 @@ export function parseMap(json) {
|
|
|
31
31
|
updatedAt: json.updatedAt,
|
|
32
32
|
initialViewState: mapState,
|
|
33
33
|
mapStyle,
|
|
34
|
+
token,
|
|
34
35
|
layers: extractTextLayers(layers.reverse()).map(({id, type, config, visualChannels}) => {
|
|
35
36
|
try {
|
|
36
37
|
const {dataId} = config;
|
|
@@ -39,14 +40,16 @@ export function parseMap(json) {
|
|
|
39
40
|
const {data} = dataset;
|
|
40
41
|
assert(data, `No data loaded for dataId: ${dataId}`);
|
|
41
42
|
const {Layer, propMap, defaultProps} = getLayer(type, config, dataset);
|
|
43
|
+
const styleProps = createStyleProps(config, propMap);
|
|
42
44
|
return new Layer({
|
|
43
45
|
id,
|
|
44
46
|
data,
|
|
45
47
|
...defaultProps,
|
|
46
|
-
...createBlendingProps(layerBlending),
|
|
47
48
|
...(!config.textLabel && createInteractionProps(interactionConfig)),
|
|
48
|
-
...
|
|
49
|
-
...createChannelProps(visualChannels, type, config, data) // Must come after style
|
|
49
|
+
...styleProps,
|
|
50
|
+
...createChannelProps(visualChannels, type, config, data), // Must come after style
|
|
51
|
+
...createParametersProp(layerBlending, styleProps.parameters || {}), // Must come after style
|
|
52
|
+
...createLoadOptions(token)
|
|
50
53
|
});
|
|
51
54
|
} catch (e: any) {
|
|
52
55
|
log.error(e.message)();
|
|
@@ -84,24 +87,16 @@ function extractTextLayers(layers) {
|
|
|
84
87
|
);
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
function
|
|
90
|
+
function createParametersProp(layerBlending, parameters: Record<string, any>) {
|
|
88
91
|
if (layerBlending === 'additive') {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
blendFunc: [GL.SRC_ALPHA, GL.DST_ALPHA],
|
|
92
|
-
blendEquation: GL.FUNC_ADD
|
|
93
|
-
}
|
|
94
|
-
};
|
|
92
|
+
parameters.blendFunc = [GL.SRC_ALPHA, GL.DST_ALPHA];
|
|
93
|
+
parameters.blendEquation = GL.FUNC_ADD;
|
|
95
94
|
} else if (layerBlending === 'subtractive') {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
blendFunc: [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA],
|
|
99
|
-
blendEquation: [GL.FUNC_SUBTRACT, GL.FUNC_ADD]
|
|
100
|
-
}
|
|
101
|
-
};
|
|
95
|
+
parameters.blendFunc = [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA];
|
|
96
|
+
parameters.blendEquation = [GL.FUNC_SUBTRACT, GL.FUNC_ADD];
|
|
102
97
|
}
|
|
103
98
|
|
|
104
|
-
return {};
|
|
99
|
+
return Object.keys(parameters).length ? {parameters} : {};
|
|
105
100
|
}
|
|
106
101
|
|
|
107
102
|
function createInteractionProps(interactionConfig) {
|
|
@@ -204,6 +199,21 @@ function createChannelProps(
|
|
|
204
199
|
);
|
|
205
200
|
}
|
|
206
201
|
|
|
202
|
+
if (type === 'point') {
|
|
203
|
+
const altitude = config.columns?.altitude;
|
|
204
|
+
if (altitude) {
|
|
205
|
+
result.dataTransform = data => {
|
|
206
|
+
data.features.forEach(({geometry, properties}) => {
|
|
207
|
+
const {type, coordinates} = geometry;
|
|
208
|
+
if (type === 'Point') {
|
|
209
|
+
coordinates[2] = properties[altitude];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
return data;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
207
217
|
if (radiusField || sizeField) {
|
|
208
218
|
result.getPointRadius = getSizeAccessor(
|
|
209
219
|
// @ts-ignore
|
|
@@ -251,12 +261,13 @@ function createChannelProps(
|
|
|
251
261
|
} else if (visConfig.customMarkers) {
|
|
252
262
|
const maxIconSize = getMaxMarkerSize(visConfig, visualChannels);
|
|
253
263
|
const {getPointRadius, getFillColor} = result;
|
|
264
|
+
const {customMarkersUrl, customMarkersRange, filled: useMaskedIcons} = visConfig;
|
|
265
|
+
|
|
254
266
|
result.pointType = 'icon';
|
|
255
267
|
result.getIcon = getIconUrlAccessor(
|
|
256
268
|
visualChannels.customMarkersField,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
maxIconSize,
|
|
269
|
+
customMarkersRange,
|
|
270
|
+
{fallbackUrl: customMarkersUrl, maxIconSize, useMaskedIcons},
|
|
260
271
|
data
|
|
261
272
|
);
|
|
262
273
|
result._subLayerProps = {
|
|
@@ -274,7 +285,7 @@ function createChannelProps(
|
|
|
274
285
|
}
|
|
275
286
|
};
|
|
276
287
|
|
|
277
|
-
if (getFillColor) {
|
|
288
|
+
if (getFillColor && useMaskedIcons) {
|
|
278
289
|
result.getIconColor = getFillColor;
|
|
279
290
|
}
|
|
280
291
|
|
|
@@ -291,3 +302,9 @@ function createChannelProps(
|
|
|
291
302
|
|
|
292
303
|
return result;
|
|
293
304
|
}
|
|
305
|
+
|
|
306
|
+
function createLoadOptions(accessToken: string) {
|
|
307
|
+
return {
|
|
308
|
+
loadOptions: {fetch: {headers: {Authorization: `Bearer ${accessToken}`}}}
|
|
309
|
+
};
|
|
310
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -3,11 +3,6 @@ export {default as CartoLayer} from './layers/carto-layer';
|
|
|
3
3
|
export {default as _CartoTileLayer} from './layers/carto-tile-layer';
|
|
4
4
|
export {default as _H3TileLayer} from './layers/h3-tile-layer';
|
|
5
5
|
export {default as _QuadbinTileLayer} from './layers/quadbin-tile-layer';
|
|
6
|
-
export {
|
|
7
|
-
tileToQuadbin as _tileToQuadbin,
|
|
8
|
-
quadbinToTile as _quadbinToTile,
|
|
9
|
-
quadbinZoom as _quadbinZoom
|
|
10
|
-
} from './layers/quadbin-utils';
|
|
11
6
|
export {default as BASEMAP} from './basemap';
|
|
12
7
|
export {default as colorBins} from './style/color-bins-style';
|
|
13
8
|
export {default as colorCategories} from './style/color-categories-style';
|
|
@@ -305,11 +305,17 @@ export default class CartoLayer<ExtraProps = {}> extends CompositeLayer<
|
|
|
305
305
|
renderLayers(): Layer | null {
|
|
306
306
|
assert(this.state);
|
|
307
307
|
|
|
308
|
-
const {data} = this.state;
|
|
308
|
+
const {apiVersion, data} = this.state;
|
|
309
309
|
|
|
310
310
|
if (!data) return null;
|
|
311
311
|
|
|
312
|
-
const {updateTriggers} = this.props;
|
|
312
|
+
const {credentials, updateTriggers} = this.props;
|
|
313
|
+
const loadOptions: any = {};
|
|
314
|
+
if (apiVersion === API_VERSIONS.V3) {
|
|
315
|
+
const localConfig = {...getDefaultCredentials(), ...credentials} as CloudNativeCredentials;
|
|
316
|
+
const {accessToken} = localConfig;
|
|
317
|
+
loadOptions.fetch = {headers: {Authorization: `Bearer ${accessToken}`}};
|
|
318
|
+
}
|
|
313
319
|
|
|
314
320
|
const [layer, props] = this._getSubLayerAndProps();
|
|
315
321
|
|
|
@@ -319,6 +325,7 @@ export default class CartoLayer<ExtraProps = {}> extends CompositeLayer<
|
|
|
319
325
|
this.getSubLayerProps({
|
|
320
326
|
id: `carto-${layer.layerName}`,
|
|
321
327
|
data,
|
|
328
|
+
loadOptions,
|
|
322
329
|
updateTriggers
|
|
323
330
|
})
|
|
324
331
|
);
|
|
@@ -94,7 +94,13 @@ export default class H3TileLayer<DataT = any, ExtraPropsT = {}> extends Composit
|
|
|
94
94
|
renderSubLayers,
|
|
95
95
|
// minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects
|
|
96
96
|
minZoom: minresolution,
|
|
97
|
-
maxZoom: maxresolution
|
|
97
|
+
maxZoom: maxresolution,
|
|
98
|
+
loadOptions: {
|
|
99
|
+
...this.getLoadOptions(),
|
|
100
|
+
cartoSpatialTile: {
|
|
101
|
+
scheme: 'h3'
|
|
102
|
+
}
|
|
103
|
+
}
|
|
98
104
|
})
|
|
99
105
|
];
|
|
100
106
|
}
|
|
@@ -19,7 +19,7 @@ type _QuadbinLayerProps<DataT> = {
|
|
|
19
19
|
*
|
|
20
20
|
* By default, it reads `quadbin` property of data object.
|
|
21
21
|
*/
|
|
22
|
-
getQuadbin?: AccessorFunction<DataT,
|
|
22
|
+
getQuadbin?: AccessorFunction<DataT, bigint>;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export default class QuadbinLayer<DataT = any, ExtraProps = {}> extends GeoCellLayer<
|
|
@@ -64,7 +64,13 @@ export default class QuadbinTileLayer<DataT = any, ExtraProps = {}> extends Comp
|
|
|
64
64
|
// TODO: Tileset2D should be generic over TileIndex type
|
|
65
65
|
TilesetClass: QuadbinTileset2D as any,
|
|
66
66
|
renderSubLayers,
|
|
67
|
-
maxZoom
|
|
67
|
+
maxZoom,
|
|
68
|
+
loadOptions: {
|
|
69
|
+
...this.getLoadOptions(),
|
|
70
|
+
cartoSpatialTile: {
|
|
71
|
+
scheme: 'quadbin'
|
|
72
|
+
}
|
|
73
|
+
}
|
|
68
74
|
})
|
|
69
75
|
];
|
|
70
76
|
}
|
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';
|
|
2
|
-
import {
|
|
2
|
+
import {bigIntToHex, cellToParent, cellToTile, getResolution, tileToCell} from 'quadbin';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// For calculations bigint representation is used, but
|
|
5
|
+
// for constructing URL also provide the hexidecimal value
|
|
6
|
+
type QuadbinTileIndex = {q: bigint; i?: string};
|
|
5
7
|
|
|
6
8
|
export default class QuadbinTileset2D extends Tileset2D {
|
|
7
9
|
// @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT
|
|
8
10
|
getTileIndices(opts): QuadbinTileIndex[] {
|
|
9
11
|
return super
|
|
10
12
|
.getTileIndices(opts)
|
|
11
|
-
.map(
|
|
12
|
-
.map(
|
|
13
|
+
.map(tileToCell)
|
|
14
|
+
.map(q => ({q, i: bigIntToHex(q)}));
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
// @ts-expect-error TileIndex must be generic
|
|
16
|
-
getTileId({i}: QuadbinTileIndex): string {
|
|
17
|
-
return i;
|
|
18
|
+
getTileId({q, i}: QuadbinTileIndex): string {
|
|
19
|
+
return i || bigIntToHex(q);
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
// @ts-expect-error TileIndex must be generic
|
|
21
|
-
getTileMetadata({
|
|
22
|
-
return super.getTileMetadata(
|
|
23
|
+
getTileMetadata({q}: QuadbinTileIndex) {
|
|
24
|
+
return super.getTileMetadata(cellToTile(q));
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
// @ts-expect-error TileIndex must be generic
|
|
26
|
-
getTileZoom({
|
|
27
|
-
return Number(
|
|
28
|
+
getTileZoom({q}: QuadbinTileIndex): number {
|
|
29
|
+
return Number(getResolution(q));
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
// @ts-expect-error TileIndex must be generic
|
|
31
|
-
getParentIndex({
|
|
32
|
-
return {
|
|
33
|
+
getParentIndex({q}: QuadbinTileIndex): QuadbinTileIndex {
|
|
34
|
+
return {q: cellToParent(q)};
|
|
33
35
|
}
|
|
34
36
|
}
|
|
@@ -1,91 +1,10 @@
|
|
|
1
1
|
import {worldToLngLat} from '@math.gl/web-mercator';
|
|
2
|
+
import {cellToTile} from 'quadbin';
|
|
2
3
|
|
|
3
4
|
const TILE_SIZE = 512;
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
0x3333333333333333n,
|
|
8
|
-
0x0f0f0f0f0f0f0f0fn,
|
|
9
|
-
0x00ff00ff00ff00ffn,
|
|
10
|
-
0x0000ffff0000ffffn,
|
|
11
|
-
0x00000000ffffffffn
|
|
12
|
-
];
|
|
13
|
-
const S = [0n, 1n, 2n, 4n, 8n, 16n];
|
|
14
|
-
|
|
15
|
-
export function indexToBigInt(index: string): bigint {
|
|
16
|
-
return BigInt(`0x${index}`);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function bigIntToIndex(quadbin: bigint): string {
|
|
20
|
-
return quadbin.toString(16);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function tileToQuadbin(tile): string {
|
|
24
|
-
if (tile.z < 0 || tile.z > 26) {
|
|
25
|
-
throw new Error('Wrong zoom');
|
|
26
|
-
}
|
|
27
|
-
const z = BigInt(tile.z);
|
|
28
|
-
let x = BigInt(tile.x) << (32n - z);
|
|
29
|
-
let y = BigInt(tile.y) << (32n - z);
|
|
30
|
-
|
|
31
|
-
for (let i = 0; i < 5; i++) {
|
|
32
|
-
const s = S[5 - i];
|
|
33
|
-
const b = B[4 - i];
|
|
34
|
-
x = (x | (x << s)) & b;
|
|
35
|
-
y = (y | (y << s)) & b;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const quadbin =
|
|
39
|
-
0x4000000000000000n |
|
|
40
|
-
(1n << 59n) | // | (mode << 59) | (mode_dep << 57)
|
|
41
|
-
(z << 52n) |
|
|
42
|
-
((x | (y << 1n)) >> 12n) |
|
|
43
|
-
(0xfffffffffffffn >> (z * 2n));
|
|
44
|
-
return bigIntToIndex(quadbin);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function quadbinToTile(index: string) {
|
|
48
|
-
const quadbin = indexToBigInt(index);
|
|
49
|
-
const mode = (quadbin >> 59n) & 7n;
|
|
50
|
-
const modeDep = (quadbin >> 57n) & 3n;
|
|
51
|
-
const z = (quadbin >> 52n) & 0x1fn;
|
|
52
|
-
const q = (quadbin & 0xfffffffffffffn) << 12n;
|
|
53
|
-
|
|
54
|
-
if (mode !== 1n && modeDep !== 0n) {
|
|
55
|
-
throw new Error('Wrong mode');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
let x = q;
|
|
59
|
-
let y = q >> 1n;
|
|
60
|
-
|
|
61
|
-
for (let i = 0; i < 6; i++) {
|
|
62
|
-
const s = S[i];
|
|
63
|
-
const b = B[i];
|
|
64
|
-
x = (x | (x >> s)) & b;
|
|
65
|
-
y = (y | (y >> s)) & b;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
x = x >> (32n - z);
|
|
69
|
-
y = y >> (32n - z);
|
|
70
|
-
|
|
71
|
-
return {z: Number(z), x: Number(x), y: Number(y)};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export function quadbinZoom(index: string) {
|
|
75
|
-
const quadbin = indexToBigInt(index);
|
|
76
|
-
return (quadbin >> 52n) & 0x1fn;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export function quadbinParent(index: string) {
|
|
80
|
-
const quadbin = indexToBigInt(index);
|
|
81
|
-
const zparent = quadbinZoom(index) - 1n;
|
|
82
|
-
const parent =
|
|
83
|
-
(quadbin & ~(0x1fn << 52n)) | (zparent << 52n) | (0xfffffffffffffn >> (zparent * 2n));
|
|
84
|
-
return bigIntToIndex(parent);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export function quadbinToWorldBounds(quadbin: string): [number[], number[]] {
|
|
88
|
-
const {x, y, z} = quadbinToTile(quadbin);
|
|
6
|
+
export function quadbinToWorldBounds(quadbin: bigint): [number[], number[]] {
|
|
7
|
+
const {x, y, z} = cellToTile(quadbin);
|
|
89
8
|
const mask = 1 << z;
|
|
90
9
|
const scale = mask / TILE_SIZE;
|
|
91
10
|
return [
|
|
@@ -94,7 +13,7 @@ export function quadbinToWorldBounds(quadbin: string): [number[], number[]] {
|
|
|
94
13
|
];
|
|
95
14
|
}
|
|
96
15
|
|
|
97
|
-
export function getQuadbinPolygon(quadbin:
|
|
16
|
+
export function getQuadbinPolygon(quadbin: bigint): number[] {
|
|
98
17
|
const [topLeft, bottomRight] = quadbinToWorldBounds(quadbin);
|
|
99
18
|
const [w, n] = worldToLngLat(topLeft);
|
|
100
19
|
const [e, s] = worldToLngLat(bottomRight);
|
|
@@ -2,7 +2,7 @@ import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
|
2
2
|
|
|
3
3
|
import {Tile, TileReader} from './carto-spatial-tile';
|
|
4
4
|
import {parsePbf, unpackProperties} from './tile-loader-utils';
|
|
5
|
-
import {binaryToSpatialjson, SpatialJson} from './spatialjson-utils';
|
|
5
|
+
import {IndexScheme, binaryToSpatialjson, SpatialJson} from './spatialjson-utils';
|
|
6
6
|
|
|
7
7
|
const CartoSpatialTileLoader: LoaderWithParser = {
|
|
8
8
|
name: 'CARTO Spatial Tile',
|
|
@@ -15,7 +15,11 @@ const CartoSpatialTileLoader: LoaderWithParser = {
|
|
|
15
15
|
worker: false,
|
|
16
16
|
parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),
|
|
17
17
|
parseSync: parseCartoSpatialTile,
|
|
18
|
-
options: {
|
|
18
|
+
options: {
|
|
19
|
+
cartoSpatialTile: {
|
|
20
|
+
scheme: 'quadbin'
|
|
21
|
+
} as {scheme: IndexScheme}
|
|
22
|
+
}
|
|
19
23
|
};
|
|
20
24
|
|
|
21
25
|
function parseCartoSpatialTile(
|
|
@@ -26,8 +30,10 @@ function parseCartoSpatialTile(
|
|
|
26
30
|
const tile: Tile = parsePbf(arrayBuffer, TileReader);
|
|
27
31
|
|
|
28
32
|
const {cells} = tile;
|
|
33
|
+
const scheme = options?.cartoSpatialTile?.scheme;
|
|
29
34
|
const data = {
|
|
30
|
-
cells: {...cells, properties: unpackProperties(cells.properties)}
|
|
35
|
+
cells: {...cells, properties: unpackProperties(cells.properties)},
|
|
36
|
+
scheme
|
|
31
37
|
};
|
|
32
38
|
|
|
33
39
|
return binaryToSpatialjson(data);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {bigIntToHex} from 'quadbin';
|
|
2
2
|
|
|
3
3
|
export type IndexScheme = 'h3' | 'quadbin';
|
|
4
4
|
type TypedArray = Float32Array | Float64Array;
|
|
@@ -13,16 +13,16 @@ export type Cells = {
|
|
|
13
13
|
};
|
|
14
14
|
export type SpatialBinary = {scheme?: IndexScheme; cells: Cells};
|
|
15
15
|
export type SpatialJson = {
|
|
16
|
-
id: string;
|
|
16
|
+
id: string | bigint;
|
|
17
17
|
properties: Properties;
|
|
18
18
|
}[];
|
|
19
19
|
|
|
20
20
|
export function binaryToSpatialjson(binary: SpatialBinary): SpatialJson {
|
|
21
|
-
const {cells} = binary;
|
|
21
|
+
const {cells, scheme} = binary;
|
|
22
22
|
const count = cells.indices.value.length;
|
|
23
23
|
const spatial: any[] = [];
|
|
24
24
|
for (let i = 0; i < count; i++) {
|
|
25
|
-
const id =
|
|
25
|
+
const id = scheme === 'h3' ? bigIntToHex(cells.indices.value[i]) : cells.indices.value[i];
|
|
26
26
|
|
|
27
27
|
const properties = {...cells.properties[i]};
|
|
28
28
|
for (const key of Object.keys(cells.numericProps)) {
|
package/typed/api/layer-map.d.ts
CHANGED
|
@@ -47,7 +47,11 @@ export declare function getColorAccessor({ name }: {
|
|
|
47
47
|
colorMap: any;
|
|
48
48
|
};
|
|
49
49
|
}, opacity: number | undefined, data: any): any;
|
|
50
|
-
export declare function getIconUrlAccessor(field: VisualChannelField | null | undefined,
|
|
50
|
+
export declare function getIconUrlAccessor(field: VisualChannelField | null | undefined, range: CustomMarkersRange | null | undefined, { fallbackUrl, maxIconSize, useMaskedIcons }: {
|
|
51
|
+
fallbackUrl: any;
|
|
52
|
+
maxIconSize: any;
|
|
53
|
+
useMaskedIcons: any;
|
|
54
|
+
}, data: any): any;
|
|
51
55
|
export declare function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number;
|
|
52
56
|
export declare function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number>;
|
|
53
57
|
export declare function getSizeAccessor({ name }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer-map.d.ts","sourceRoot":"","sources":["../../src/api/layer-map.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACf,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,IAAI,aAAa,EAAC,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAiB,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,WAAW;;;;;;;;;CAShB,CAAC;AACF,oBAAY,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAQlD,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;CAIvB,CAAC;
|
|
1
|
+
{"version":3,"file":"layer-map.d.ts","sourceRoot":"","sources":["../../src/api/layer-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps-v3-client.d.ts","sourceRoot":"","sources":["../../src/api/maps-v3-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIL,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAIL,MAAM,EAGN,gBAAgB,EAChB,OAAO,EAEP,eAAe,EACf,WAAW,EACX,UAAU,EAEX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"maps-v3-client.d.ts","sourceRoot":"","sources":["../../src/api/maps-v3-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAIL,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAIL,MAAM,EAGN,gBAAgB,EAChB,OAAO,EAEP,eAAe,EACf,WAAW,EACX,UAAU,EAEX,MAAM,mBAAmB,CAAC;AAS3B,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA4F7C,aAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,sBAAsB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAiDF,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,eAAe,EAChB,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBlD;AAsDD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AACD,wBAAsB,cAAc,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,eAAe,EAChB,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsBtD;AA6MD,wBAAsB,QAAQ,CAAC,EAC7B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACV,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;4BA8B6B,IAAI;;;;;;;;;;GAmCjC"}
|
package/typed/api/parseMap.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseMap.d.ts","sourceRoot":"","sources":["../../src/api/parseMap.ts"],"names":[],"mappings":"AAmBA,wBAAgB,QAAQ,CAAC,IAAI,KAAA
|
|
1
|
+
{"version":3,"file":"parseMap.d.ts","sourceRoot":"","sources":["../../src/api/parseMap.ts"],"names":[],"mappings":"AAmBA,wBAAgB,QAAQ,CAAC,IAAI,KAAA;;;;;;;;;;EAwC5B"}
|
package/typed/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export { default as CartoLayer } from './layers/carto-layer';
|
|
|
3
3
|
export { default as _CartoTileLayer } from './layers/carto-tile-layer';
|
|
4
4
|
export { default as _H3TileLayer } from './layers/h3-tile-layer';
|
|
5
5
|
export { default as _QuadbinTileLayer } from './layers/quadbin-tile-layer';
|
|
6
|
-
export { tileToQuadbin as _tileToQuadbin, quadbinToTile as _quadbinToTile, quadbinZoom as _quadbinZoom } from './layers/quadbin-utils';
|
|
7
6
|
export { default as BASEMAP } from './basemap';
|
|
8
7
|
export { default as colorBins } from './style/color-bins-style';
|
|
9
8
|
export { default as colorCategories } from './style/color-categories-style';
|
package/typed/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EACL,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,SAAS,IAAI,UAAU,EACvB,gBAAgB,IAAI,iBAAiB,EACtC,MAAM,OAAO,CAAC;AACf,YAAY,EAAC,eAAe,EAAC,MAAM,OAAO,CAAC;AAC3C,YAAY,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carto-layer.d.ts","sourceRoot":"","sources":["../../src/layers/carto-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EAEV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAKvB,OAAO,EAIL,OAAO,EAEP,UAAU,EACV,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,WAAW,EAEZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAuB,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAiDpE,8CAA8C;AAC9C,oBAAY,eAAe,CAAC,KAAK,GAAG,GAAG,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEzF,sCAAsC;AACtC,aAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kDAAkD;IAClD,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACrE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,UAAU,CACxC;IACC,MAAM,CAAC,SAAS,SAAgB;IAChC,MAAM,CAAC,YAAY,MAAuB;IAE1C,eAAe,IAAI,IAAI;IAOvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAuCzC,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAqB5D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsClC,oBAAoB,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC;IAuBzC,YAAY,IAAI,KAAK,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"carto-layer.d.ts","sourceRoot":"","sources":["../../src/layers/carto-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EAEV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAKvB,OAAO,EAIL,OAAO,EAEP,UAAU,EACV,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,WAAW,EAEZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAuB,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAiDpE,8CAA8C;AAC9C,oBAAY,eAAe,CAAC,KAAK,GAAG,GAAG,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEzF,sCAAsC;AACtC,aAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kDAAkD;IAClD,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACrE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,UAAU,CACxC;IACC,MAAM,CAAC,SAAS,SAAgB;IAChC,MAAM,CAAC,YAAY,MAAuB;IAE1C,eAAe,IAAI,IAAI;IAOvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAuCzC,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAqB5D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsClC,oBAAoB,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC;IAuBzC,YAAY,IAAI,KAAK,GAAG,IAAI;CA4B7B"}
|
|
@@ -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;IAKvB,WAAW,CAAC,EAAC,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IASxD,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;
|
|
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;CAyC1C"}
|
|
@@ -9,7 +9,7 @@ declare type _QuadbinLayerProps<DataT> = {
|
|
|
9
9
|
*
|
|
10
10
|
* By default, it reads `quadbin` property of data object.
|
|
11
11
|
*/
|
|
12
|
-
getQuadbin?: AccessorFunction<DataT,
|
|
12
|
+
getQuadbin?: AccessorFunction<DataT, bigint>;
|
|
13
13
|
};
|
|
14
14
|
export default class QuadbinLayer<DataT = any, ExtraProps = {}> extends GeoCellLayer<DataT, Required<_QuadbinLayerProps<DataT>> & ExtraProps> {
|
|
15
15
|
static layerName: string;
|
|
@@ -1 +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;
|
|
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;CAoB1C"}
|