@deck.gl/carto 8.8.2 → 8.8.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 +298 -82
- package/dist/es5/api/layer-map.js +104 -17
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +191 -35
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +14 -4
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/config.js +11 -2
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +4 -17
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/utils.js +3 -1
- package/dist/es5/style/utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +79 -14
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +90 -3
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +18 -4
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/config.js +10 -2
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +4 -15
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-categories-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist/esm/style/utils.js +3 -1
- package/dist/esm/style/utils.js.map +1 -1
- package/dist.min.js +138 -138
- package/package.json +9 -9
- package/src/api/layer-map.ts +76 -13
- package/src/api/maps-v3-client.ts +92 -4
- package/src/api/parseMap.ts +6 -2
- package/src/config.ts +12 -2
- package/src/layers/carto-layer.ts +9 -29
- package/src/style/color-bins-style.ts +25 -3
- package/src/style/color-categories-style.ts +28 -4
- package/src/style/color-continuous-style.ts +25 -3
- package/src/style/utils.ts +8 -4
- package/typed/api/layer-map.d.ts +12 -4
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/config.d.ts +2 -0
- package/typed/config.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts +2 -7
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/style/color-bins-style.d.ts +22 -3
- package/typed/style/color-bins-style.d.ts.map +1 -1
- package/typed/style/color-categories-style.d.ts +24 -4
- package/typed/style/color-categories-style.d.ts.map +1 -1
- package/typed/style/color-continuous-style.d.ts +22 -3
- package/typed/style/color-continuous-style.d.ts.map +1 -1
- package/typed/style/utils.d.ts +3 -6
- package/typed/style/utils.d.ts.map +1 -1
package/dist/dist.dev.js
CHANGED
|
@@ -6293,13 +6293,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6293
6293
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "forEachSegmentInPolygonPoints", function() { return forEachSegmentInPolygonPoints; });
|
|
6294
6294
|
/* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
|
|
6295
6295
|
|
|
6296
|
-
|
|
6297
|
-
|
|
6298
|
-
|
|
6299
|
-
|
|
6300
|
-
WINDING[WINDING["COUNTER_CLOCKWISE"] = -1] = "COUNTER_CLOCKWISE";
|
|
6301
|
-
})(WINDING || (WINDING = {}));
|
|
6302
|
-
|
|
6296
|
+
const WINDING = {
|
|
6297
|
+
CLOCKWISE: 1,
|
|
6298
|
+
COUNTER_CLOCKWISE: -1
|
|
6299
|
+
};
|
|
6303
6300
|
function modifyPolygonWindingDirection(points, direction, options = {}) {
|
|
6304
6301
|
const windingDirection = getPolygonWindingDirection(points, options);
|
|
6305
6302
|
|
|
@@ -6822,7 +6819,7 @@ function unprojectOnFarPlane(viewport, x, targetZ) {
|
|
|
6822
6819
|
/*!****************************************************************************************!*\
|
|
6823
6820
|
!*** /Users/missx/Source/deck.gl/node_modules/@math.gl/web-mercator/dist/esm/index.js ***!
|
|
6824
6821
|
\****************************************************************************************/
|
|
6825
|
-
/*! exports provided: default, WebMercatorViewport, getBounds, fitBounds, normalizeViewportProps, flyToViewport, getFlyToDuration, MAX_LATITUDE, lngLatToWorld, worldToLngLat, worldToPixels, pixelsToWorld, zoomToScale, scaleToZoom, altitudeToFovy, fovyToAltitude, getMeterZoom, getDistanceScales, addMetersToLngLat, getViewMatrix, getProjectionMatrix, getProjectionParameters */
|
|
6822
|
+
/*! exports provided: default, WebMercatorViewport, getBounds, fitBounds, normalizeViewportProps, flyToViewport, getFlyToDuration, MAX_LATITUDE, lngLatToWorld, worldToLngLat, worldToPixels, pixelsToWorld, zoomToScale, scaleToZoom, altitudeToFovy, fovyToAltitude, getMeterZoom, unitsPerMeter, getDistanceScales, addMetersToLngLat, getViewMatrix, getProjectionMatrix, getProjectionParameters */
|
|
6826
6823
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
6827
6824
|
|
|
6828
6825
|
"use strict";
|
|
@@ -6867,6 +6864,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6867
6864
|
|
|
6868
6865
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getMeterZoom", function() { return _web_mercator_utils__WEBPACK_IMPORTED_MODULE_5__["getMeterZoom"]; });
|
|
6869
6866
|
|
|
6867
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unitsPerMeter", function() { return _web_mercator_utils__WEBPACK_IMPORTED_MODULE_5__["unitsPerMeter"]; });
|
|
6868
|
+
|
|
6870
6869
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDistanceScales", function() { return _web_mercator_utils__WEBPACK_IMPORTED_MODULE_5__["getDistanceScales"]; });
|
|
6871
6870
|
|
|
6872
6871
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "addMetersToLngLat", function() { return _web_mercator_utils__WEBPACK_IMPORTED_MODULE_5__["addMetersToLngLat"]; });
|
|
@@ -7007,7 +7006,7 @@ function normalizeViewportProps(props) {
|
|
|
7007
7006
|
/*!*****************************************************************************************************!*\
|
|
7008
7007
|
!*** /Users/missx/Source/deck.gl/node_modules/@math.gl/web-mercator/dist/esm/web-mercator-utils.js ***!
|
|
7009
7008
|
\*****************************************************************************************************/
|
|
7010
|
-
/*! exports provided: MAX_LATITUDE, DEFAULT_ALTITUDE, zoomToScale, scaleToZoom, lngLatToWorld, worldToLngLat, getMeterZoom, getDistanceScales, addMetersToLngLat, getViewMatrix, getProjectionParameters, getProjectionMatrix, altitudeToFovy, fovyToAltitude, worldToPixels, pixelsToWorld */
|
|
7009
|
+
/*! exports provided: MAX_LATITUDE, DEFAULT_ALTITUDE, zoomToScale, scaleToZoom, lngLatToWorld, worldToLngLat, getMeterZoom, unitsPerMeter, getDistanceScales, addMetersToLngLat, getViewMatrix, getProjectionParameters, getProjectionMatrix, altitudeToFovy, fovyToAltitude, worldToPixels, pixelsToWorld */
|
|
7011
7010
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7012
7011
|
|
|
7013
7012
|
"use strict";
|
|
@@ -7019,6 +7018,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7019
7018
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lngLatToWorld", function() { return lngLatToWorld; });
|
|
7020
7019
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "worldToLngLat", function() { return worldToLngLat; });
|
|
7021
7020
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMeterZoom", function() { return getMeterZoom; });
|
|
7021
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unitsPerMeter", function() { return unitsPerMeter; });
|
|
7022
7022
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDistanceScales", function() { return getDistanceScales; });
|
|
7023
7023
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addMetersToLngLat", function() { return addMetersToLngLat; });
|
|
7024
7024
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getViewMatrix", function() { return getViewMatrix; });
|
|
@@ -7076,6 +7076,10 @@ function getMeterZoom(options) {
|
|
|
7076
7076
|
const latCosine = Math.cos(latitude * DEGREES_TO_RADIANS);
|
|
7077
7077
|
return scaleToZoom(EARTH_CIRCUMFERENCE * latCosine) - 9;
|
|
7078
7078
|
}
|
|
7079
|
+
function unitsPerMeter(latitude) {
|
|
7080
|
+
const latCosine = Math.cos(latitude * DEGREES_TO_RADIANS);
|
|
7081
|
+
return TILE_SIZE / EARTH_CIRCUMFERENCE / latCosine;
|
|
7082
|
+
}
|
|
7079
7083
|
function getDistanceScales(options) {
|
|
7080
7084
|
const {
|
|
7081
7085
|
latitude,
|
|
@@ -7152,6 +7156,9 @@ function getProjectionParameters(options) {
|
|
|
7152
7156
|
height,
|
|
7153
7157
|
altitude,
|
|
7154
7158
|
pitch = 0,
|
|
7159
|
+
offset,
|
|
7160
|
+
center,
|
|
7161
|
+
scale,
|
|
7155
7162
|
nearZMultiplier = 1,
|
|
7156
7163
|
farZMultiplier = 1
|
|
7157
7164
|
} = options;
|
|
@@ -7163,17 +7170,26 @@ function getProjectionParameters(options) {
|
|
|
7163
7170
|
fovy = altitudeToFovy(altitude);
|
|
7164
7171
|
}
|
|
7165
7172
|
|
|
7166
|
-
const
|
|
7167
|
-
const focalDistance = fovyToAltitude(fovy);
|
|
7173
|
+
const fovRadians = fovy * DEGREES_TO_RADIANS;
|
|
7168
7174
|
const pitchRadians = pitch * DEGREES_TO_RADIANS;
|
|
7169
|
-
const
|
|
7170
|
-
|
|
7175
|
+
const focalDistance = fovyToAltitude(fovy);
|
|
7176
|
+
let cameraToSeaLevelDistance = focalDistance;
|
|
7177
|
+
|
|
7178
|
+
if (center) {
|
|
7179
|
+
cameraToSeaLevelDistance += center[2] * scale / Math.cos(pitchRadians) / height;
|
|
7180
|
+
}
|
|
7181
|
+
|
|
7182
|
+
const fovAboveCenter = fovRadians * (0.5 + (offset ? offset[1] : 0) / height);
|
|
7183
|
+
const topHalfSurfaceDistance = Math.sin(fovAboveCenter) * cameraToSeaLevelDistance / Math.sin(Object(_math_utils__WEBPACK_IMPORTED_MODULE_0__["clamp"])(Math.PI / 2 - pitchRadians - fovAboveCenter, 0.01, Math.PI - 0.01));
|
|
7184
|
+
const furthestDistance = Math.sin(pitchRadians) * topHalfSurfaceDistance + cameraToSeaLevelDistance;
|
|
7185
|
+
const horizonDistance = cameraToSeaLevelDistance * 10;
|
|
7186
|
+
const farZ = Math.min(furthestDistance * farZMultiplier, horizonDistance);
|
|
7171
7187
|
return {
|
|
7172
|
-
fov:
|
|
7188
|
+
fov: fovRadians,
|
|
7173
7189
|
aspect: width / height,
|
|
7174
7190
|
focalDistance,
|
|
7175
7191
|
near: nearZMultiplier,
|
|
7176
|
-
far: farZ
|
|
7192
|
+
far: farZ
|
|
7177
7193
|
};
|
|
7178
7194
|
}
|
|
7179
7195
|
function getProjectionMatrix(options) {
|
|
@@ -7377,6 +7393,8 @@ class WebMercatorViewport {
|
|
|
7377
7393
|
this.projectionMatrix = Object(_web_mercator_utils__WEBPACK_IMPORTED_MODULE_2__["getProjectionMatrix"])({
|
|
7378
7394
|
width,
|
|
7379
7395
|
height,
|
|
7396
|
+
scale,
|
|
7397
|
+
center,
|
|
7380
7398
|
pitch,
|
|
7381
7399
|
fovy,
|
|
7382
7400
|
nearZMultiplier,
|
|
@@ -46658,7 +46676,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46658
46676
|
/*!******************************!*\
|
|
46659
46677
|
!*** ./src/api/layer-map.ts ***!
|
|
46660
46678
|
\******************************/
|
|
46661
|
-
/*! exports provided: AGGREGATION, OPACITY_MAP, getLayer, opacityToAlpha, getColorValueAccessor, getColorAccessor, getSizeAccessor, getTextAccessor, getTextPixelOffsetAccessor, _domainFromValues */
|
|
46679
|
+
/*! exports provided: AGGREGATION, OPACITY_MAP, getLayer, layerFromTileDataset, opacityToAlpha, getColorValueAccessor, getColorAccessor, getSizeAccessor, getTextAccessor, getTextPixelOffsetAccessor, _domainFromValues */
|
|
46662
46680
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
46663
46681
|
|
|
46664
46682
|
"use strict";
|
|
@@ -46666,6 +46684,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46666
46684
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AGGREGATION", function() { return AGGREGATION; });
|
|
46667
46685
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OPACITY_MAP", function() { return OPACITY_MAP; });
|
|
46668
46686
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLayer", function() { return getLayer; });
|
|
46687
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "layerFromTileDataset", function() { return layerFromTileDataset; });
|
|
46669
46688
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "opacityToAlpha", function() { return opacityToAlpha; });
|
|
46670
46689
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getColorValueAccessor", function() { return getColorValueAccessor; });
|
|
46671
46690
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getColorAccessor", function() { return getColorAccessor; });
|
|
@@ -46682,8 +46701,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46682
46701
|
/* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/aggregation-layers */ "@deck.gl/core");
|
|
46683
46702
|
/* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__);
|
|
46684
46703
|
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
46685
|
-
/* harmony import */ var
|
|
46686
|
-
/* harmony import */ var
|
|
46704
|
+
/* harmony import */ var _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../layers/h3-tile-layer */ "./src/layers/h3-tile-layer.ts");
|
|
46705
|
+
/* harmony import */ var _layers_quadbin_tile_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../layers/quadbin-tile-layer */ "./src/layers/quadbin-tile-layer.ts");
|
|
46706
|
+
/* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
|
|
46707
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
46708
|
+
|
|
46709
|
+
|
|
46687
46710
|
|
|
46688
46711
|
|
|
46689
46712
|
|
|
@@ -46787,7 +46810,7 @@ function mergePropMaps(a = {}, b = {}) {
|
|
|
46787
46810
|
}
|
|
46788
46811
|
|
|
46789
46812
|
function getLayer(type, config, dataset) {
|
|
46790
|
-
if (type === 'mvt' || type === 'tileset') {
|
|
46813
|
+
if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {
|
|
46791
46814
|
return getTileLayer(dataset);
|
|
46792
46815
|
}
|
|
46793
46816
|
|
|
@@ -46859,7 +46882,7 @@ function getLayer(type, config, dataset) {
|
|
|
46859
46882
|
}
|
|
46860
46883
|
};
|
|
46861
46884
|
const layer = layerTypeDefs[type];
|
|
46862
|
-
Object(
|
|
46885
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_10__["assert"])(layer, `Unsupported layer type: ${type}`);
|
|
46863
46886
|
return { ...layer,
|
|
46864
46887
|
propMap: mergePropMaps(sharedPropMap, layer.propMap),
|
|
46865
46888
|
defaultProps: { ...defaultProps,
|
|
@@ -46867,31 +46890,60 @@ function getLayer(type, config, dataset) {
|
|
|
46867
46890
|
}
|
|
46868
46891
|
};
|
|
46869
46892
|
}
|
|
46893
|
+
function layerFromTileDataset(formatTiles = _maps_api_common__WEBPACK_IMPORTED_MODULE_9__["TILE_FORMATS"].MVT, scheme) {
|
|
46894
|
+
if (scheme === 'h3') {
|
|
46895
|
+
return _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_7__["default"];
|
|
46896
|
+
}
|
|
46897
|
+
|
|
46898
|
+
if (scheme === 'quadbin') {
|
|
46899
|
+
return _layers_quadbin_tile_layer__WEBPACK_IMPORTED_MODULE_8__["default"];
|
|
46900
|
+
}
|
|
46901
|
+
|
|
46902
|
+
if (formatTiles === _maps_api_common__WEBPACK_IMPORTED_MODULE_9__["TILE_FORMATS"].MVT) {
|
|
46903
|
+
return _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__["MVTLayer"];
|
|
46904
|
+
} // formatTiles === BINARY|JSON|GEOJSON
|
|
46905
|
+
|
|
46906
|
+
|
|
46907
|
+
return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__["default"];
|
|
46908
|
+
}
|
|
46870
46909
|
|
|
46871
46910
|
function getTileLayer(dataset) {
|
|
46872
46911
|
const {
|
|
46912
|
+
aggregationExp,
|
|
46913
|
+
aggregationResLevel,
|
|
46873
46914
|
data: {
|
|
46915
|
+
scheme,
|
|
46874
46916
|
tiles: [tileUrl]
|
|
46875
46917
|
}
|
|
46876
46918
|
} = dataset;
|
|
46877
46919
|
/* global URL */
|
|
46878
46920
|
|
|
46879
|
-
const formatTiles = new URL(tileUrl).searchParams.get('formatTiles')
|
|
46921
|
+
const formatTiles = new URL(tileUrl).searchParams.get('formatTiles');
|
|
46880
46922
|
return {
|
|
46881
|
-
Layer: formatTiles
|
|
46923
|
+
Layer: layerFromTileDataset(formatTiles, scheme),
|
|
46882
46924
|
propMap: sharedPropMap,
|
|
46883
46925
|
defaultProps: { ...defaultProps,
|
|
46884
|
-
|
|
46885
|
-
|
|
46926
|
+
...(aggregationExp && {
|
|
46927
|
+
aggregationExp
|
|
46928
|
+
}),
|
|
46929
|
+
...(aggregationResLevel && {
|
|
46930
|
+
aggregationResLevel
|
|
46931
|
+
}),
|
|
46932
|
+
formatTiles,
|
|
46933
|
+
uniqueIdProperty: 'geoid'
|
|
46886
46934
|
}
|
|
46887
46935
|
};
|
|
46888
46936
|
}
|
|
46889
46937
|
|
|
46890
|
-
function domainFromAttribute(attribute, scaleType) {
|
|
46938
|
+
function domainFromAttribute(attribute, scaleType, scaleLength) {
|
|
46891
46939
|
if (scaleType === 'ordinal' || scaleType === 'point') {
|
|
46892
46940
|
return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
|
|
46893
46941
|
}
|
|
46894
46942
|
|
|
46943
|
+
if (scaleType === 'quantile' && attribute.quantiles) {
|
|
46944
|
+
return attribute.quantiles[scaleLength];
|
|
46945
|
+
}
|
|
46946
|
+
|
|
46895
46947
|
let {
|
|
46896
46948
|
min
|
|
46897
46949
|
} = attribute;
|
|
@@ -46916,14 +46968,14 @@ function domainFromValues(values, scaleType) {
|
|
|
46916
46968
|
return Object(d3_array__WEBPACK_IMPORTED_MODULE_0__["extent"])(values);
|
|
46917
46969
|
}
|
|
46918
46970
|
|
|
46919
|
-
function calculateDomain(data, name, scaleType) {
|
|
46971
|
+
function calculateDomain(data, name, scaleType, scaleLength) {
|
|
46920
46972
|
if (data.tilestats) {
|
|
46921
46973
|
// Tileset data type
|
|
46922
46974
|
const {
|
|
46923
46975
|
attributes
|
|
46924
46976
|
} = data.tilestats.layers[0];
|
|
46925
46977
|
const attribute = attributes.find(a => a.attribute === name);
|
|
46926
|
-
return domainFromAttribute(attribute, scaleType);
|
|
46978
|
+
return domainFromAttribute(attribute, scaleType, scaleLength);
|
|
46927
46979
|
} else if (data.features) {
|
|
46928
46980
|
// GeoJSON data type
|
|
46929
46981
|
const values = data.features.map(({
|
|
@@ -46954,6 +47006,28 @@ function normalizeAccessor(accessor, data) {
|
|
|
46954
47006
|
function opacityToAlpha(opacity) {
|
|
46955
47007
|
return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;
|
|
46956
47008
|
}
|
|
47009
|
+
|
|
47010
|
+
function getAccessorKeys(name, aggregation) {
|
|
47011
|
+
let keys = [name];
|
|
47012
|
+
|
|
47013
|
+
if (aggregation) {
|
|
47014
|
+
// Snowflake will capitalized the keys, need to check lower and upper case version
|
|
47015
|
+
keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));
|
|
47016
|
+
}
|
|
47017
|
+
|
|
47018
|
+
return keys;
|
|
47019
|
+
}
|
|
47020
|
+
|
|
47021
|
+
function findAccessorKey(keys, properties) {
|
|
47022
|
+
for (const key of keys) {
|
|
47023
|
+
if (key in properties) {
|
|
47024
|
+
return [key];
|
|
47025
|
+
}
|
|
47026
|
+
}
|
|
47027
|
+
|
|
47028
|
+
throw new Error(`Could not find property for any accessor key: ${keys}`);
|
|
47029
|
+
}
|
|
47030
|
+
|
|
46957
47031
|
function getColorValueAccessor({
|
|
46958
47032
|
name
|
|
46959
47033
|
}, colorAggregation, data) {
|
|
@@ -46966,8 +47040,11 @@ function getColorValueAccessor({
|
|
|
46966
47040
|
function getColorAccessor({
|
|
46967
47041
|
name
|
|
46968
47042
|
}, scaleType, {
|
|
46969
|
-
|
|
46970
|
-
|
|
47043
|
+
aggregation,
|
|
47044
|
+
range: {
|
|
47045
|
+
colors,
|
|
47046
|
+
colorMap
|
|
47047
|
+
}
|
|
46971
47048
|
}, opacity, data) {
|
|
46972
47049
|
const scale = SCALE_FUNCS[scaleType]();
|
|
46973
47050
|
let domain = [];
|
|
@@ -46979,7 +47056,7 @@ function getColorAccessor({
|
|
|
46979
47056
|
scaleColor.push(color);
|
|
46980
47057
|
});
|
|
46981
47058
|
} else {
|
|
46982
|
-
domain = calculateDomain(data, name, scaleType);
|
|
47059
|
+
domain = calculateDomain(data, name, scaleType, colors.length);
|
|
46983
47060
|
scaleColor = colors;
|
|
46984
47061
|
}
|
|
46985
47062
|
|
|
@@ -46991,9 +47068,14 @@ function getColorAccessor({
|
|
|
46991
47068
|
scale.range(scaleColor);
|
|
46992
47069
|
scale.unknown(UNKNOWN_COLOR);
|
|
46993
47070
|
const alpha = opacityToAlpha(opacity);
|
|
47071
|
+
let accessorKeys = getAccessorKeys(name, aggregation);
|
|
46994
47072
|
|
|
46995
47073
|
const accessor = properties => {
|
|
46996
|
-
|
|
47074
|
+
if (!(accessorKeys[0] in properties)) {
|
|
47075
|
+
accessorKeys = findAccessorKey(accessorKeys, properties);
|
|
47076
|
+
}
|
|
47077
|
+
|
|
47078
|
+
const propertyValue = properties[accessorKeys[0]];
|
|
46997
47079
|
const {
|
|
46998
47080
|
r,
|
|
46999
47081
|
g,
|
|
@@ -47006,13 +47088,19 @@ function getColorAccessor({
|
|
|
47006
47088
|
}
|
|
47007
47089
|
function getSizeAccessor({
|
|
47008
47090
|
name
|
|
47009
|
-
}, scaleType, range, data) {
|
|
47091
|
+
}, scaleType, aggregation, range, data) {
|
|
47010
47092
|
const scale = SCALE_FUNCS[scaleType]();
|
|
47011
47093
|
scale.domain(calculateDomain(data, name, scaleType));
|
|
47012
47094
|
scale.range(range);
|
|
47095
|
+
let accessorKeys = getAccessorKeys(name, aggregation);
|
|
47013
47096
|
|
|
47014
47097
|
const accessor = properties => {
|
|
47015
|
-
|
|
47098
|
+
if (!(accessorKeys[0] in properties)) {
|
|
47099
|
+
accessorKeys = findAccessorKey(accessorKeys, properties);
|
|
47100
|
+
}
|
|
47101
|
+
|
|
47102
|
+
const propertyValue = properties[accessorKeys[0]];
|
|
47103
|
+
return scale(propertyValue);
|
|
47016
47104
|
};
|
|
47017
47105
|
|
|
47018
47106
|
return normalizeAccessor(accessor, data);
|
|
@@ -47481,6 +47569,9 @@ function getParameters({
|
|
|
47481
47569
|
|
|
47482
47570
|
if (aggregationExp) {
|
|
47483
47571
|
parameters.push(Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('aggregationExp', aggregationExp));
|
|
47572
|
+
} else if (isSpatialIndexGeoColumn(geoColumn)) {
|
|
47573
|
+
// Default aggregationExp required for spatial index layers
|
|
47574
|
+
parameters.push(Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('aggregationExp', '1 AS value'));
|
|
47484
47575
|
}
|
|
47485
47576
|
|
|
47486
47577
|
if (aggregationResLevel) {
|
|
@@ -47490,6 +47581,11 @@ function getParameters({
|
|
|
47490
47581
|
return parameters.join('&');
|
|
47491
47582
|
}
|
|
47492
47583
|
|
|
47584
|
+
function isSpatialIndexGeoColumn(geoColumn) {
|
|
47585
|
+
const spatialIndex = geoColumn?.split(':')[0];
|
|
47586
|
+
return spatialIndex === 'h3' || spatialIndex === 'quadbin';
|
|
47587
|
+
}
|
|
47588
|
+
|
|
47493
47589
|
async function mapInstantiation({
|
|
47494
47590
|
type,
|
|
47495
47591
|
source,
|
|
@@ -47508,8 +47604,8 @@ async function mapInstantiation({
|
|
|
47508
47604
|
geoColumn,
|
|
47509
47605
|
columns,
|
|
47510
47606
|
clientId,
|
|
47511
|
-
|
|
47512
|
-
|
|
47607
|
+
aggregationResLevel,
|
|
47608
|
+
aggregationExp
|
|
47513
47609
|
})}`;
|
|
47514
47610
|
const {
|
|
47515
47611
|
accessToken
|
|
@@ -47712,6 +47808,8 @@ async function _fetchDataUrl({
|
|
|
47712
47808
|
|
|
47713
47809
|
async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
|
|
47714
47810
|
const {
|
|
47811
|
+
aggregationExp,
|
|
47812
|
+
aggregationResLevel,
|
|
47715
47813
|
connectionName: connection,
|
|
47716
47814
|
columns,
|
|
47717
47815
|
format,
|
|
@@ -47724,6 +47822,8 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
|
|
|
47724
47822
|
url,
|
|
47725
47823
|
mapFormat
|
|
47726
47824
|
} = await _fetchDataUrl({
|
|
47825
|
+
aggregationExp,
|
|
47826
|
+
aggregationResLevel,
|
|
47727
47827
|
clientId,
|
|
47728
47828
|
credentials: { ...credentials,
|
|
47729
47829
|
accessToken
|
|
@@ -47752,6 +47852,36 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
|
|
|
47752
47852
|
return true;
|
|
47753
47853
|
}
|
|
47754
47854
|
|
|
47855
|
+
async function _fetchTilestats(attribute, dataset, accessToken, credentials) {
|
|
47856
|
+
const {
|
|
47857
|
+
connectionName: connection,
|
|
47858
|
+
source,
|
|
47859
|
+
type
|
|
47860
|
+
} = dataset;
|
|
47861
|
+
const statsUrl = Object(_config__WEBPACK_IMPORTED_MODULE_0__["buildStatsUrlFromBase"])(credentials.apiBaseUrl);
|
|
47862
|
+
let url = `${statsUrl}/${connection}/`;
|
|
47863
|
+
|
|
47864
|
+
if (type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].QUERY) {
|
|
47865
|
+
url += `${attribute}?q=${source}`;
|
|
47866
|
+
} else {
|
|
47867
|
+
// MAP_TYPE.TABLE
|
|
47868
|
+
url += `${source}/${attribute}`;
|
|
47869
|
+
}
|
|
47870
|
+
|
|
47871
|
+
const stats = await requestData({
|
|
47872
|
+
url,
|
|
47873
|
+
format: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].JSON,
|
|
47874
|
+
accessToken
|
|
47875
|
+
}); // Replace tilestats for attribute with value from API
|
|
47876
|
+
|
|
47877
|
+
const {
|
|
47878
|
+
attributes
|
|
47879
|
+
} = dataset.data.tilestats.layers[0];
|
|
47880
|
+
const index = attributes.findIndex(d => d.attribute === attribute);
|
|
47881
|
+
attributes[index] = stats;
|
|
47882
|
+
return true;
|
|
47883
|
+
}
|
|
47884
|
+
|
|
47755
47885
|
async function fillInMapDatasets({
|
|
47756
47886
|
datasets,
|
|
47757
47887
|
token
|
|
@@ -47760,6 +47890,53 @@ async function fillInMapDatasets({
|
|
|
47760
47890
|
return await Promise.all(promises);
|
|
47761
47891
|
}
|
|
47762
47892
|
|
|
47893
|
+
async function fillInTileStats({
|
|
47894
|
+
datasets,
|
|
47895
|
+
keplerMapConfig,
|
|
47896
|
+
token
|
|
47897
|
+
}, credentials) {
|
|
47898
|
+
const attributes = [];
|
|
47899
|
+
const {
|
|
47900
|
+
layers
|
|
47901
|
+
} = keplerMapConfig.config.visState;
|
|
47902
|
+
|
|
47903
|
+
for (const layer of layers) {
|
|
47904
|
+
for (const channel of Object.keys(layer.visualChannels)) {
|
|
47905
|
+
const attribute = layer.visualChannels[channel]?.name;
|
|
47906
|
+
|
|
47907
|
+
if (attribute) {
|
|
47908
|
+
const dataset = datasets.find(d => d.id === layer.config.dataId);
|
|
47909
|
+
|
|
47910
|
+
if (dataset.data.tilestats && dataset.type !== _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].TILESET) {
|
|
47911
|
+
// Only fetch stats for QUERY & TABLE map types
|
|
47912
|
+
attributes.push({
|
|
47913
|
+
attribute,
|
|
47914
|
+
dataset
|
|
47915
|
+
});
|
|
47916
|
+
}
|
|
47917
|
+
}
|
|
47918
|
+
}
|
|
47919
|
+
} // Remove duplicates to avoid repeated requests
|
|
47920
|
+
|
|
47921
|
+
|
|
47922
|
+
const filteredAttributes = [];
|
|
47923
|
+
|
|
47924
|
+
for (const a of attributes) {
|
|
47925
|
+
if (!filteredAttributes.find(({
|
|
47926
|
+
attribute,
|
|
47927
|
+
dataset
|
|
47928
|
+
}) => attribute === a.attribute && dataset === a.dataset)) {
|
|
47929
|
+
filteredAttributes.push(a);
|
|
47930
|
+
}
|
|
47931
|
+
}
|
|
47932
|
+
|
|
47933
|
+
const promises = filteredAttributes.map(({
|
|
47934
|
+
attribute,
|
|
47935
|
+
dataset
|
|
47936
|
+
}) => _fetchTilestats(attribute, dataset, token, credentials));
|
|
47937
|
+
return await Promise.all(promises);
|
|
47938
|
+
}
|
|
47939
|
+
|
|
47763
47940
|
async function fetchMap({
|
|
47764
47941
|
cartoMapId,
|
|
47765
47942
|
clientId,
|
|
@@ -47824,7 +48001,9 @@ async function fetchMap({
|
|
|
47824
48001
|
}
|
|
47825
48002
|
}); // Mutates map.datasets so that dataset.data contains data
|
|
47826
48003
|
|
|
47827
|
-
await fillInMapDatasets(map, clientId, localCreds);
|
|
48004
|
+
await fillInMapDatasets(map, clientId, localCreds); // Mutates attributes in visualChannels to contain tile stats
|
|
48005
|
+
|
|
48006
|
+
await fillInTileStats(map, localCreds);
|
|
47828
48007
|
return { ...Object(_parseMap__WEBPACK_IMPORTED_MODULE_2__["parseMap"])(map),
|
|
47829
48008
|
...{
|
|
47830
48009
|
stopAutoRefresh
|
|
@@ -48064,21 +48243,35 @@ function createChannelProps(visualChannels, type, config, data) {
|
|
|
48064
48243
|
}
|
|
48065
48244
|
}
|
|
48066
48245
|
} else if (colorField) {
|
|
48067
|
-
|
|
48246
|
+
const {
|
|
48247
|
+
colorAggregation: aggregation,
|
|
48248
|
+
colorRange: range
|
|
48249
|
+
} = visConfig;
|
|
48250
|
+
result.getFillColor = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getColorAccessor"])(colorField, colorScale, {
|
|
48251
|
+
aggregation,
|
|
48252
|
+
range
|
|
48253
|
+
}, visConfig.opacity, data);
|
|
48068
48254
|
}
|
|
48069
48255
|
|
|
48070
48256
|
if (strokeColorField) {
|
|
48071
48257
|
const fallbackOpacity = type === 'point' ? visConfig.opacity : 1;
|
|
48072
48258
|
const opacity = visConfig.strokeOpacity !== undefined ? visConfig.strokeOpacity : fallbackOpacity;
|
|
48073
|
-
|
|
48259
|
+
const {
|
|
48260
|
+
strokeColorAggregation: aggregation,
|
|
48261
|
+
strokeColorRange: range
|
|
48262
|
+
} = visConfig;
|
|
48263
|
+
result.getLineColor = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getColorAccessor"])(strokeColorField, strokeColorScale, {
|
|
48264
|
+
aggregation,
|
|
48265
|
+
range
|
|
48266
|
+
}, opacity, data);
|
|
48074
48267
|
}
|
|
48075
48268
|
|
|
48076
48269
|
if (heightField) {
|
|
48077
|
-
result.getElevation = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getSizeAccessor"])(heightField, heightScale, visConfig.heightRange || visConfig.sizeRange, data);
|
|
48270
|
+
result.getElevation = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getSizeAccessor"])(heightField, heightScale, visConfig.heightAggregation, visConfig.heightRange || visConfig.sizeRange, data);
|
|
48078
48271
|
}
|
|
48079
48272
|
|
|
48080
48273
|
if (sizeField) {
|
|
48081
|
-
result.getPointRadius = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getSizeAccessor"])(sizeField, sizeScale, visConfig.radiusRange || visConfig.sizeRange, data);
|
|
48274
|
+
result.getPointRadius = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getSizeAccessor"])(sizeField, sizeScale, visConfig.sizeAggregation, visConfig.radiusRange || visConfig.sizeRange, data);
|
|
48082
48275
|
}
|
|
48083
48276
|
|
|
48084
48277
|
if (textLabelField) {
|
|
@@ -48118,7 +48311,7 @@ const baseUrl = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json'
|
|
|
48118
48311
|
/*!***********************!*\
|
|
48119
48312
|
!*** ./src/config.ts ***!
|
|
48120
48313
|
\***********************/
|
|
48121
|
-
/*! exports provided: defaultClassicCredentials, defaultCloudNativeCredentials, setDefaultCredentials, getDefaultCredentials, buildMapsUrlFromBase */
|
|
48314
|
+
/*! exports provided: defaultClassicCredentials, defaultCloudNativeCredentials, setDefaultCredentials, getDefaultCredentials, buildMapsUrlFromBase, buildStatsUrlFromBase */
|
|
48122
48315
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48123
48316
|
|
|
48124
48317
|
"use strict";
|
|
@@ -48128,6 +48321,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
48128
48321
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return setDefaultCredentials; });
|
|
48129
48322
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return getDefaultCredentials; });
|
|
48130
48323
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildMapsUrlFromBase", function() { return buildMapsUrlFromBase; });
|
|
48324
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildStatsUrlFromBase", function() { return buildStatsUrlFromBase; });
|
|
48131
48325
|
/* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/maps-api-common */ "./src/api/maps-api-common.ts");
|
|
48132
48326
|
|
|
48133
48327
|
const defaultClassicCredentials = {
|
|
@@ -48171,8 +48365,9 @@ function setDefaultCredentials({
|
|
|
48171
48365
|
function getDefaultCredentials() {
|
|
48172
48366
|
return credentials;
|
|
48173
48367
|
}
|
|
48174
|
-
|
|
48175
|
-
|
|
48368
|
+
|
|
48369
|
+
function buildUrlFromBase(apiBaseUrl, endpoint) {
|
|
48370
|
+
let suffix = `/v3/${endpoint}`;
|
|
48176
48371
|
|
|
48177
48372
|
if (apiBaseUrl.endsWith('/')) {
|
|
48178
48373
|
suffix = suffix.substring(1);
|
|
@@ -48181,6 +48376,13 @@ function buildMapsUrlFromBase(apiBaseUrl) {
|
|
|
48181
48376
|
return `${apiBaseUrl}${suffix}`;
|
|
48182
48377
|
}
|
|
48183
48378
|
|
|
48379
|
+
function buildMapsUrlFromBase(apiBaseUrl) {
|
|
48380
|
+
return buildUrlFromBase(apiBaseUrl, 'maps');
|
|
48381
|
+
}
|
|
48382
|
+
function buildStatsUrlFromBase(apiBaseUrl) {
|
|
48383
|
+
return buildUrlFromBase(apiBaseUrl, 'stats');
|
|
48384
|
+
}
|
|
48385
|
+
|
|
48184
48386
|
/***/ }),
|
|
48185
48387
|
|
|
48186
48388
|
/***/ "./src/index.ts":
|
|
@@ -48271,13 +48473,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
48271
48473
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
|
|
48272
48474
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
48273
48475
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
48274
|
-
/* harmony import */ var
|
|
48275
|
-
/* harmony import */ var
|
|
48276
|
-
/* harmony import */ var
|
|
48277
|
-
/* harmony import */ var
|
|
48278
|
-
/* harmony import */ var
|
|
48279
|
-
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config */ "./src/config.ts");
|
|
48280
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
48476
|
+
/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
|
|
48477
|
+
/* harmony import */ var _api_layer_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api/layer-map */ "./src/api/layer-map.ts");
|
|
48478
|
+
/* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
|
|
48479
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.ts");
|
|
48480
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
48281
48481
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
48282
48482
|
|
|
48283
48483
|
|
|
@@ -48287,8 +48487,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
48287
48487
|
|
|
48288
48488
|
|
|
48289
48489
|
|
|
48290
|
-
|
|
48291
|
-
|
|
48292
48490
|
const defaultProps = {
|
|
48293
48491
|
// (String, required): data resource to load. table name, sql query or tileset name.
|
|
48294
48492
|
data: null,
|
|
@@ -48356,29 +48554,29 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48356
48554
|
geoColumn,
|
|
48357
48555
|
columns
|
|
48358
48556
|
} = props;
|
|
48359
|
-
const localCreds = { ...Object(
|
|
48557
|
+
const localCreds = { ...Object(_config__WEBPACK_IMPORTED_MODULE_4__["getDefaultCredentials"])(),
|
|
48360
48558
|
...credentials
|
|
48361
48559
|
};
|
|
48362
48560
|
const {
|
|
48363
48561
|
apiVersion
|
|
48364
48562
|
} = localCreds;
|
|
48365
|
-
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(Object.values(
|
|
48563
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(Object.values(_api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"]).includes(apiVersion), `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`);
|
|
48366
48564
|
|
|
48367
|
-
if (apiVersion ===
|
|
48368
|
-
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(type ===
|
|
48565
|
+
if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V2) {
|
|
48566
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(type === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["MAP_TYPES"].QUERY || type === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["MAP_TYPES"].TILESET, `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`);
|
|
48369
48567
|
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);
|
|
48370
48568
|
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);
|
|
48371
48569
|
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);
|
|
48372
|
-
} else if (apiVersion ===
|
|
48570
|
+
} else if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3) {
|
|
48373
48571
|
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(connection, 'Missing mandatory connection parameter');
|
|
48374
|
-
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(Object.values(
|
|
48572
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(Object.values(_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["MAP_TYPES"]).includes(type), `Invalid type ${type}. Use MAP_TYPES enum.`);
|
|
48375
48573
|
|
|
48376
|
-
if (!
|
|
48377
|
-
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!columns, `columns prop is only supported for types: ${
|
|
48574
|
+
if (!_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["COLUMNS_SUPPORT"].includes(type)) {
|
|
48575
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!columns, `columns prop is only supported for types: ${_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["COLUMNS_SUPPORT"].join()}`);
|
|
48378
48576
|
}
|
|
48379
48577
|
|
|
48380
|
-
if (!
|
|
48381
|
-
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!geoColumn, `geoColumn prop is only supported for types: ${
|
|
48578
|
+
if (!_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["GEO_COLUMN_SUPPORT"].includes(type)) {
|
|
48579
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(!geoColumn, `geoColumn prop is only supported for types: ${_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["GEO_COLUMN_SUPPORT"].join()}`);
|
|
48382
48580
|
}
|
|
48383
48581
|
|
|
48384
48582
|
if (columns) {
|
|
@@ -48416,7 +48614,7 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48416
48614
|
connection,
|
|
48417
48615
|
...rest
|
|
48418
48616
|
} = this.props;
|
|
48419
|
-
const localConfig = { ...Object(
|
|
48617
|
+
const localConfig = { ...Object(_config__WEBPACK_IMPORTED_MODULE_4__["getDefaultCredentials"])(),
|
|
48420
48618
|
...credentials
|
|
48421
48619
|
};
|
|
48422
48620
|
const {
|
|
@@ -48424,16 +48622,16 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48424
48622
|
} = localConfig;
|
|
48425
48623
|
let result;
|
|
48426
48624
|
|
|
48427
|
-
if (apiVersion ===
|
|
48625
|
+
if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V2) {
|
|
48428
48626
|
result = {
|
|
48429
|
-
data: await Object(
|
|
48627
|
+
data: await Object(_api__WEBPACK_IMPORTED_MODULE_1__["getDataV2"])({
|
|
48430
48628
|
type,
|
|
48431
48629
|
source,
|
|
48432
48630
|
credentials: credentials
|
|
48433
48631
|
})
|
|
48434
48632
|
};
|
|
48435
48633
|
} else {
|
|
48436
|
-
result = await Object(
|
|
48634
|
+
result = await Object(_api__WEBPACK_IMPORTED_MODULE_1__["fetchLayerData"])({
|
|
48437
48635
|
type,
|
|
48438
48636
|
source,
|
|
48439
48637
|
clientId,
|
|
@@ -48441,7 +48639,7 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48441
48639
|
connection,
|
|
48442
48640
|
...rest,
|
|
48443
48641
|
// CartoLayer only supports tiled output from v8.8, force data format
|
|
48444
|
-
format:
|
|
48642
|
+
format: _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON
|
|
48445
48643
|
});
|
|
48446
48644
|
}
|
|
48447
48645
|
|
|
@@ -48462,7 +48660,7 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48462
48660
|
}
|
|
48463
48661
|
|
|
48464
48662
|
_getSubLayerAndProps() {
|
|
48465
|
-
Object(
|
|
48663
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(this.state);
|
|
48466
48664
|
const {
|
|
48467
48665
|
data,
|
|
48468
48666
|
apiVersion
|
|
@@ -48481,28 +48679,19 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
48481
48679
|
...propsNoData
|
|
48482
48680
|
};
|
|
48483
48681
|
|
|
48484
|
-
if (apiVersion ===
|
|
48682
|
+
if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V2) {
|
|
48485
48683
|
return [_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"], props];
|
|
48486
48684
|
}
|
|
48487
48685
|
/* global URL */
|
|
48488
48686
|
|
|
48489
48687
|
|
|
48490
48688
|
const tileUrl = new URL(data.tiles[0]);
|
|
48491
|
-
props.formatTiles = props.formatTiles || tileUrl.searchParams.get('formatTiles')
|
|
48492
|
-
|
|
48493
|
-
if (data.scheme === 'h3') {
|
|
48494
|
-
return [_h3_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"], props];
|
|
48495
|
-
}
|
|
48496
|
-
|
|
48497
|
-
if (data.scheme === 'quadbin') {
|
|
48498
|
-
return [_quadbin_tile_layer__WEBPACK_IMPORTED_MODULE_3__["default"], props];
|
|
48499
|
-
}
|
|
48500
|
-
|
|
48501
|
-
return props.formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].MVT ? [_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"], props] : [_carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"], props];
|
|
48689
|
+
props.formatTiles = props.formatTiles || tileUrl.searchParams.get('formatTiles');
|
|
48690
|
+
return [Object(_api_layer_map__WEBPACK_IMPORTED_MODULE_2__["layerFromTileDataset"])(props.formatTiles, data.scheme), props];
|
|
48502
48691
|
}
|
|
48503
48692
|
|
|
48504
48693
|
renderLayers() {
|
|
48505
|
-
Object(
|
|
48694
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(this.state);
|
|
48506
48695
|
const {
|
|
48507
48696
|
data
|
|
48508
48697
|
} = this.state;
|
|
@@ -49564,6 +49753,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
49564
49753
|
|
|
49565
49754
|
|
|
49566
49755
|
|
|
49756
|
+
/**
|
|
49757
|
+
* Helper function for quickly creating a color bins style based on `d3` `scaleThreshold`.
|
|
49758
|
+
*
|
|
49759
|
+
* Data values of each attribute are rounded down to the nearest value in the domain and are then
|
|
49760
|
+
* styled with the corresponding color.
|
|
49761
|
+
*
|
|
49762
|
+
* @return accessor that maps objects to `Color` values
|
|
49763
|
+
*/
|
|
49764
|
+
|
|
49567
49765
|
function colorBins({
|
|
49568
49766
|
attr,
|
|
49569
49767
|
domain,
|
|
@@ -49595,6 +49793,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
49595
49793
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
|
|
49596
49794
|
|
|
49597
49795
|
|
|
49796
|
+
/**
|
|
49797
|
+
* Helper function for quickly creating a color category style.
|
|
49798
|
+
*
|
|
49799
|
+
* Data values of each attribute listed in the domain are mapped one to one
|
|
49800
|
+
* with corresponding colors in the range.
|
|
49801
|
+
*
|
|
49802
|
+
* @return accessor that maps objects to `Color` values
|
|
49803
|
+
*/
|
|
49804
|
+
|
|
49598
49805
|
function colorCategories({
|
|
49599
49806
|
attr,
|
|
49600
49807
|
domain,
|
|
@@ -49634,6 +49841,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
49634
49841
|
|
|
49635
49842
|
|
|
49636
49843
|
|
|
49844
|
+
/**
|
|
49845
|
+
* Helper function for quickly creating a color continuous style.
|
|
49846
|
+
*
|
|
49847
|
+
* Data values of each field are interpolated linearly across values in the domain and
|
|
49848
|
+
* are then styled with a blend of the corresponding color in the range.
|
|
49849
|
+
*
|
|
49850
|
+
* @return accessor that maps objects to `Color` values
|
|
49851
|
+
*/
|
|
49852
|
+
|
|
49637
49853
|
function colorContinuous({
|
|
49638
49854
|
attr,
|
|
49639
49855
|
domain,
|
|
@@ -49745,7 +49961,7 @@ function getAttrValue(attr, d) {
|
|
|
49745
49961
|
return attr(d);
|
|
49746
49962
|
}
|
|
49747
49963
|
|
|
49748
|
-
return d
|
|
49964
|
+
return d?.properties?.[attr];
|
|
49749
49965
|
}
|
|
49750
49966
|
function assert(condition, message = '') {
|
|
49751
49967
|
if (!condition) {
|