@deck.gl/carto 9.0.34 → 9.0.36
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/cartoRasterTile-worker.js +1 -1
- package/dist/cartoSpatialTile-worker.js +1 -1
- package/dist/cartoVectorTile-worker.js +1 -1
- package/dist/dist.dev.js +115 -112
- package/dist/index.cjs +110 -105
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/layers/h3-tile-layer.d.ts +3 -3
- package/dist/layers/h3-tile-layer.d.ts.map +1 -1
- package/dist/layers/h3-tile-layer.js +12 -14
- package/dist/layers/heatmap-tile-layer.d.ts +11 -1
- package/dist/layers/heatmap-tile-layer.d.ts.map +1 -1
- package/dist/layers/heatmap-tile-layer.js +62 -2
- package/dist/layers/heatmap.d.ts +69 -22
- package/dist/layers/heatmap.d.ts.map +1 -1
- package/dist/layers/heatmap.js +20 -69
- package/dist/layers/quadbin-tile-layer.d.ts +3 -3
- package/dist/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/dist/layers/quadbin-tile-layer.js +10 -12
- package/dist/layers/raster-layer-vertex.glsl.d.ts +1 -1
- package/dist/layers/raster-layer-vertex.glsl.js +1 -1
- package/dist/layers/raster-tile-layer.d.ts.map +1 -1
- package/dist/layers/raster-tile-layer.js +11 -13
- package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
- package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
- package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
- package/dist.min.js +13 -39
- package/package.json +2 -2
- package/src/index.ts +21 -0
- package/src/layers/h3-tile-layer.ts +13 -15
- package/src/layers/heatmap-tile-layer.ts +86 -3
- package/src/layers/heatmap.ts +33 -97
- package/src/layers/quadbin-tile-layer.ts +11 -13
- package/src/layers/raster-layer-vertex.glsl.ts +1 -1
- package/src/layers/raster-tile-layer.ts +11 -13
package/dist/index.cjs
CHANGED
|
@@ -39,7 +39,10 @@ __export(dist_exports, {
|
|
|
39
39
|
VectorTileLayer: () => vector_tile_layer_default,
|
|
40
40
|
_GOOGLE_BASEMAPS: () => GOOGLE_BASEMAPS,
|
|
41
41
|
_PointLabelLayer: () => point_label_layer_default,
|
|
42
|
+
_QuadbinLayer: () => quadbin_layer_default,
|
|
43
|
+
_RasterLayer: () => raster_layer_default,
|
|
42
44
|
_STYLE_LAYER_GROUPS: () => STYLE_LAYER_GROUPS,
|
|
45
|
+
_SpatialIndexTileLayer: () => spatial_index_tile_layer_default,
|
|
43
46
|
_applyLayerGroupFilters: () => applyLayerGroupFilters,
|
|
44
47
|
_fetchStyle: () => fetchStyle,
|
|
45
48
|
_getStyleUrl: () => getStyleUrl,
|
|
@@ -548,7 +551,7 @@ function binaryToSpatialjson(binary) {
|
|
|
548
551
|
}
|
|
549
552
|
|
|
550
553
|
// dist/layers/schema/carto-spatial-tile-loader.js
|
|
551
|
-
var VERSION = true ? "9.0.
|
|
554
|
+
var VERSION = true ? "9.0.36" : "latest";
|
|
552
555
|
var id = "cartoSpatialTile";
|
|
553
556
|
var DEFAULT_OPTIONS = {
|
|
554
557
|
cartoSpatialTile: {
|
|
@@ -913,7 +916,7 @@ var TileReader3 = class {
|
|
|
913
916
|
};
|
|
914
917
|
|
|
915
918
|
// dist/layers/schema/carto-raster-tile-loader.js
|
|
916
|
-
var VERSION2 = true ? "9.0.
|
|
919
|
+
var VERSION2 = true ? "9.0.36" : "latest";
|
|
917
920
|
var id2 = "cartoRasterTile";
|
|
918
921
|
var DEFAULT_OPTIONS2 = {
|
|
919
922
|
cartoRasterTile: {
|
|
@@ -1045,17 +1048,16 @@ var H3TileLayer = class extends import_core8.CompositeLayer {
|
|
|
1045
1048
|
if (this.props.maxZoom) {
|
|
1046
1049
|
maxresolution = Math.min(maxresolution, getHexagonResolution({ zoom: this.props.maxZoom, latitude: 0 }, this.props.tileSize));
|
|
1047
1050
|
}
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
];
|
|
1051
|
+
const SubLayerClass = this.getSubLayerClass("spatial-index-tile", spatial_index_tile_layer_default);
|
|
1052
|
+
return new SubLayerClass(this.props, {
|
|
1053
|
+
id: `h3-tile-layer-${this.props.id}`,
|
|
1054
|
+
data,
|
|
1055
|
+
TilesetClass: H3Tileset2D,
|
|
1056
|
+
renderSubLayers,
|
|
1057
|
+
minZoom: minresolution,
|
|
1058
|
+
maxZoom: maxresolution,
|
|
1059
|
+
loadOptions: this.getLoadOptions()
|
|
1060
|
+
});
|
|
1059
1061
|
}
|
|
1060
1062
|
};
|
|
1061
1063
|
H3TileLayer.layerName = "H3TileLayer";
|
|
@@ -1069,41 +1071,15 @@ var import_layers2 = require("@deck.gl/layers");
|
|
|
1069
1071
|
|
|
1070
1072
|
// dist/layers/heatmap.js
|
|
1071
1073
|
var fs = `uniform heatmapUniforms {
|
|
1072
|
-
vec2 delta;
|
|
1073
|
-
float radiusPixels;
|
|
1074
1074
|
vec2 colorDomain;
|
|
1075
|
-
|
|
1076
|
-
vec3 color2;
|
|
1077
|
-
vec3 color3;
|
|
1078
|
-
vec3 color4;
|
|
1079
|
-
vec3 color5;
|
|
1080
|
-
vec3 color6;
|
|
1075
|
+
vec2 delta;
|
|
1081
1076
|
float intensity;
|
|
1082
1077
|
float opacity;
|
|
1078
|
+
float radiusPixels;
|
|
1083
1079
|
} heatmap;
|
|
1084
|
-
|
|
1080
|
+
uniform sampler2D colorTexture;
|
|
1085
1081
|
vec3 colorGradient(float value) {
|
|
1086
|
-
|
|
1087
|
-
vec3 c2;
|
|
1088
|
-
vec2 range;
|
|
1089
|
-
if (value < STOPS.x) {
|
|
1090
|
-
range = vec2(0.0, STOPS.x);
|
|
1091
|
-
c1 = heatmap.color1; c2 = heatmap.color2;
|
|
1092
|
-
} else if (value < STOPS.y) {
|
|
1093
|
-
range = STOPS.xy;
|
|
1094
|
-
c1 = heatmap.color2; c2 = heatmap.color3;
|
|
1095
|
-
} else if (value < STOPS.z) {
|
|
1096
|
-
range = STOPS.yz;
|
|
1097
|
-
c1 = heatmap.color3; c2 = heatmap.color4;
|
|
1098
|
-
} else if (value < STOPS.w) {
|
|
1099
|
-
range = STOPS.zw;
|
|
1100
|
-
c1 = heatmap.color4; c2 = heatmap.color5;
|
|
1101
|
-
} else {
|
|
1102
|
-
range = vec2(STOPS.w, 1.0);
|
|
1103
|
-
c1 = heatmap.color5; c2 = heatmap.color6;
|
|
1104
|
-
}
|
|
1105
|
-
float f = (clamp(value, 0.0, 1.0) - range.x) / (range.y - range.x);
|
|
1106
|
-
return mix(c1, c2, f) / 255.0;
|
|
1082
|
+
return texture(colorTexture, vec2(value, 0.5)).rgb;
|
|
1107
1083
|
}
|
|
1108
1084
|
const vec3 SHIFT = vec3(1.0, 256.0, 256.0 * 256.0);
|
|
1109
1085
|
const float MAX_VAL = SHIFT.z * 255.0;
|
|
@@ -1143,57 +1119,33 @@ color.a *= heatmap.opacity;
|
|
|
1143
1119
|
return color;
|
|
1144
1120
|
}
|
|
1145
1121
|
`;
|
|
1146
|
-
var defaultColorRange = [
|
|
1147
|
-
[255, 255, 178],
|
|
1148
|
-
[254, 217, 118],
|
|
1149
|
-
[254, 178, 76],
|
|
1150
|
-
[253, 141, 60],
|
|
1151
|
-
[240, 59, 32],
|
|
1152
|
-
[189, 0, 38]
|
|
1153
|
-
];
|
|
1154
1122
|
var heatmap = {
|
|
1155
1123
|
name: "heatmap",
|
|
1156
1124
|
uniformPropTypes: {
|
|
1157
|
-
delta: { value: [0, 1] },
|
|
1158
|
-
radiusPixels: { value: 20, min: 0, softMax: 100 },
|
|
1159
1125
|
colorDomain: { value: [0, 1] },
|
|
1160
|
-
|
|
1161
|
-
color2: { value: [0, 0, 0] },
|
|
1162
|
-
color3: { value: [0, 0, 0] },
|
|
1163
|
-
color4: { value: [0, 0, 0] },
|
|
1164
|
-
color5: { value: [0, 0, 0] },
|
|
1165
|
-
color6: { value: [0, 0, 0] },
|
|
1126
|
+
delta: { value: [0, 1] },
|
|
1166
1127
|
intensity: { value: 1, min: 0.1, max: 10 },
|
|
1167
|
-
opacity: { value: 1, min: 0, max: 1 }
|
|
1128
|
+
opacity: { value: 1, min: 0, max: 1 },
|
|
1129
|
+
radiusPixels: { value: 20, min: 0, softMax: 100 }
|
|
1168
1130
|
},
|
|
1169
1131
|
uniformTypes: {
|
|
1170
|
-
delta: "vec2<f32>",
|
|
1171
|
-
radiusPixels: "f32",
|
|
1172
1132
|
colorDomain: "vec2<f32>",
|
|
1173
|
-
|
|
1174
|
-
color2: "vec3<f32>",
|
|
1175
|
-
color3: "vec3<f32>",
|
|
1176
|
-
color4: "vec3<f32>",
|
|
1177
|
-
color5: "vec3<f32>",
|
|
1178
|
-
color6: "vec3<f32>",
|
|
1133
|
+
delta: "vec2<f32>",
|
|
1179
1134
|
intensity: "f32",
|
|
1180
|
-
opacity: "f32"
|
|
1135
|
+
opacity: "f32",
|
|
1136
|
+
radiusPixels: "f32"
|
|
1181
1137
|
},
|
|
1182
1138
|
getUniforms: (opts) => {
|
|
1183
|
-
|
|
1184
|
-
|
|
1139
|
+
if (!opts)
|
|
1140
|
+
return {};
|
|
1141
|
+
const { colorDomain = [0, 1], colorTexture, delta = [1, 0], intensity = 1, opacity = 1, radiusPixels = 20 } = opts;
|
|
1185
1142
|
return {
|
|
1186
|
-
delta,
|
|
1187
|
-
color1,
|
|
1188
|
-
color2,
|
|
1189
|
-
color3,
|
|
1190
|
-
color4,
|
|
1191
|
-
color5,
|
|
1192
|
-
color6,
|
|
1193
|
-
radiusPixels,
|
|
1194
1143
|
colorDomain,
|
|
1144
|
+
colorTexture,
|
|
1145
|
+
delta,
|
|
1195
1146
|
intensity,
|
|
1196
|
-
opacity
|
|
1147
|
+
opacity,
|
|
1148
|
+
radiusPixels
|
|
1197
1149
|
};
|
|
1198
1150
|
},
|
|
1199
1151
|
fs,
|
|
@@ -1370,16 +1322,15 @@ var QuadbinTileLayer = class extends import_core10.CompositeLayer {
|
|
|
1370
1322
|
if (!tileJSON)
|
|
1371
1323
|
return null;
|
|
1372
1324
|
const { tiles: data, maxresolution: maxZoom } = tileJSON;
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
];
|
|
1325
|
+
const SubLayerClass = this.getSubLayerClass("spatial-index-tile", spatial_index_tile_layer_default);
|
|
1326
|
+
return new SubLayerClass(this.props, {
|
|
1327
|
+
id: `quadbin-tile-layer-${this.props.id}`,
|
|
1328
|
+
data,
|
|
1329
|
+
TilesetClass: QuadbinTileset2D,
|
|
1330
|
+
renderSubLayers: renderSubLayers2,
|
|
1331
|
+
maxZoom,
|
|
1332
|
+
loadOptions: this.getLoadOptions()
|
|
1333
|
+
});
|
|
1383
1334
|
}
|
|
1384
1335
|
};
|
|
1385
1336
|
QuadbinTileLayer.layerName = "QuadbinTileLayer";
|
|
@@ -1387,10 +1338,40 @@ QuadbinTileLayer.defaultProps = defaultProps5;
|
|
|
1387
1338
|
var quadbin_tile_layer_default = QuadbinTileLayer;
|
|
1388
1339
|
|
|
1389
1340
|
// dist/layers/heatmap-tile-layer.js
|
|
1341
|
+
var defaultColorRange = [
|
|
1342
|
+
[255, 255, 178],
|
|
1343
|
+
[254, 217, 118],
|
|
1344
|
+
[254, 178, 76],
|
|
1345
|
+
[253, 141, 60],
|
|
1346
|
+
[240, 59, 32],
|
|
1347
|
+
[189, 0, 38]
|
|
1348
|
+
];
|
|
1349
|
+
var TEXTURE_PROPS2 = {
|
|
1350
|
+
format: "rgba8unorm",
|
|
1351
|
+
mipmaps: false,
|
|
1352
|
+
sampler: {
|
|
1353
|
+
minFilter: "linear",
|
|
1354
|
+
magFilter: "linear",
|
|
1355
|
+
addressModeU: "clamp-to-edge",
|
|
1356
|
+
addressModeV: "clamp-to-edge"
|
|
1357
|
+
}
|
|
1358
|
+
};
|
|
1390
1359
|
function unitDensityForCell(cell) {
|
|
1391
1360
|
const cellResolution = Number((0, import_quadbin6.getResolution)(cell));
|
|
1392
1361
|
return Math.pow(4, cellResolution);
|
|
1393
1362
|
}
|
|
1363
|
+
function colorRangeToFlatArray(colorRange) {
|
|
1364
|
+
const flatArray = new Uint8Array(colorRange.length * 4);
|
|
1365
|
+
let index = 0;
|
|
1366
|
+
for (let i = 0; i < colorRange.length; i++) {
|
|
1367
|
+
const color = colorRange[i];
|
|
1368
|
+
flatArray[index++] = color[0];
|
|
1369
|
+
flatArray[index++] = color[1];
|
|
1370
|
+
flatArray[index++] = color[2];
|
|
1371
|
+
flatArray[index++] = Number.isFinite(color[3]) ? color[3] : 255;
|
|
1372
|
+
}
|
|
1373
|
+
return flatArray;
|
|
1374
|
+
}
|
|
1394
1375
|
var RTTSolidPolygonLayer = class extends RTTModifier(import_layers2.SolidPolygonLayer) {
|
|
1395
1376
|
getShaders(type) {
|
|
1396
1377
|
const shaders = super.getShaders(type);
|
|
@@ -1436,6 +1417,7 @@ var defaultProps6 = {
|
|
|
1436
1417
|
getWeight: { type: "accessor", value: 1 },
|
|
1437
1418
|
onMaxDensityChange: { type: "function", optional: true, value: null },
|
|
1438
1419
|
colorDomain: { type: "array", value: [0, 1] },
|
|
1420
|
+
colorRange: defaultColorRange,
|
|
1439
1421
|
intensity: { type: "number", value: 1 },
|
|
1440
1422
|
radiusPixels: { type: "number", min: 0, max: 100, value: 20 }
|
|
1441
1423
|
};
|
|
@@ -1452,9 +1434,16 @@ var HeatmapTileLayer = class extends import_core11.CompositeLayer {
|
|
|
1452
1434
|
this.setState({ viewportChanged });
|
|
1453
1435
|
return changeFlags.somethingChanged;
|
|
1454
1436
|
}
|
|
1437
|
+
updateState(opts) {
|
|
1438
|
+
const { props, oldProps } = opts;
|
|
1439
|
+
super.updateState(opts);
|
|
1440
|
+
if (props.colorRange !== oldProps.colorRange) {
|
|
1441
|
+
this._updateColorTexture(opts);
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1455
1444
|
renderLayers() {
|
|
1456
1445
|
var _a, _b, _c;
|
|
1457
|
-
const { data, getWeight, colorDomain,
|
|
1446
|
+
const { data, getWeight, colorDomain, intensity, radiusPixels, _subLayerProps, updateTriggers, onMaxDensityChange, onViewportLoad, onTileLoad, onTileUnload, ...tileLayerProps } = this.props;
|
|
1458
1447
|
const subLayerProps = {
|
|
1459
1448
|
..._subLayerProps,
|
|
1460
1449
|
cell: {
|
|
@@ -1490,11 +1479,11 @@ var HeatmapTileLayer = class extends import_core11.CompositeLayer {
|
|
|
1490
1479
|
getElevation: getWeight,
|
|
1491
1480
|
elevationScale: maxDensity,
|
|
1492
1481
|
colorDomain,
|
|
1493
|
-
colorRange,
|
|
1494
1482
|
radiusPixels,
|
|
1495
1483
|
intensity,
|
|
1496
1484
|
_subLayerProps: subLayerProps,
|
|
1497
1485
|
refinementStrategy: "no-overlap",
|
|
1486
|
+
colorTexture: this.state.colorTexture,
|
|
1498
1487
|
extruded: false,
|
|
1499
1488
|
stroked: false,
|
|
1500
1489
|
updateTriggers: {
|
|
@@ -1530,6 +1519,23 @@ var HeatmapTileLayer = class extends import_core11.CompositeLayer {
|
|
|
1530
1519
|
transitions: { elevationScale: { type: "spring", stiffness: 0.3, damping: 0.5 } }
|
|
1531
1520
|
}));
|
|
1532
1521
|
}
|
|
1522
|
+
_updateColorTexture(opts) {
|
|
1523
|
+
const { colorRange } = opts.props;
|
|
1524
|
+
let { colorTexture } = this.state;
|
|
1525
|
+
const colors = colorRangeToFlatArray(colorRange);
|
|
1526
|
+
if (colorTexture && (colorTexture == null ? void 0 : colorTexture.width) === colorRange.length) {
|
|
1527
|
+
colorTexture.setSubImageData({ data: colors });
|
|
1528
|
+
} else {
|
|
1529
|
+
colorTexture == null ? void 0 : colorTexture.destroy();
|
|
1530
|
+
colorTexture = this.context.device.createTexture({
|
|
1531
|
+
...TEXTURE_PROPS2,
|
|
1532
|
+
data: colors,
|
|
1533
|
+
width: colorRange.length,
|
|
1534
|
+
height: 1
|
|
1535
|
+
});
|
|
1536
|
+
}
|
|
1537
|
+
this.setState({ colorTexture });
|
|
1538
|
+
}
|
|
1533
1539
|
};
|
|
1534
1540
|
HeatmapTileLayer.layerName = "HeatmapTileLayer";
|
|
1535
1541
|
HeatmapTileLayer.defaultProps = defaultProps6;
|
|
@@ -1702,7 +1708,7 @@ vec2 common_position = offset.xy;
|
|
|
1702
1708
|
float scale = offset.z;
|
|
1703
1709
|
int yIndex = - (gl_InstanceID / BLOCK_WIDTH);
|
|
1704
1710
|
int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);
|
|
1705
|
-
common_position += scale * vec2(float(xIndex), float(yIndex));
|
|
1711
|
+
common_position += scale * vec2(float(xIndex), float(yIndex - 1));
|
|
1706
1712
|
vec4 color = isStroke ? instanceLineColors : instanceFillColors;
|
|
1707
1713
|
float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);
|
|
1708
1714
|
float cellWidth = coverage * scale;
|
|
@@ -1889,17 +1895,16 @@ var RasterTileLayer = class extends import_core14.CompositeLayer {
|
|
|
1889
1895
|
if (!tileJSON)
|
|
1890
1896
|
return null;
|
|
1891
1897
|
const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
];
|
|
1898
|
+
const SubLayerClass = this.getSubLayerClass("tile", import_geo_layers7.TileLayer);
|
|
1899
|
+
return new SubLayerClass(this.props, {
|
|
1900
|
+
id: `raster-tile-layer-${this.props.id}`,
|
|
1901
|
+
data,
|
|
1902
|
+
TilesetClass: QuadbinTileset2D,
|
|
1903
|
+
renderSubLayers: renderSubLayers3,
|
|
1904
|
+
minZoom,
|
|
1905
|
+
maxZoom,
|
|
1906
|
+
loadOptions: this.getLoadOptions()
|
|
1907
|
+
});
|
|
1903
1908
|
}
|
|
1904
1909
|
};
|
|
1905
1910
|
RasterTileLayer.layerName = "RasterTileLayer";
|
|
@@ -1947,7 +1952,7 @@ var carto_properties_tile_loader_default = CartoPropertiesTileLoader;
|
|
|
1947
1952
|
|
|
1948
1953
|
// dist/layers/schema/carto-vector-tile-loader.js
|
|
1949
1954
|
var import_earcut = __toESM(require("earcut"), 1);
|
|
1950
|
-
var VERSION3 = true ? "9.0.
|
|
1955
|
+
var VERSION3 = true ? "9.0.36" : "latest";
|
|
1951
1956
|
var id3 = "cartoVectorTile";
|
|
1952
1957
|
var DEFAULT_OPTIONS3 = {
|
|
1953
1958
|
cartoVectorTile: {
|