@deck.gl/carto 8.9.7 → 8.9.8
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 +774 -114
- package/dist/es5/api/layer-map.js +9 -15
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +2 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +17 -6
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +1 -1
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +1 -1
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +2 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +2 -1
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-utils.js +14 -4
- package/dist/es5/layers/quadbin-utils.js.map +1 -1
- package/dist/es5/layers/raster-layer-vertex.glsl.js +9 -0
- package/dist/es5/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/es5/layers/raster-layer.js +176 -0
- package/dist/es5/layers/raster-layer.js.map +1 -0
- package/dist/es5/layers/raster-tile-layer.js +114 -0
- package/dist/es5/layers/raster-tile-layer.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +80 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile.js +87 -0
- package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/es5/layers/schema/carto-spatial-tile.js +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +2 -2
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/fast-pbf.js +3 -11
- package/dist/es5/layers/schema/fast-pbf.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +3 -41
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/es5/utils.js +18 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +9 -21
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +2 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +9 -1
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +1 -1
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +1 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +2 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +2 -1
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-utils.js +7 -4
- package/dist/esm/layers/quadbin-utils.js.map +1 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js +2 -0
- package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/esm/layers/raster-layer.js +111 -0
- package/dist/esm/layers/raster-layer.js.map +1 -0
- package/dist/esm/layers/raster-tile-layer.js +67 -0
- package/dist/esm/layers/raster-tile-layer.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +46 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile.js +51 -0
- package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/esm/layers/schema/carto-spatial-tile.js +2 -2
- package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +3 -3
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/fast-pbf.js +2 -8
- package/dist/esm/layers/schema/fast-pbf.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +3 -41
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/utils.js +20 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist.min.js +100 -23
- package/package.json +3 -3
- package/src/api/layer-map.ts +12 -19
- package/src/api/maps-api-common.ts +2 -1
- package/src/api/maps-v3-client.ts +6 -1
- package/src/api/parseMap.ts +1 -1
- package/src/index.ts +1 -0
- package/src/layers/carto-layer.ts +1 -1
- package/src/layers/h3-tile-layer.ts +2 -3
- package/src/layers/quadbin-tile-layer.ts +2 -3
- package/src/layers/quadbin-utils.ts +9 -5
- package/src/layers/raster-layer-vertex.glsl.ts +98 -0
- package/src/layers/raster-layer.ts +146 -0
- package/src/layers/raster-tile-layer.ts +63 -0
- package/src/layers/schema/carto-raster-tile-loader.ts +42 -0
- package/src/layers/schema/carto-raster-tile.ts +46 -0
- package/src/layers/schema/carto-spatial-tile.ts +2 -2
- package/src/layers/schema/carto-tile.ts +3 -3
- package/src/layers/schema/fast-pbf.ts +3 -9
- package/src/layers/spatial-index-tile-layer.ts +3 -38
- package/src/utils.ts +22 -0
- package/typed/api/layer-map.d.ts +2 -1
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +1 -0
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +1 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-utils.d.ts +1 -0
- package/typed/layers/quadbin-utils.d.ts.map +1 -1
- package/typed/layers/raster-layer-vertex.glsl.d.ts +3 -0
- package/typed/layers/raster-layer-vertex.glsl.d.ts.map +1 -0
- package/typed/layers/raster-layer.d.ts +19 -0
- package/typed/layers/raster-layer.d.ts.map +1 -0
- package/typed/layers/raster-tile-layer.d.ts +24 -0
- package/typed/layers/raster-tile-layer.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts +13 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile.d.ts +9 -0
- package/typed/layers/schema/carto-raster-tile.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/fast-pbf.d.ts +1 -2
- package/typed/layers/schema/fast-pbf.d.ts.map +1 -1
- package/typed/layers/spatial-index-tile-layer.d.ts +1 -2
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/utils.d.ts +5 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
package/dist/dist.dev.js
CHANGED
|
@@ -6105,6 +6105,332 @@ var __exports__ = (() => {
|
|
|
6105
6105
|
}
|
|
6106
6106
|
});
|
|
6107
6107
|
|
|
6108
|
+
// ../../node_modules/tilebelt/index.js
|
|
6109
|
+
var require_tilebelt = __commonJS({
|
|
6110
|
+
"../../node_modules/tilebelt/index.js"(exports, module) {
|
|
6111
|
+
var d2r = Math.PI / 180;
|
|
6112
|
+
var r2d = 180 / Math.PI;
|
|
6113
|
+
function tileToBBOX(tile) {
|
|
6114
|
+
var e = tile2lon(tile[0] + 1, tile[2]);
|
|
6115
|
+
var w = tile2lon(tile[0], tile[2]);
|
|
6116
|
+
var s = tile2lat(tile[1] + 1, tile[2]);
|
|
6117
|
+
var n = tile2lat(tile[1], tile[2]);
|
|
6118
|
+
return [w, s, e, n];
|
|
6119
|
+
}
|
|
6120
|
+
function tileToGeoJSON(tile) {
|
|
6121
|
+
var bbox = tileToBBOX(tile);
|
|
6122
|
+
var poly = {
|
|
6123
|
+
type: "Polygon",
|
|
6124
|
+
coordinates: [
|
|
6125
|
+
[
|
|
6126
|
+
[bbox[0], bbox[1]],
|
|
6127
|
+
[bbox[0], bbox[3]],
|
|
6128
|
+
[bbox[2], bbox[3]],
|
|
6129
|
+
[bbox[2], bbox[1]],
|
|
6130
|
+
[bbox[0], bbox[1]]
|
|
6131
|
+
]
|
|
6132
|
+
]
|
|
6133
|
+
};
|
|
6134
|
+
return poly;
|
|
6135
|
+
}
|
|
6136
|
+
function tile2lon(x, z) {
|
|
6137
|
+
return x / Math.pow(2, z) * 360 - 180;
|
|
6138
|
+
}
|
|
6139
|
+
function tile2lat(y, z) {
|
|
6140
|
+
var n = Math.PI - 2 * Math.PI * y / Math.pow(2, z);
|
|
6141
|
+
return r2d * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));
|
|
6142
|
+
}
|
|
6143
|
+
function pointToTile(lon, lat, z) {
|
|
6144
|
+
var tile = pointToTileFraction(lon, lat, z);
|
|
6145
|
+
tile[0] = Math.floor(tile[0]);
|
|
6146
|
+
tile[1] = Math.floor(tile[1]);
|
|
6147
|
+
return tile;
|
|
6148
|
+
}
|
|
6149
|
+
function getChildren(tile) {
|
|
6150
|
+
return [
|
|
6151
|
+
[tile[0] * 2, tile[1] * 2, tile[2] + 1],
|
|
6152
|
+
[tile[0] * 2 + 1, tile[1] * 2, tile[2] + 1],
|
|
6153
|
+
[tile[0] * 2 + 1, tile[1] * 2 + 1, tile[2] + 1],
|
|
6154
|
+
[tile[0] * 2, tile[1] * 2 + 1, tile[2] + 1]
|
|
6155
|
+
];
|
|
6156
|
+
}
|
|
6157
|
+
function getParent(tile) {
|
|
6158
|
+
if (tile[0] % 2 === 0 && tile[1] % 2 === 0) {
|
|
6159
|
+
return [tile[0] / 2, tile[1] / 2, tile[2] - 1];
|
|
6160
|
+
} else if (tile[0] % 2 === 0 && !tile[1] % 2 === 0) {
|
|
6161
|
+
return [tile[0] / 2, (tile[1] - 1) / 2, tile[2] - 1];
|
|
6162
|
+
} else if (!tile[0] % 2 === 0 && tile[1] % 2 === 0) {
|
|
6163
|
+
return [(tile[0] - 1) / 2, tile[1] / 2, tile[2] - 1];
|
|
6164
|
+
} else {
|
|
6165
|
+
return [(tile[0] - 1) / 2, (tile[1] - 1) / 2, tile[2] - 1];
|
|
6166
|
+
}
|
|
6167
|
+
}
|
|
6168
|
+
function getSiblings(tile) {
|
|
6169
|
+
return getChildren(getParent(tile));
|
|
6170
|
+
}
|
|
6171
|
+
function hasSiblings(tile, tiles2) {
|
|
6172
|
+
var siblings = getSiblings(tile);
|
|
6173
|
+
for (var i = 0; i < siblings.length; i++) {
|
|
6174
|
+
if (!hasTile(tiles2, siblings[i]))
|
|
6175
|
+
return false;
|
|
6176
|
+
}
|
|
6177
|
+
return true;
|
|
6178
|
+
}
|
|
6179
|
+
function hasTile(tiles2, tile) {
|
|
6180
|
+
for (var i = 0; i < tiles2.length; i++) {
|
|
6181
|
+
if (tilesEqual(tiles2[i], tile))
|
|
6182
|
+
return true;
|
|
6183
|
+
}
|
|
6184
|
+
return false;
|
|
6185
|
+
}
|
|
6186
|
+
function tilesEqual(tile1, tile2) {
|
|
6187
|
+
return tile1[0] === tile2[0] && tile1[1] === tile2[1] && tile1[2] === tile2[2];
|
|
6188
|
+
}
|
|
6189
|
+
function tileToQuadkey(tile) {
|
|
6190
|
+
var index = "";
|
|
6191
|
+
for (var z = tile[2]; z > 0; z--) {
|
|
6192
|
+
var b = 0;
|
|
6193
|
+
var mask = 1 << z - 1;
|
|
6194
|
+
if ((tile[0] & mask) !== 0)
|
|
6195
|
+
b++;
|
|
6196
|
+
if ((tile[1] & mask) !== 0)
|
|
6197
|
+
b += 2;
|
|
6198
|
+
index += b.toString();
|
|
6199
|
+
}
|
|
6200
|
+
return index;
|
|
6201
|
+
}
|
|
6202
|
+
function quadkeyToTile(quadkey) {
|
|
6203
|
+
var x = 0;
|
|
6204
|
+
var y = 0;
|
|
6205
|
+
var z = quadkey.length;
|
|
6206
|
+
for (var i = z; i > 0; i--) {
|
|
6207
|
+
var mask = 1 << i - 1;
|
|
6208
|
+
switch (quadkey[z - i]) {
|
|
6209
|
+
case "0":
|
|
6210
|
+
break;
|
|
6211
|
+
case "1":
|
|
6212
|
+
x |= mask;
|
|
6213
|
+
break;
|
|
6214
|
+
case "2":
|
|
6215
|
+
y |= mask;
|
|
6216
|
+
break;
|
|
6217
|
+
case "3":
|
|
6218
|
+
x |= mask;
|
|
6219
|
+
y |= mask;
|
|
6220
|
+
break;
|
|
6221
|
+
}
|
|
6222
|
+
}
|
|
6223
|
+
return [x, y, z];
|
|
6224
|
+
}
|
|
6225
|
+
function bboxToTile(bboxCoords) {
|
|
6226
|
+
var min2 = pointToTile(bboxCoords[0], bboxCoords[1], 32);
|
|
6227
|
+
var max2 = pointToTile(bboxCoords[2], bboxCoords[3], 32);
|
|
6228
|
+
var bbox = [min2[0], min2[1], max2[0], max2[1]];
|
|
6229
|
+
var z = getBboxZoom(bbox);
|
|
6230
|
+
if (z === 0)
|
|
6231
|
+
return [0, 0, 0];
|
|
6232
|
+
var x = bbox[0] >>> 32 - z;
|
|
6233
|
+
var y = bbox[1] >>> 32 - z;
|
|
6234
|
+
return [x, y, z];
|
|
6235
|
+
}
|
|
6236
|
+
function getBboxZoom(bbox) {
|
|
6237
|
+
var MAX_ZOOM = 28;
|
|
6238
|
+
for (var z = 0; z < MAX_ZOOM; z++) {
|
|
6239
|
+
var mask = 1 << 32 - (z + 1);
|
|
6240
|
+
if ((bbox[0] & mask) != (bbox[2] & mask) || (bbox[1] & mask) != (bbox[3] & mask)) {
|
|
6241
|
+
return z;
|
|
6242
|
+
}
|
|
6243
|
+
}
|
|
6244
|
+
return MAX_ZOOM;
|
|
6245
|
+
}
|
|
6246
|
+
function pointToTileFraction(lon, lat, z) {
|
|
6247
|
+
var sin = Math.sin(lat * d2r), z2 = Math.pow(2, z), x = z2 * (lon / 360 + 0.5), y = z2 * (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);
|
|
6248
|
+
return [x, y, z];
|
|
6249
|
+
}
|
|
6250
|
+
module.exports = {
|
|
6251
|
+
tileToGeoJSON,
|
|
6252
|
+
tileToBBOX,
|
|
6253
|
+
getChildren,
|
|
6254
|
+
getParent,
|
|
6255
|
+
getSiblings,
|
|
6256
|
+
hasTile,
|
|
6257
|
+
hasSiblings,
|
|
6258
|
+
tilesEqual,
|
|
6259
|
+
tileToQuadkey,
|
|
6260
|
+
quadkeyToTile,
|
|
6261
|
+
pointToTile,
|
|
6262
|
+
bboxToTile,
|
|
6263
|
+
pointToTileFraction
|
|
6264
|
+
};
|
|
6265
|
+
}
|
|
6266
|
+
});
|
|
6267
|
+
|
|
6268
|
+
// ../../node_modules/@mapbox/tile-cover/index.js
|
|
6269
|
+
var require_tile_cover = __commonJS({
|
|
6270
|
+
"../../node_modules/@mapbox/tile-cover/index.js"(exports) {
|
|
6271
|
+
var tilebelt = require_tilebelt();
|
|
6272
|
+
exports.geojson = function(geom, limits) {
|
|
6273
|
+
return {
|
|
6274
|
+
type: "FeatureCollection",
|
|
6275
|
+
features: getTiles(geom, limits).map(tileToFeature)
|
|
6276
|
+
};
|
|
6277
|
+
};
|
|
6278
|
+
function tileToFeature(t) {
|
|
6279
|
+
return {
|
|
6280
|
+
type: "Feature",
|
|
6281
|
+
geometry: tilebelt.tileToGeoJSON(t),
|
|
6282
|
+
properties: {}
|
|
6283
|
+
};
|
|
6284
|
+
}
|
|
6285
|
+
exports.tiles = getTiles;
|
|
6286
|
+
exports.indexes = function(geom, limits) {
|
|
6287
|
+
return getTiles(geom, limits).map(tilebelt.tileToQuadkey);
|
|
6288
|
+
};
|
|
6289
|
+
function getTiles(geom, limits) {
|
|
6290
|
+
var i, tile, coords = geom.coordinates, maxZoom = limits.max_zoom, tileHash = {}, tiles2 = [];
|
|
6291
|
+
if (geom.type === "Point") {
|
|
6292
|
+
return [tilebelt.pointToTile(coords[0], coords[1], maxZoom)];
|
|
6293
|
+
} else if (geom.type === "MultiPoint") {
|
|
6294
|
+
for (i = 0; i < coords.length; i++) {
|
|
6295
|
+
tile = tilebelt.pointToTile(coords[i][0], coords[i][1], maxZoom);
|
|
6296
|
+
tileHash[toID(tile[0], tile[1], tile[2])] = true;
|
|
6297
|
+
}
|
|
6298
|
+
} else if (geom.type === "LineString") {
|
|
6299
|
+
lineCover(tileHash, coords, maxZoom);
|
|
6300
|
+
} else if (geom.type === "MultiLineString") {
|
|
6301
|
+
for (i = 0; i < coords.length; i++) {
|
|
6302
|
+
lineCover(tileHash, coords[i], maxZoom);
|
|
6303
|
+
}
|
|
6304
|
+
} else if (geom.type === "Polygon") {
|
|
6305
|
+
polygonCover(tileHash, tiles2, coords, maxZoom);
|
|
6306
|
+
} else if (geom.type === "MultiPolygon") {
|
|
6307
|
+
for (i = 0; i < coords.length; i++) {
|
|
6308
|
+
polygonCover(tileHash, tiles2, coords[i], maxZoom);
|
|
6309
|
+
}
|
|
6310
|
+
} else {
|
|
6311
|
+
throw new Error("Geometry type not implemented");
|
|
6312
|
+
}
|
|
6313
|
+
if (limits.min_zoom !== maxZoom) {
|
|
6314
|
+
var len = tiles2.length;
|
|
6315
|
+
appendHashTiles(tileHash, tiles2);
|
|
6316
|
+
for (i = 0; i < len; i++) {
|
|
6317
|
+
var t = tiles2[i];
|
|
6318
|
+
tileHash[toID(t[0], t[1], t[2])] = true;
|
|
6319
|
+
}
|
|
6320
|
+
return mergeTiles(tileHash, tiles2, limits);
|
|
6321
|
+
}
|
|
6322
|
+
appendHashTiles(tileHash, tiles2);
|
|
6323
|
+
return tiles2;
|
|
6324
|
+
}
|
|
6325
|
+
function mergeTiles(tileHash, tiles2, limits) {
|
|
6326
|
+
var mergedTiles = [];
|
|
6327
|
+
for (var z = limits.max_zoom; z > limits.min_zoom; z--) {
|
|
6328
|
+
var parentTileHash = {};
|
|
6329
|
+
var parentTiles = [];
|
|
6330
|
+
for (var i = 0; i < tiles2.length; i++) {
|
|
6331
|
+
var t = tiles2[i];
|
|
6332
|
+
if (t[0] % 2 === 0 && t[1] % 2 === 0) {
|
|
6333
|
+
var id2 = toID(t[0] + 1, t[1], z), id3 = toID(t[0], t[1] + 1, z), id4 = toID(t[0] + 1, t[1] + 1, z);
|
|
6334
|
+
if (tileHash[id2] && tileHash[id3] && tileHash[id4]) {
|
|
6335
|
+
tileHash[toID(t[0], t[1], t[2])] = false;
|
|
6336
|
+
tileHash[id2] = false;
|
|
6337
|
+
tileHash[id3] = false;
|
|
6338
|
+
tileHash[id4] = false;
|
|
6339
|
+
var parentTile = [t[0] / 2, t[1] / 2, z - 1];
|
|
6340
|
+
if (z - 1 === limits.min_zoom)
|
|
6341
|
+
mergedTiles.push(parentTile);
|
|
6342
|
+
else {
|
|
6343
|
+
parentTileHash[toID(t[0] / 2, t[1] / 2, z - 1)] = true;
|
|
6344
|
+
parentTiles.push(parentTile);
|
|
6345
|
+
}
|
|
6346
|
+
}
|
|
6347
|
+
}
|
|
6348
|
+
}
|
|
6349
|
+
for (i = 0; i < tiles2.length; i++) {
|
|
6350
|
+
t = tiles2[i];
|
|
6351
|
+
if (tileHash[toID(t[0], t[1], t[2])])
|
|
6352
|
+
mergedTiles.push(t);
|
|
6353
|
+
}
|
|
6354
|
+
tileHash = parentTileHash;
|
|
6355
|
+
tiles2 = parentTiles;
|
|
6356
|
+
}
|
|
6357
|
+
return mergedTiles;
|
|
6358
|
+
}
|
|
6359
|
+
function polygonCover(tileHash, tileArray, geom, zoom) {
|
|
6360
|
+
var intersections = [];
|
|
6361
|
+
for (var i = 0; i < geom.length; i++) {
|
|
6362
|
+
var ring = [];
|
|
6363
|
+
lineCover(tileHash, geom[i], zoom, ring);
|
|
6364
|
+
for (var j = 0, len = ring.length, k = len - 1; j < len; k = j++) {
|
|
6365
|
+
var m = (j + 1) % len;
|
|
6366
|
+
var y = ring[j][1];
|
|
6367
|
+
if ((y > ring[k][1] || y > ring[m][1]) && (y < ring[k][1] || y < ring[m][1]) && y !== ring[m][1])
|
|
6368
|
+
intersections.push(ring[j]);
|
|
6369
|
+
}
|
|
6370
|
+
}
|
|
6371
|
+
intersections.sort(compareTiles);
|
|
6372
|
+
for (i = 0; i < intersections.length; i += 2) {
|
|
6373
|
+
y = intersections[i][1];
|
|
6374
|
+
for (var x = intersections[i][0] + 1; x < intersections[i + 1][0]; x++) {
|
|
6375
|
+
var id = toID(x, y, zoom);
|
|
6376
|
+
if (!tileHash[id]) {
|
|
6377
|
+
tileArray.push([x, y, zoom]);
|
|
6378
|
+
}
|
|
6379
|
+
}
|
|
6380
|
+
}
|
|
6381
|
+
}
|
|
6382
|
+
function compareTiles(a, b) {
|
|
6383
|
+
return a[1] - b[1] || a[0] - b[0];
|
|
6384
|
+
}
|
|
6385
|
+
function lineCover(tileHash, coords, maxZoom, ring) {
|
|
6386
|
+
var prevX, prevY;
|
|
6387
|
+
for (var i = 0; i < coords.length - 1; i++) {
|
|
6388
|
+
var start = tilebelt.pointToTileFraction(coords[i][0], coords[i][1], maxZoom), stop = tilebelt.pointToTileFraction(coords[i + 1][0], coords[i + 1][1], maxZoom), x0 = start[0], y0 = start[1], x1 = stop[0], y1 = stop[1], dx = x1 - x0, dy = y1 - y0;
|
|
6389
|
+
if (dy === 0 && dx === 0)
|
|
6390
|
+
continue;
|
|
6391
|
+
var sx = dx > 0 ? 1 : -1, sy = dy > 0 ? 1 : -1, x = Math.floor(x0), y = Math.floor(y0), tMaxX = dx === 0 ? Infinity : Math.abs(((dx > 0 ? 1 : 0) + x - x0) / dx), tMaxY = dy === 0 ? Infinity : Math.abs(((dy > 0 ? 1 : 0) + y - y0) / dy), tdx = Math.abs(sx / dx), tdy = Math.abs(sy / dy);
|
|
6392
|
+
if (x !== prevX || y !== prevY) {
|
|
6393
|
+
tileHash[toID(x, y, maxZoom)] = true;
|
|
6394
|
+
if (ring && y !== prevY)
|
|
6395
|
+
ring.push([x, y]);
|
|
6396
|
+
prevX = x;
|
|
6397
|
+
prevY = y;
|
|
6398
|
+
}
|
|
6399
|
+
while (tMaxX < 1 || tMaxY < 1) {
|
|
6400
|
+
if (tMaxX < tMaxY) {
|
|
6401
|
+
tMaxX += tdx;
|
|
6402
|
+
x += sx;
|
|
6403
|
+
} else {
|
|
6404
|
+
tMaxY += tdy;
|
|
6405
|
+
y += sy;
|
|
6406
|
+
}
|
|
6407
|
+
tileHash[toID(x, y, maxZoom)] = true;
|
|
6408
|
+
if (ring && y !== prevY)
|
|
6409
|
+
ring.push([x, y]);
|
|
6410
|
+
prevX = x;
|
|
6411
|
+
prevY = y;
|
|
6412
|
+
}
|
|
6413
|
+
}
|
|
6414
|
+
if (ring && y === ring[0][1])
|
|
6415
|
+
ring.pop();
|
|
6416
|
+
}
|
|
6417
|
+
function appendHashTiles(hash, tiles2) {
|
|
6418
|
+
var keys = Object.keys(hash);
|
|
6419
|
+
for (var i = 0; i < keys.length; i++) {
|
|
6420
|
+
tiles2.push(fromID(+keys[i]));
|
|
6421
|
+
}
|
|
6422
|
+
}
|
|
6423
|
+
function toID(x, y, z) {
|
|
6424
|
+
var dim = 2 * (1 << z);
|
|
6425
|
+
return (dim * y + x) * 32 + z;
|
|
6426
|
+
}
|
|
6427
|
+
function fromID(id) {
|
|
6428
|
+
var z = id % 32, dim = 2 * (1 << z), xy = (id - z) / 32, x = xy % dim, y = (xy - x) / dim % dim;
|
|
6429
|
+
return [x, y, z];
|
|
6430
|
+
}
|
|
6431
|
+
}
|
|
6432
|
+
});
|
|
6433
|
+
|
|
6108
6434
|
// ../../node_modules/colorbrewer/colorbrewer.js
|
|
6109
6435
|
var require_colorbrewer = __commonJS({
|
|
6110
6436
|
"../../node_modules/colorbrewer/colorbrewer.js"(exports, module) {
|
|
@@ -8332,6 +8658,7 @@ var __exports__ = (() => {
|
|
|
8332
8658
|
_H3TileLayer: () => H3TileLayer,
|
|
8333
8659
|
_PointLabelLayer: () => PointLabelLayer,
|
|
8334
8660
|
_QuadbinTileLayer: () => QuadbinTileLayer,
|
|
8661
|
+
_RasterTileLayer: () => RasterTileLayer,
|
|
8335
8662
|
_getDataV2: () => getDataV2,
|
|
8336
8663
|
_mapInstantiation: () => mapInstantiation,
|
|
8337
8664
|
colorBins: () => colorBins,
|
|
@@ -8358,7 +8685,8 @@ var __exports__ = (() => {
|
|
|
8358
8685
|
var MAP_TYPES = {
|
|
8359
8686
|
QUERY: "query",
|
|
8360
8687
|
TABLE: "table",
|
|
8361
|
-
TILESET: "tileset"
|
|
8688
|
+
TILESET: "tileset",
|
|
8689
|
+
RASTER: "raster"
|
|
8362
8690
|
};
|
|
8363
8691
|
var COLUMNS_SUPPORT = [MAP_TYPES.TABLE];
|
|
8364
8692
|
var GEO_COLUMN_SUPPORT = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];
|
|
@@ -8450,7 +8778,7 @@ var __exports__ = (() => {
|
|
|
8450
8778
|
}
|
|
8451
8779
|
|
|
8452
8780
|
// src/layers/carto-layer.ts
|
|
8453
|
-
var
|
|
8781
|
+
var import_core11 = __toESM(require_core());
|
|
8454
8782
|
var import_geo_layers8 = __toESM(require_geo_layers());
|
|
8455
8783
|
|
|
8456
8784
|
// src/api/carto-api-error.ts
|
|
@@ -11135,22 +11463,16 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11135
11463
|
// src/api/layer-map.ts
|
|
11136
11464
|
var import_moment_timezone = __toESM(require_moment_timezone2());
|
|
11137
11465
|
var import_aggregation_layers = __toESM(require_aggregation_layers());
|
|
11138
|
-
var
|
|
11466
|
+
var import_layers3 = __toESM(require_layers());
|
|
11139
11467
|
var import_geo_layers7 = __toESM(require_geo_layers());
|
|
11140
11468
|
|
|
11141
11469
|
// src/layers/carto-tile-layer.ts
|
|
11142
11470
|
var import_core = __toESM(require_core2());
|
|
11143
11471
|
|
|
11144
11472
|
// src/layers/schema/fast-pbf.ts
|
|
11145
|
-
function
|
|
11146
|
-
const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
11147
|
-
obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));
|
|
11148
|
-
pbf.pos = end;
|
|
11149
|
-
return obj.value;
|
|
11150
|
-
}
|
|
11151
|
-
function readPackedFixed64(pbf, obj) {
|
|
11473
|
+
function readPackedTypedArray(TypedArray, pbf, obj) {
|
|
11152
11474
|
const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
11153
|
-
obj.value = new
|
|
11475
|
+
obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
|
|
11154
11476
|
pbf.pos = end;
|
|
11155
11477
|
return obj.value;
|
|
11156
11478
|
}
|
|
@@ -11200,7 +11522,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11200
11522
|
}
|
|
11201
11523
|
static _readField(tag, obj, pbf) {
|
|
11202
11524
|
if (tag === 1)
|
|
11203
|
-
|
|
11525
|
+
readPackedTypedArray(Float64Array, pbf, obj);
|
|
11204
11526
|
else if (tag === 2)
|
|
11205
11527
|
obj.size = pbf.readVarint(true);
|
|
11206
11528
|
}
|
|
@@ -11245,7 +11567,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11245
11567
|
}
|
|
11246
11568
|
static _readField(tag, obj, pbf) {
|
|
11247
11569
|
if (tag === 1)
|
|
11248
|
-
|
|
11570
|
+
readPackedTypedArray(Float64Array, pbf, obj);
|
|
11249
11571
|
}
|
|
11250
11572
|
};
|
|
11251
11573
|
var NumericPropKeyValueReader = class {
|
|
@@ -11375,9 +11697,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11375
11697
|
|
|
11376
11698
|
// src/layers/schema/tile-loader-utils.ts
|
|
11377
11699
|
var import_pbf = __toESM(require_pbf());
|
|
11378
|
-
function parsePbf(buffer,
|
|
11700
|
+
function parsePbf(buffer, TileReader4) {
|
|
11379
11701
|
const pbf = new import_pbf.default(buffer);
|
|
11380
|
-
const tile =
|
|
11702
|
+
const tile = TileReader4.read(pbf);
|
|
11381
11703
|
return tile;
|
|
11382
11704
|
}
|
|
11383
11705
|
|
|
@@ -11809,6 +12131,102 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11809
12131
|
// src/layers/spatial-index-tile-layer.ts
|
|
11810
12132
|
var import_core2 = __toESM(require_core2());
|
|
11811
12133
|
|
|
12134
|
+
// src/layers/schema/carto-raster-tile.ts
|
|
12135
|
+
var ARRAY_TYPES = {
|
|
12136
|
+
uint8: Uint8Array,
|
|
12137
|
+
uint16: Uint16Array,
|
|
12138
|
+
uint32: Uint32Array,
|
|
12139
|
+
uint64: BigUint64Array,
|
|
12140
|
+
int8: Int8Array,
|
|
12141
|
+
int16: Int16Array,
|
|
12142
|
+
int32: Int32Array,
|
|
12143
|
+
int64: BigInt64Array,
|
|
12144
|
+
float32: Float32Array,
|
|
12145
|
+
float64: Float64Array
|
|
12146
|
+
};
|
|
12147
|
+
var BandReader = class {
|
|
12148
|
+
static read(pbf, end) {
|
|
12149
|
+
return pbf.readFields(BandReader._readField, {
|
|
12150
|
+
name: "",
|
|
12151
|
+
type: "",
|
|
12152
|
+
data: null
|
|
12153
|
+
}, end);
|
|
12154
|
+
}
|
|
12155
|
+
static _readField(tag, obj, pbf) {
|
|
12156
|
+
if (tag === 1)
|
|
12157
|
+
obj.name = pbf.readString();
|
|
12158
|
+
else if (tag === 2)
|
|
12159
|
+
obj.type = pbf.readString();
|
|
12160
|
+
else if (tag === 3) {
|
|
12161
|
+
const TypedArray = ARRAY_TYPES[obj.type];
|
|
12162
|
+
if (!TypedArray) {
|
|
12163
|
+
throw Error(`Invalid data type: ${obj.type}`);
|
|
12164
|
+
}
|
|
12165
|
+
obj.data = {};
|
|
12166
|
+
readPackedTypedArray(TypedArray, pbf, obj.data);
|
|
12167
|
+
}
|
|
12168
|
+
}
|
|
12169
|
+
};
|
|
12170
|
+
var TileReader2 = class {
|
|
12171
|
+
static read(pbf, end) {
|
|
12172
|
+
return pbf.readFields(TileReader2._readField, {
|
|
12173
|
+
blockWidth: 0,
|
|
12174
|
+
blockHeight: 0,
|
|
12175
|
+
bands: []
|
|
12176
|
+
}, end);
|
|
12177
|
+
}
|
|
12178
|
+
static _readField(tag, obj, pbf) {
|
|
12179
|
+
if (tag === 1)
|
|
12180
|
+
obj.blockWidth = pbf.readVarint();
|
|
12181
|
+
else if (tag === 2)
|
|
12182
|
+
obj.blockHeight = pbf.readVarint();
|
|
12183
|
+
else if (tag === 3)
|
|
12184
|
+
obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
12185
|
+
}
|
|
12186
|
+
};
|
|
12187
|
+
|
|
12188
|
+
// src/layers/schema/carto-raster-tile-loader.ts
|
|
12189
|
+
var CartoRasterTileLoader = {
|
|
12190
|
+
name: "CARTO Raster Tile",
|
|
12191
|
+
version: "1",
|
|
12192
|
+
id: "cartoRasterTile",
|
|
12193
|
+
module: "carto",
|
|
12194
|
+
extensions: ["pbf"],
|
|
12195
|
+
mimeTypes: ["application/vnd.carto-raster-tile"],
|
|
12196
|
+
category: "geometry",
|
|
12197
|
+
worker: false,
|
|
12198
|
+
parse: async (arrayBuffer, options) => parseCartoRasterTile(arrayBuffer, options),
|
|
12199
|
+
parseSync: parseCartoRasterTile,
|
|
12200
|
+
options: {}
|
|
12201
|
+
};
|
|
12202
|
+
function parseCartoRasterTile(arrayBuffer, options) {
|
|
12203
|
+
if (!arrayBuffer)
|
|
12204
|
+
return null;
|
|
12205
|
+
const tile = parsePbf(arrayBuffer, TileReader2);
|
|
12206
|
+
const {
|
|
12207
|
+
bands,
|
|
12208
|
+
blockHeight,
|
|
12209
|
+
blockWidth
|
|
12210
|
+
} = tile;
|
|
12211
|
+
const numericProps = {};
|
|
12212
|
+
for (let i = 0; i < bands.length; i++) {
|
|
12213
|
+
const {
|
|
12214
|
+
name,
|
|
12215
|
+
data
|
|
12216
|
+
} = bands[i];
|
|
12217
|
+
numericProps[name] = data;
|
|
12218
|
+
}
|
|
12219
|
+
return {
|
|
12220
|
+
blockWidth,
|
|
12221
|
+
blockHeight,
|
|
12222
|
+
cells: {
|
|
12223
|
+
numericProps,
|
|
12224
|
+
properties: []
|
|
12225
|
+
}
|
|
12226
|
+
};
|
|
12227
|
+
}
|
|
12228
|
+
var carto_raster_tile_loader_default = CartoRasterTileLoader;
|
|
12229
|
+
|
|
11812
12230
|
// src/layers/schema/carto-spatial-tile.ts
|
|
11813
12231
|
var IndicesReader = class {
|
|
11814
12232
|
static read(pbf, end) {
|
|
@@ -11818,7 +12236,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11818
12236
|
}
|
|
11819
12237
|
static _readField(tag, obj, pbf) {
|
|
11820
12238
|
if (tag === 1)
|
|
11821
|
-
|
|
12239
|
+
readPackedTypedArray(BigUint64Array, pbf, obj);
|
|
11822
12240
|
}
|
|
11823
12241
|
};
|
|
11824
12242
|
var CellsReader = class {
|
|
@@ -11840,9 +12258,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11840
12258
|
}
|
|
11841
12259
|
}
|
|
11842
12260
|
};
|
|
11843
|
-
var
|
|
12261
|
+
var TileReader3 = class {
|
|
11844
12262
|
static read(pbf, end) {
|
|
11845
|
-
return pbf.readFields(
|
|
12263
|
+
return pbf.readFields(TileReader3._readField, {
|
|
11846
12264
|
scheme: 0,
|
|
11847
12265
|
cells: null
|
|
11848
12266
|
}, end);
|
|
@@ -11856,6 +12274,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11856
12274
|
};
|
|
11857
12275
|
|
|
11858
12276
|
// ../../node_modules/quadbin/dist/esm/index.js
|
|
12277
|
+
var import_tile_cover = __toESM(require_tile_cover());
|
|
11859
12278
|
var B = [
|
|
11860
12279
|
0x5555555555555555n,
|
|
11861
12280
|
0x3333333333333333n,
|
|
@@ -11961,7 +12380,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11961
12380
|
function parseCartoSpatialTile(arrayBuffer, options) {
|
|
11962
12381
|
if (!arrayBuffer)
|
|
11963
12382
|
return null;
|
|
11964
|
-
const tile = parsePbf(arrayBuffer,
|
|
12383
|
+
const tile = parsePbf(arrayBuffer, TileReader3);
|
|
11965
12384
|
const {
|
|
11966
12385
|
cells
|
|
11967
12386
|
} = tile;
|
|
@@ -11976,7 +12395,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11976
12395
|
|
|
11977
12396
|
// src/layers/spatial-index-tile-layer.ts
|
|
11978
12397
|
var import_geo_layers3 = __toESM(require_geo_layers());
|
|
11979
|
-
(0, import_core2.registerLoaders)([carto_spatial_tile_loader_default]);
|
|
12398
|
+
(0, import_core2.registerLoaders)([carto_raster_tile_loader_default, carto_spatial_tile_loader_default]);
|
|
11980
12399
|
function isFeatureIdDefined(value) {
|
|
11981
12400
|
return value !== void 0 && value !== null && value !== "";
|
|
11982
12401
|
}
|
|
@@ -11984,39 +12403,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11984
12403
|
aggregationResLevel: 4
|
|
11985
12404
|
};
|
|
11986
12405
|
var SpatialIndexTileLayer = class extends import_geo_layers3.TileLayer {
|
|
11987
|
-
getTileData(tile) {
|
|
11988
|
-
const {
|
|
11989
|
-
data,
|
|
11990
|
-
getTileData,
|
|
11991
|
-
fetch: fetch2
|
|
11992
|
-
} = this.props;
|
|
11993
|
-
const {
|
|
11994
|
-
signal
|
|
11995
|
-
} = tile;
|
|
11996
|
-
tile.url = typeof data === "string" || Array.isArray(data) ? (0, import_geo_layers3._getURLFromTemplate)(data, tile) : null;
|
|
11997
|
-
if (!tile.url) {
|
|
11998
|
-
return Promise.reject("Invalid URL");
|
|
11999
|
-
}
|
|
12000
|
-
if (getTileData) {
|
|
12001
|
-
return getTileData(tile);
|
|
12002
|
-
}
|
|
12003
|
-
let loadOptions = this.getLoadOptions();
|
|
12004
|
-
const {
|
|
12005
|
-
formatTiles
|
|
12006
|
-
} = this.props;
|
|
12007
|
-
if (formatTiles === TILE_FORMATS.BINARY) {
|
|
12008
|
-
loadOptions = {
|
|
12009
|
-
...loadOptions,
|
|
12010
|
-
mimeType: "application/vnd.carto-spatial-tile"
|
|
12011
|
-
};
|
|
12012
|
-
}
|
|
12013
|
-
return fetch2(tile.url, {
|
|
12014
|
-
propName: "data",
|
|
12015
|
-
layer: this,
|
|
12016
|
-
loadOptions,
|
|
12017
|
-
signal
|
|
12018
|
-
});
|
|
12019
|
-
}
|
|
12020
12406
|
updateState(params) {
|
|
12021
12407
|
const {
|
|
12022
12408
|
props,
|
|
@@ -12161,7 +12547,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12161
12547
|
...this.getLoadOptions(),
|
|
12162
12548
|
cartoSpatialTile: {
|
|
12163
12549
|
scheme: "h3"
|
|
12164
|
-
}
|
|
12550
|
+
},
|
|
12551
|
+
mimeType: "application/vnd.carto-spatial-tile"
|
|
12165
12552
|
}
|
|
12166
12553
|
})];
|
|
12167
12554
|
}
|
|
@@ -12193,15 +12580,18 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12193
12580
|
|
|
12194
12581
|
// src/layers/quadbin-utils.ts
|
|
12195
12582
|
var TILE_SIZE2 = 512;
|
|
12196
|
-
function
|
|
12583
|
+
function quadbinToOffset(quadbin) {
|
|
12197
12584
|
const {
|
|
12198
12585
|
x,
|
|
12199
12586
|
y,
|
|
12200
12587
|
z
|
|
12201
12588
|
} = cellToTile(quadbin);
|
|
12202
|
-
const
|
|
12203
|
-
|
|
12204
|
-
|
|
12589
|
+
const scale = TILE_SIZE2 / (1 << z);
|
|
12590
|
+
return [x * scale, TILE_SIZE2 - y * scale, scale];
|
|
12591
|
+
}
|
|
12592
|
+
function quadbinToWorldBounds(quadbin, coverage) {
|
|
12593
|
+
const [xOffset, yOffset, scale] = quadbinToOffset(quadbin);
|
|
12594
|
+
return [[xOffset, yOffset], [xOffset + coverage * scale, yOffset - coverage * scale]];
|
|
12205
12595
|
}
|
|
12206
12596
|
function getQuadbinPolygon(quadbin, coverage = 1) {
|
|
12207
12597
|
const [topLeft, bottomRight] = quadbinToWorldBounds(quadbin, coverage);
|
|
@@ -12323,7 +12713,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12323
12713
|
...this.getLoadOptions(),
|
|
12324
12714
|
cartoSpatialTile: {
|
|
12325
12715
|
scheme: "quadbin"
|
|
12326
|
-
}
|
|
12716
|
+
},
|
|
12717
|
+
mimeType: "application/vnd.carto-spatial-tile"
|
|
12327
12718
|
}
|
|
12328
12719
|
})];
|
|
12329
12720
|
}
|
|
@@ -12331,11 +12722,284 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12331
12722
|
__publicField(QuadbinTileLayer, "layerName", "QuadbinTileLayer");
|
|
12332
12723
|
__publicField(QuadbinTileLayer, "defaultProps", defaultProps5);
|
|
12333
12724
|
|
|
12725
|
+
// src/layers/raster-tile-layer.ts
|
|
12726
|
+
var import_core7 = __toESM(require_core());
|
|
12727
|
+
|
|
12728
|
+
// src/layers/raster-layer.ts
|
|
12729
|
+
var import_core6 = __toESM(require_core());
|
|
12730
|
+
var import_layers2 = __toESM(require_layers());
|
|
12731
|
+
|
|
12732
|
+
// src/layers/raster-layer-vertex.glsl.ts
|
|
12733
|
+
var raster_layer_vertex_glsl_default = `#version 300 es
|
|
12734
|
+
#define SHADER_NAME raster-layer-vertex-shader
|
|
12735
|
+
|
|
12736
|
+
in vec3 positions;
|
|
12737
|
+
in vec3 normals;
|
|
12738
|
+
|
|
12739
|
+
in float instanceElevations;
|
|
12740
|
+
in vec4 instanceFillColors;
|
|
12741
|
+
in vec4 instanceLineColors;
|
|
12742
|
+
|
|
12743
|
+
in vec3 instancePickingColors;
|
|
12744
|
+
|
|
12745
|
+
// Custom uniforms
|
|
12746
|
+
uniform float opacity;
|
|
12747
|
+
uniform bool extruded;
|
|
12748
|
+
uniform bool stroked;
|
|
12749
|
+
uniform bool isStroke;
|
|
12750
|
+
uniform float coverage;
|
|
12751
|
+
uniform float elevationScale;
|
|
12752
|
+
uniform float widthScale;
|
|
12753
|
+
uniform vec3 offset;
|
|
12754
|
+
|
|
12755
|
+
// Result
|
|
12756
|
+
out vec4 vColor;
|
|
12757
|
+
#ifdef FLAT_SHADING
|
|
12758
|
+
out vec4 position_commonspace;
|
|
12759
|
+
#endif
|
|
12760
|
+
|
|
12761
|
+
void main(void) {
|
|
12762
|
+
// Rather than positioning using attribute, layout pixel grid using gl_InstanceID
|
|
12763
|
+
vec2 common_position = offset.xy;
|
|
12764
|
+
float scale = offset.z;
|
|
12765
|
+
|
|
12766
|
+
int yIndex = - (gl_InstanceID / 256);
|
|
12767
|
+
int xIndex = gl_InstanceID + (yIndex * 256);
|
|
12768
|
+
common_position += scale * vec2(float(xIndex), float(yIndex));
|
|
12769
|
+
|
|
12770
|
+
vec4 color = isStroke ? instanceLineColors : instanceFillColors;
|
|
12771
|
+
|
|
12772
|
+
// if alpha == 0.0 or z < 0.0, do not render element
|
|
12773
|
+
float shouldRender = float(color.a > 0.0 && instanceElevations >= 0.0);
|
|
12774
|
+
float cellWidth = coverage * scale;
|
|
12775
|
+
|
|
12776
|
+
// Get position directly from quadbin, rather than projecting
|
|
12777
|
+
// Important to set geometry.position before using project_ methods below
|
|
12778
|
+
// as geometry.worldPosition is not set (we don't know our lat/long)
|
|
12779
|
+
geometry.position = vec4(common_position, 0.0, 1.0);
|
|
12780
|
+
if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {
|
|
12781
|
+
geometry.position.xyz -= project_uCommonOrigin;
|
|
12782
|
+
}
|
|
12783
|
+
|
|
12784
|
+
// calculate elevation, if 3d not enabled set to 0
|
|
12785
|
+
// cylindar geometry height are between -1.0 to 1.0, transform it to between 0, 1
|
|
12786
|
+
float elevation = 0.0;
|
|
12787
|
+
// calculate stroke offset
|
|
12788
|
+
float strokeOffsetRatio = 1.0;
|
|
12789
|
+
|
|
12790
|
+
if (extruded) {
|
|
12791
|
+
elevation = instanceElevations * (positions.z + 1.0) / 2.0 * elevationScale;
|
|
12792
|
+
} else if (stroked) {
|
|
12793
|
+
float halfOffset = project_pixel_size(widthScale) / cellWidth;
|
|
12794
|
+
if (isStroke) {
|
|
12795
|
+
strokeOffsetRatio -= sign(positions.z) * halfOffset;
|
|
12796
|
+
} else {
|
|
12797
|
+
strokeOffsetRatio -= halfOffset;
|
|
12798
|
+
}
|
|
12799
|
+
}
|
|
12800
|
+
|
|
12801
|
+
geometry.pickingColor = instancePickingColors;
|
|
12802
|
+
|
|
12803
|
+
// project center of column
|
|
12804
|
+
vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;
|
|
12805
|
+
vec3 pos = vec3(offset, project_size(elevation));
|
|
12806
|
+
DECKGL_FILTER_SIZE(pos, geometry);
|
|
12807
|
+
|
|
12808
|
+
geometry.position.xyz += pos;
|
|
12809
|
+
gl_Position = project_common_position_to_clipspace(geometry.position);
|
|
12810
|
+
|
|
12811
|
+
geometry.normal = project_normal(normals);
|
|
12812
|
+
DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
|
|
12813
|
+
|
|
12814
|
+
// Light calculations
|
|
12815
|
+
if (extruded && !isStroke) {
|
|
12816
|
+
#ifdef FLAT_SHADING
|
|
12817
|
+
position_commonspace = geometry.position;
|
|
12818
|
+
vColor = vec4(color.rgb, color.a * opacity);
|
|
12819
|
+
#else
|
|
12820
|
+
vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);
|
|
12821
|
+
vColor = vec4(lightColor, color.a * opacity);
|
|
12822
|
+
#endif
|
|
12823
|
+
} else {
|
|
12824
|
+
vColor = vec4(color.rgb, color.a * opacity);
|
|
12825
|
+
}
|
|
12826
|
+
|
|
12827
|
+
DECKGL_FILTER_COLOR(vColor, geometry);
|
|
12828
|
+
}
|
|
12829
|
+
`;
|
|
12830
|
+
|
|
12334
12831
|
// src/utils.ts
|
|
12335
12832
|
var import_core5 = __toESM(require_core());
|
|
12336
12833
|
function assert2(condition, message) {
|
|
12337
12834
|
import_core5.log.assert(condition, message);
|
|
12338
12835
|
}
|
|
12836
|
+
function createBinaryProxy(data, index) {
|
|
12837
|
+
const {
|
|
12838
|
+
properties,
|
|
12839
|
+
numericProps
|
|
12840
|
+
} = data;
|
|
12841
|
+
return new Proxy(properties[index] || {}, {
|
|
12842
|
+
get(target, property, receiver) {
|
|
12843
|
+
if (property in numericProps) {
|
|
12844
|
+
return numericProps[property].value[index];
|
|
12845
|
+
}
|
|
12846
|
+
return target[property];
|
|
12847
|
+
},
|
|
12848
|
+
has(target, property) {
|
|
12849
|
+
return property in numericProps || property in target;
|
|
12850
|
+
}
|
|
12851
|
+
});
|
|
12852
|
+
}
|
|
12853
|
+
|
|
12854
|
+
// src/layers/raster-layer.ts
|
|
12855
|
+
var defaultProps6 = {
|
|
12856
|
+
...import_layers2.ColumnLayer.defaultProps,
|
|
12857
|
+
extruded: false,
|
|
12858
|
+
diskResolution: 4,
|
|
12859
|
+
vertices: [[-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5]]
|
|
12860
|
+
};
|
|
12861
|
+
var RasterColumnLayer = class extends import_layers2.ColumnLayer {
|
|
12862
|
+
getShaders() {
|
|
12863
|
+
const shaders = super.getShaders();
|
|
12864
|
+
return {
|
|
12865
|
+
...shaders,
|
|
12866
|
+
vs: raster_layer_vertex_glsl_default
|
|
12867
|
+
};
|
|
12868
|
+
}
|
|
12869
|
+
initializeState() {
|
|
12870
|
+
const attributeManager = this.getAttributeManager();
|
|
12871
|
+
attributeManager.addInstanced({
|
|
12872
|
+
instanceElevations: {
|
|
12873
|
+
size: 1,
|
|
12874
|
+
transition: true,
|
|
12875
|
+
accessor: "getElevation"
|
|
12876
|
+
},
|
|
12877
|
+
instanceFillColors: {
|
|
12878
|
+
size: this.props.colorFormat.length,
|
|
12879
|
+
type: esm_default.UNSIGNED_BYTE,
|
|
12880
|
+
normalized: true,
|
|
12881
|
+
transition: true,
|
|
12882
|
+
accessor: "getFillColor",
|
|
12883
|
+
defaultValue: [0, 0, 0, 255]
|
|
12884
|
+
},
|
|
12885
|
+
instanceLineColors: {
|
|
12886
|
+
size: this.props.colorFormat.length,
|
|
12887
|
+
type: esm_default.UNSIGNED_BYTE,
|
|
12888
|
+
normalized: true,
|
|
12889
|
+
transition: true,
|
|
12890
|
+
accessor: "getLineColor",
|
|
12891
|
+
defaultValue: [255, 255, 255, 255]
|
|
12892
|
+
}
|
|
12893
|
+
});
|
|
12894
|
+
}
|
|
12895
|
+
};
|
|
12896
|
+
__publicField(RasterColumnLayer, "layerName", "RasterColumnLayer");
|
|
12897
|
+
var RasterLayer = class extends import_core6.CompositeLayer {
|
|
12898
|
+
renderLayers() {
|
|
12899
|
+
const {
|
|
12900
|
+
data,
|
|
12901
|
+
getElevation,
|
|
12902
|
+
getFillColor,
|
|
12903
|
+
getLineColor,
|
|
12904
|
+
getLineWidth,
|
|
12905
|
+
tileIndex,
|
|
12906
|
+
updateTriggers
|
|
12907
|
+
} = this.props;
|
|
12908
|
+
if (!data || !tileIndex)
|
|
12909
|
+
return null;
|
|
12910
|
+
const {
|
|
12911
|
+
blockWidth,
|
|
12912
|
+
blockHeight
|
|
12913
|
+
} = data;
|
|
12914
|
+
assert2(blockWidth === blockHeight, `blockWidth (${blockWidth}) must equal blockHeight (${blockHeight})`);
|
|
12915
|
+
const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
|
|
12916
|
+
const offset = [xOffset, yOffset, scale / blockWidth];
|
|
12917
|
+
const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
|
|
12918
|
+
return new CellLayer(this.props, this.getSubLayerProps({
|
|
12919
|
+
id: "cell",
|
|
12920
|
+
updateTriggers,
|
|
12921
|
+
getElevation: this.getSubLayerAccessor(getElevation),
|
|
12922
|
+
getFillColor: this.getSubLayerAccessor(getFillColor),
|
|
12923
|
+
getLineColor: this.getSubLayerAccessor(getLineColor),
|
|
12924
|
+
getLineWidth: this.getSubLayerAccessor(getLineWidth)
|
|
12925
|
+
}), {
|
|
12926
|
+
data: {
|
|
12927
|
+
data,
|
|
12928
|
+
length: blockWidth * blockHeight
|
|
12929
|
+
},
|
|
12930
|
+
offset
|
|
12931
|
+
});
|
|
12932
|
+
}
|
|
12933
|
+
getSubLayerAccessor(accessor) {
|
|
12934
|
+
if (typeof accessor !== "function") {
|
|
12935
|
+
return super.getSubLayerAccessor(accessor);
|
|
12936
|
+
}
|
|
12937
|
+
return (object, info) => {
|
|
12938
|
+
const {
|
|
12939
|
+
data,
|
|
12940
|
+
index
|
|
12941
|
+
} = info;
|
|
12942
|
+
const binaryData = data.data;
|
|
12943
|
+
const proxy = createBinaryProxy(binaryData.cells, index);
|
|
12944
|
+
return accessor({
|
|
12945
|
+
properties: proxy
|
|
12946
|
+
}, info);
|
|
12947
|
+
};
|
|
12948
|
+
}
|
|
12949
|
+
};
|
|
12950
|
+
__publicField(RasterLayer, "layerName", "RasterLayer");
|
|
12951
|
+
__publicField(RasterLayer, "defaultProps", defaultProps6);
|
|
12952
|
+
|
|
12953
|
+
// src/layers/raster-tile-layer.ts
|
|
12954
|
+
var renderSubLayers3 = (props) => {
|
|
12955
|
+
const tileIndex = props.tile?.index?.q;
|
|
12956
|
+
if (!tileIndex)
|
|
12957
|
+
return null;
|
|
12958
|
+
return new RasterLayer(props, {
|
|
12959
|
+
tileIndex
|
|
12960
|
+
});
|
|
12961
|
+
};
|
|
12962
|
+
var RasterTileLayer = class extends import_core7.CompositeLayer {
|
|
12963
|
+
initializeState() {
|
|
12964
|
+
this.setState({
|
|
12965
|
+
data: null,
|
|
12966
|
+
tileJSON: null
|
|
12967
|
+
});
|
|
12968
|
+
}
|
|
12969
|
+
updateState({
|
|
12970
|
+
changeFlags
|
|
12971
|
+
}) {
|
|
12972
|
+
if (changeFlags.dataChanged) {
|
|
12973
|
+
let {
|
|
12974
|
+
data
|
|
12975
|
+
} = this.props;
|
|
12976
|
+
const tileJSON = data;
|
|
12977
|
+
data = tileJSON.tiles;
|
|
12978
|
+
this.setState({
|
|
12979
|
+
data,
|
|
12980
|
+
tileJSON
|
|
12981
|
+
});
|
|
12982
|
+
}
|
|
12983
|
+
}
|
|
12984
|
+
renderLayers() {
|
|
12985
|
+
const {
|
|
12986
|
+
data,
|
|
12987
|
+
tileJSON
|
|
12988
|
+
} = this.state;
|
|
12989
|
+
const minZoom = parseInt(tileJSON?.minzoom);
|
|
12990
|
+
const maxZoom = parseInt(tileJSON?.maxzoom);
|
|
12991
|
+
return [new SpatialIndexTileLayer(this.props, {
|
|
12992
|
+
id: `raster-tile-layer-${this.props.id}`,
|
|
12993
|
+
data,
|
|
12994
|
+
TilesetClass: QuadbinTileset2D,
|
|
12995
|
+
renderSubLayers: renderSubLayers3,
|
|
12996
|
+
minZoom,
|
|
12997
|
+
maxZoom
|
|
12998
|
+
})];
|
|
12999
|
+
}
|
|
13000
|
+
};
|
|
13001
|
+
__publicField(RasterTileLayer, "layerName", "RasterTileLayer");
|
|
13002
|
+
__publicField(RasterTileLayer, "defaultProps", {});
|
|
12339
13003
|
|
|
12340
13004
|
// src/api/layer-map.ts
|
|
12341
13005
|
var SCALE_FUNCS = {
|
|
@@ -12417,7 +13081,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12417
13081
|
elevationPercentile: ["elevationLowerPercentile", "elevationUpperPercentile"],
|
|
12418
13082
|
percentile: ["lowerPercentile", "upperPercentile"]
|
|
12419
13083
|
};
|
|
12420
|
-
var
|
|
13084
|
+
var defaultProps7 = {
|
|
12421
13085
|
lineMiterLimit: 2,
|
|
12422
13086
|
lineWidthUnits: "pixels",
|
|
12423
13087
|
pointRadiusUnits: "pixels",
|
|
@@ -12447,7 +13111,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12447
13111
|
const hexagonId = config.columns?.hex_id;
|
|
12448
13112
|
const layerTypeDefs = {
|
|
12449
13113
|
point: {
|
|
12450
|
-
Layer:
|
|
13114
|
+
Layer: import_layers3.GeoJsonLayer,
|
|
12451
13115
|
propMap: {
|
|
12452
13116
|
columns: {
|
|
12453
13117
|
altitude: (x) => ({
|
|
@@ -12462,7 +13126,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12462
13126
|
}
|
|
12463
13127
|
},
|
|
12464
13128
|
geojson: {
|
|
12465
|
-
Layer:
|
|
13129
|
+
Layer: import_layers3.GeoJsonLayer
|
|
12466
13130
|
},
|
|
12467
13131
|
grid: {
|
|
12468
13132
|
Layer: import_aggregation_layers.CPUGridLayer,
|
|
@@ -12523,19 +13187,22 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12523
13187
|
...layer,
|
|
12524
13188
|
propMap: mergePropMaps(basePropMap, layer.propMap),
|
|
12525
13189
|
defaultProps: {
|
|
12526
|
-
...
|
|
13190
|
+
...defaultProps7,
|
|
12527
13191
|
...layer.defaultProps
|
|
12528
13192
|
}
|
|
12529
13193
|
};
|
|
12530
13194
|
}
|
|
12531
|
-
function layerFromTileDataset(formatTiles = TILE_FORMATS.MVT, scheme) {
|
|
13195
|
+
function layerFromTileDataset(formatTiles = TILE_FORMATS.MVT, scheme, type) {
|
|
13196
|
+
if (type === "raster") {
|
|
13197
|
+
return RasterTileLayer;
|
|
13198
|
+
}
|
|
12532
13199
|
if (scheme === "h3") {
|
|
12533
13200
|
return H3TileLayer;
|
|
12534
13201
|
}
|
|
12535
13202
|
if (scheme === "quadbin") {
|
|
12536
13203
|
return QuadbinTileLayer;
|
|
12537
13204
|
}
|
|
12538
|
-
if (formatTiles ===
|
|
13205
|
+
if (formatTiles === "mvt") {
|
|
12539
13206
|
return import_geo_layers7.MVTLayer;
|
|
12540
13207
|
}
|
|
12541
13208
|
return CartoTileLayer;
|
|
@@ -12554,7 +13221,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12554
13221
|
Layer: layerFromTileDataset(formatTiles, scheme),
|
|
12555
13222
|
propMap: basePropMap,
|
|
12556
13223
|
defaultProps: {
|
|
12557
|
-
...
|
|
13224
|
+
...defaultProps7,
|
|
12558
13225
|
...aggregationExp && {
|
|
12559
13226
|
aggregationExp
|
|
12560
13227
|
},
|
|
@@ -12620,21 +13287,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12620
13287
|
data: data2,
|
|
12621
13288
|
index
|
|
12622
13289
|
} = info;
|
|
12623
|
-
const
|
|
12624
|
-
properties,
|
|
12625
|
-
numericProps
|
|
12626
|
-
} = data2;
|
|
12627
|
-
const proxy = new Proxy(properties[index] || {}, {
|
|
12628
|
-
get(target, property, receiver) {
|
|
12629
|
-
if (property in numericProps) {
|
|
12630
|
-
return numericProps[property].value[index];
|
|
12631
|
-
}
|
|
12632
|
-
return target[property];
|
|
12633
|
-
},
|
|
12634
|
-
has(target, property) {
|
|
12635
|
-
return property in numericProps || property in target;
|
|
12636
|
-
}
|
|
12637
|
-
});
|
|
13290
|
+
const proxy = createBinaryProxy(data2, index);
|
|
12638
13291
|
return accessor(proxy);
|
|
12639
13292
|
};
|
|
12640
13293
|
}
|
|
@@ -12798,10 +13451,10 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12798
13451
|
}
|
|
12799
13452
|
|
|
12800
13453
|
// src/layers/point-label-layer.ts
|
|
12801
|
-
var
|
|
12802
|
-
var
|
|
13454
|
+
var import_core8 = __toESM(require_core());
|
|
13455
|
+
var import_layers4 = __toESM(require_layers());
|
|
12803
13456
|
var [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
|
|
12804
|
-
var EnhancedTextBackgroundLayer = class extends
|
|
13457
|
+
var EnhancedTextBackgroundLayer = class extends import_layers4._TextBackgroundLayer {
|
|
12805
13458
|
getShaders() {
|
|
12806
13459
|
const shaders = super.getShaders();
|
|
12807
13460
|
let vs = shaders.vs;
|
|
@@ -12814,7 +13467,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12814
13467
|
}
|
|
12815
13468
|
};
|
|
12816
13469
|
__publicField(EnhancedTextBackgroundLayer, "layerName", "EnhancedTextBackgroundLayer");
|
|
12817
|
-
var EnhancedTextLayer = class extends
|
|
13470
|
+
var EnhancedTextLayer = class extends import_layers4.TextLayer {
|
|
12818
13471
|
filterSubLayer({
|
|
12819
13472
|
layer,
|
|
12820
13473
|
renderPass
|
|
@@ -12827,8 +13480,8 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12827
13480
|
}
|
|
12828
13481
|
};
|
|
12829
13482
|
__publicField(EnhancedTextLayer, "layerName", "EnhancedTextLayer");
|
|
12830
|
-
var
|
|
12831
|
-
...
|
|
13483
|
+
var defaultProps8 = {
|
|
13484
|
+
...import_layers4.TextLayer.defaultProps,
|
|
12832
13485
|
getRadius: {
|
|
12833
13486
|
type: "accessor",
|
|
12834
13487
|
value: 1
|
|
@@ -12839,7 +13492,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12839
13492
|
value: 1
|
|
12840
13493
|
}
|
|
12841
13494
|
};
|
|
12842
|
-
var PointLabelLayer = class extends
|
|
13495
|
+
var PointLabelLayer = class extends import_core8.CompositeLayer {
|
|
12843
13496
|
calculatePixelOffset(secondary) {
|
|
12844
13497
|
const {
|
|
12845
13498
|
getTextAnchor: anchor,
|
|
@@ -12979,10 +13632,10 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12979
13632
|
}
|
|
12980
13633
|
};
|
|
12981
13634
|
__publicField(PointLabelLayer, "layerName", "PointLabelLayer");
|
|
12982
|
-
__publicField(PointLabelLayer, "defaultProps",
|
|
13635
|
+
__publicField(PointLabelLayer, "defaultProps", defaultProps8);
|
|
12983
13636
|
|
|
12984
13637
|
// src/api/parseMap.ts
|
|
12985
|
-
var
|
|
13638
|
+
var import_core9 = __toESM(require_core());
|
|
12986
13639
|
var import_extensions2 = __toESM(require_extensions());
|
|
12987
13640
|
var collisionFilterExtension = new import_extensions2.CollisionFilterExtension();
|
|
12988
13641
|
function parseMap(json) {
|
|
@@ -13029,13 +13682,13 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13029
13682
|
const {
|
|
13030
13683
|
Layer,
|
|
13031
13684
|
propMap,
|
|
13032
|
-
defaultProps:
|
|
13685
|
+
defaultProps: defaultProps10
|
|
13033
13686
|
} = getLayer(type, config, dataset);
|
|
13034
13687
|
const styleProps = createStyleProps(config, propMap);
|
|
13035
13688
|
return new Layer({
|
|
13036
13689
|
id,
|
|
13037
13690
|
data,
|
|
13038
|
-
...
|
|
13691
|
+
...defaultProps10,
|
|
13039
13692
|
...createInteractionProps(interactionConfig),
|
|
13040
13693
|
...styleProps,
|
|
13041
13694
|
...createChannelProps(id, type, config, visualChannels, data),
|
|
@@ -13043,7 +13696,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13043
13696
|
...createLoadOptions(token)
|
|
13044
13697
|
});
|
|
13045
13698
|
} catch (e) {
|
|
13046
|
-
|
|
13699
|
+
import_core9.log.error(e.message)();
|
|
13047
13700
|
return void 0;
|
|
13048
13701
|
}
|
|
13049
13702
|
})
|
|
@@ -13202,7 +13855,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13202
13855
|
data
|
|
13203
13856
|
);
|
|
13204
13857
|
}
|
|
13205
|
-
if (heightField) {
|
|
13858
|
+
if (heightField && visConfig.enable3d) {
|
|
13206
13859
|
result.getElevation = getSizeAccessor(
|
|
13207
13860
|
heightField,
|
|
13208
13861
|
heightScale,
|
|
@@ -13316,7 +13969,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13316
13969
|
}
|
|
13317
13970
|
|
|
13318
13971
|
// src/api/maps-v3-client.ts
|
|
13319
|
-
var
|
|
13972
|
+
var import_core10 = __toESM(require_core());
|
|
13320
13973
|
var MAX_GET_LENGTH = 8192;
|
|
13321
13974
|
var DEFAULT_CLIENT = "deck-gl-carto";
|
|
13322
13975
|
var V3_MINOR_VERSION = "3.1";
|
|
@@ -13364,7 +14017,14 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13364
14017
|
body,
|
|
13365
14018
|
errorContext
|
|
13366
14019
|
});
|
|
13367
|
-
|
|
14020
|
+
let json;
|
|
14021
|
+
try {
|
|
14022
|
+
json = await response.json();
|
|
14023
|
+
} catch (error) {
|
|
14024
|
+
json = {
|
|
14025
|
+
error: ""
|
|
14026
|
+
};
|
|
14027
|
+
}
|
|
13368
14028
|
if (!response.ok) {
|
|
13369
14029
|
throw new CartoAPIError(json.error, errorContext, response);
|
|
13370
14030
|
}
|
|
@@ -13643,7 +14303,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13643
14303
|
assert2(url && mapFormat, "Unsupported data formats received from backend.");
|
|
13644
14304
|
}
|
|
13645
14305
|
if (format2 === FORMATS.TILEJSON && formatTiles) {
|
|
13646
|
-
|
|
14306
|
+
import_core10.log.assert(Object.values(TILE_FORMATS).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`);
|
|
13647
14307
|
url += `&${encodeParameter("formatTiles", formatTiles)}`;
|
|
13648
14308
|
}
|
|
13649
14309
|
const {
|
|
@@ -13873,7 +14533,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13873
14533
|
}
|
|
13874
14534
|
|
|
13875
14535
|
// src/layers/carto-layer.ts
|
|
13876
|
-
var
|
|
14536
|
+
var defaultProps9 = {
|
|
13877
14537
|
data: null,
|
|
13878
14538
|
type: null,
|
|
13879
14539
|
onDataLoad: {
|
|
@@ -13906,7 +14566,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13906
14566
|
aggregationResLevel: null,
|
|
13907
14567
|
queryParameters: null
|
|
13908
14568
|
};
|
|
13909
|
-
var CartoLayer = class extends
|
|
14569
|
+
var CartoLayer = class extends import_core11.CompositeLayer {
|
|
13910
14570
|
initializeState() {
|
|
13911
14571
|
this.state = {
|
|
13912
14572
|
data: null,
|
|
@@ -13931,23 +14591,23 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13931
14591
|
const {
|
|
13932
14592
|
apiVersion
|
|
13933
14593
|
} = localCreds;
|
|
13934
|
-
|
|
14594
|
+
import_core11.log.assert(Object.values(API_VERSIONS).includes(apiVersion), `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`);
|
|
13935
14595
|
if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {
|
|
13936
|
-
|
|
13937
|
-
|
|
13938
|
-
|
|
13939
|
-
|
|
14596
|
+
import_core11.log.assert(type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET, `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`);
|
|
14597
|
+
import_core11.log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);
|
|
14598
|
+
import_core11.log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);
|
|
14599
|
+
import_core11.log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);
|
|
13940
14600
|
} else if (apiVersion === API_VERSIONS.V3) {
|
|
13941
|
-
|
|
13942
|
-
|
|
14601
|
+
import_core11.log.assert(connection, "Missing mandatory connection parameter");
|
|
14602
|
+
import_core11.log.assert(Object.values(MAP_TYPES).includes(type), `Invalid type ${type}. Use MAP_TYPES enum.`);
|
|
13943
14603
|
if (!COLUMNS_SUPPORT.includes(type)) {
|
|
13944
|
-
|
|
14604
|
+
import_core11.log.assert(!columns, `columns prop is only supported for types: ${COLUMNS_SUPPORT.join()}`);
|
|
13945
14605
|
}
|
|
13946
14606
|
if (!GEO_COLUMN_SUPPORT.includes(type)) {
|
|
13947
|
-
|
|
14607
|
+
import_core11.log.assert(!geoColumn, `geoColumn prop is only supported for types: ${GEO_COLUMN_SUPPORT.join()}`);
|
|
13948
14608
|
}
|
|
13949
14609
|
if (columns) {
|
|
13950
|
-
|
|
14610
|
+
import_core11.log.assert(Array.isArray(columns), "columns prop must be an Array");
|
|
13951
14611
|
}
|
|
13952
14612
|
}
|
|
13953
14613
|
}
|
|
@@ -14025,7 +14685,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14025
14685
|
} = this.state;
|
|
14026
14686
|
const {
|
|
14027
14687
|
uniqueIdProperty
|
|
14028
|
-
} =
|
|
14688
|
+
} = defaultProps9;
|
|
14029
14689
|
const {
|
|
14030
14690
|
data: _notUsed,
|
|
14031
14691
|
...propsNoData
|
|
@@ -14039,7 +14699,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14039
14699
|
}
|
|
14040
14700
|
const tileUrl = new URL(data.tiles[0]);
|
|
14041
14701
|
props.formatTiles = props.formatTiles || tileUrl.searchParams.get("formatTiles");
|
|
14042
|
-
return [layerFromTileDataset(props.formatTiles, data.scheme), props];
|
|
14702
|
+
return [layerFromTileDataset(props.formatTiles, data.scheme, props.type), props];
|
|
14043
14703
|
}
|
|
14044
14704
|
renderLayers() {
|
|
14045
14705
|
assert2(this.state);
|
|
@@ -14078,7 +14738,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14078
14738
|
}
|
|
14079
14739
|
};
|
|
14080
14740
|
__publicField(CartoLayer, "layerName", "CartoLayer");
|
|
14081
|
-
__publicField(CartoLayer, "defaultProps",
|
|
14741
|
+
__publicField(CartoLayer, "defaultProps", defaultProps9);
|
|
14082
14742
|
|
|
14083
14743
|
// src/basemap.ts
|
|
14084
14744
|
var baseUrl = "https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";
|
|
@@ -14204,9 +14864,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14204
14864
|
|
|
14205
14865
|
// ../layers/bundle/peer-dependency.ts
|
|
14206
14866
|
var peer_dependency_exports = {};
|
|
14207
|
-
var
|
|
14867
|
+
var import_layers5 = __toESM(require_layers());
|
|
14208
14868
|
__reExport(peer_dependency_exports, __toESM(require_layers()));
|
|
14209
|
-
if (!
|
|
14869
|
+
if (!import_layers5.GeoJsonLayer) {
|
|
14210
14870
|
throw new Error("@deck.gl/layers is not found");
|
|
14211
14871
|
}
|
|
14212
14872
|
|