@deck.gl/carto 9.3.0-beta.1 → 9.3.0-beta.2
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/cartoPropertiesTile-worker.js +1 -1
- package/dist/cartoRasterTile-worker.js +1 -1
- package/dist/cartoSpatialTile-worker.js +3 -330
- package/dist/cartoVectorTile-worker.js +1 -1
- package/dist/dist.dev.js +1359 -1702
- package/dist/index.cjs +4 -4
- package/dist/layers/schema/carto-properties-tile-loader.js +1 -1
- 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 +10 -10
- package/package.json +3 -3
|
@@ -5562,7 +5562,7 @@
|
|
|
5562
5562
|
};
|
|
5563
5563
|
|
|
5564
5564
|
// src/layers/schema/carto-properties-tile-loader.ts
|
|
5565
|
-
var VERSION = true ? "9.3.0-beta.
|
|
5565
|
+
var VERSION = true ? "9.3.0-beta.2" : "latest";
|
|
5566
5566
|
var id = "cartoPropertiesTile";
|
|
5567
5567
|
var DEFAULT_OPTIONS = {
|
|
5568
5568
|
cartoPropertiesTile: {
|
|
@@ -5548,7 +5548,7 @@
|
|
|
5548
5548
|
};
|
|
5549
5549
|
|
|
5550
5550
|
// src/layers/schema/carto-raster-tile-loader.ts
|
|
5551
|
-
var VERSION = true ? "9.3.0-beta.
|
|
5551
|
+
var VERSION = true ? "9.3.0-beta.2" : "latest";
|
|
5552
5552
|
var id = "cartoRasterTile";
|
|
5553
5553
|
var DEFAULT_OPTIONS = {
|
|
5554
5554
|
cartoRasterTile: {
|
|
@@ -4974,334 +4974,6 @@
|
|
|
4974
4974
|
}
|
|
4975
4975
|
});
|
|
4976
4976
|
|
|
4977
|
-
// ../../node_modules/tilebelt/index.js
|
|
4978
|
-
var require_tilebelt = __commonJS({
|
|
4979
|
-
"../../node_modules/tilebelt/index.js"(exports, module) {
|
|
4980
|
-
var d2r = Math.PI / 180;
|
|
4981
|
-
var r2d = 180 / Math.PI;
|
|
4982
|
-
function tileToBBOX(tile) {
|
|
4983
|
-
var e = tile2lon(tile[0] + 1, tile[2]);
|
|
4984
|
-
var w = tile2lon(tile[0], tile[2]);
|
|
4985
|
-
var s = tile2lat(tile[1] + 1, tile[2]);
|
|
4986
|
-
var n = tile2lat(tile[1], tile[2]);
|
|
4987
|
-
return [w, s, e, n];
|
|
4988
|
-
}
|
|
4989
|
-
function tileToGeoJSON(tile) {
|
|
4990
|
-
var bbox = tileToBBOX(tile);
|
|
4991
|
-
var poly = {
|
|
4992
|
-
type: "Polygon",
|
|
4993
|
-
coordinates: [
|
|
4994
|
-
[
|
|
4995
|
-
[bbox[0], bbox[1]],
|
|
4996
|
-
[bbox[0], bbox[3]],
|
|
4997
|
-
[bbox[2], bbox[3]],
|
|
4998
|
-
[bbox[2], bbox[1]],
|
|
4999
|
-
[bbox[0], bbox[1]]
|
|
5000
|
-
]
|
|
5001
|
-
]
|
|
5002
|
-
};
|
|
5003
|
-
return poly;
|
|
5004
|
-
}
|
|
5005
|
-
function tile2lon(x, z) {
|
|
5006
|
-
return x / Math.pow(2, z) * 360 - 180;
|
|
5007
|
-
}
|
|
5008
|
-
function tile2lat(y, z) {
|
|
5009
|
-
var n = Math.PI - 2 * Math.PI * y / Math.pow(2, z);
|
|
5010
|
-
return r2d * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));
|
|
5011
|
-
}
|
|
5012
|
-
function pointToTile(lon, lat, z) {
|
|
5013
|
-
var tile = pointToTileFraction(lon, lat, z);
|
|
5014
|
-
tile[0] = Math.floor(tile[0]);
|
|
5015
|
-
tile[1] = Math.floor(tile[1]);
|
|
5016
|
-
return tile;
|
|
5017
|
-
}
|
|
5018
|
-
function getChildren(tile) {
|
|
5019
|
-
return [
|
|
5020
|
-
[tile[0] * 2, tile[1] * 2, tile[2] + 1],
|
|
5021
|
-
[tile[0] * 2 + 1, tile[1] * 2, tile[2] + 1],
|
|
5022
|
-
[tile[0] * 2 + 1, tile[1] * 2 + 1, tile[2] + 1],
|
|
5023
|
-
[tile[0] * 2, tile[1] * 2 + 1, tile[2] + 1]
|
|
5024
|
-
];
|
|
5025
|
-
}
|
|
5026
|
-
function getParent(tile) {
|
|
5027
|
-
if (tile[0] % 2 === 0 && tile[1] % 2 === 0) {
|
|
5028
|
-
return [tile[0] / 2, tile[1] / 2, tile[2] - 1];
|
|
5029
|
-
} else if (tile[0] % 2 === 0 && !tile[1] % 2 === 0) {
|
|
5030
|
-
return [tile[0] / 2, (tile[1] - 1) / 2, tile[2] - 1];
|
|
5031
|
-
} else if (!tile[0] % 2 === 0 && tile[1] % 2 === 0) {
|
|
5032
|
-
return [(tile[0] - 1) / 2, tile[1] / 2, tile[2] - 1];
|
|
5033
|
-
} else {
|
|
5034
|
-
return [(tile[0] - 1) / 2, (tile[1] - 1) / 2, tile[2] - 1];
|
|
5035
|
-
}
|
|
5036
|
-
}
|
|
5037
|
-
function getSiblings(tile) {
|
|
5038
|
-
return getChildren(getParent(tile));
|
|
5039
|
-
}
|
|
5040
|
-
function hasSiblings(tile, tiles2) {
|
|
5041
|
-
var siblings = getSiblings(tile);
|
|
5042
|
-
for (var i = 0; i < siblings.length; i++) {
|
|
5043
|
-
if (!hasTile(tiles2, siblings[i]))
|
|
5044
|
-
return false;
|
|
5045
|
-
}
|
|
5046
|
-
return true;
|
|
5047
|
-
}
|
|
5048
|
-
function hasTile(tiles2, tile) {
|
|
5049
|
-
for (var i = 0; i < tiles2.length; i++) {
|
|
5050
|
-
if (tilesEqual(tiles2[i], tile))
|
|
5051
|
-
return true;
|
|
5052
|
-
}
|
|
5053
|
-
return false;
|
|
5054
|
-
}
|
|
5055
|
-
function tilesEqual(tile1, tile2) {
|
|
5056
|
-
return tile1[0] === tile2[0] && tile1[1] === tile2[1] && tile1[2] === tile2[2];
|
|
5057
|
-
}
|
|
5058
|
-
function tileToQuadkey(tile) {
|
|
5059
|
-
var index = "";
|
|
5060
|
-
for (var z = tile[2]; z > 0; z--) {
|
|
5061
|
-
var b = 0;
|
|
5062
|
-
var mask = 1 << z - 1;
|
|
5063
|
-
if ((tile[0] & mask) !== 0)
|
|
5064
|
-
b++;
|
|
5065
|
-
if ((tile[1] & mask) !== 0)
|
|
5066
|
-
b += 2;
|
|
5067
|
-
index += b.toString();
|
|
5068
|
-
}
|
|
5069
|
-
return index;
|
|
5070
|
-
}
|
|
5071
|
-
function quadkeyToTile(quadkey) {
|
|
5072
|
-
var x = 0;
|
|
5073
|
-
var y = 0;
|
|
5074
|
-
var z = quadkey.length;
|
|
5075
|
-
for (var i = z; i > 0; i--) {
|
|
5076
|
-
var mask = 1 << i - 1;
|
|
5077
|
-
switch (quadkey[z - i]) {
|
|
5078
|
-
case "0":
|
|
5079
|
-
break;
|
|
5080
|
-
case "1":
|
|
5081
|
-
x |= mask;
|
|
5082
|
-
break;
|
|
5083
|
-
case "2":
|
|
5084
|
-
y |= mask;
|
|
5085
|
-
break;
|
|
5086
|
-
case "3":
|
|
5087
|
-
x |= mask;
|
|
5088
|
-
y |= mask;
|
|
5089
|
-
break;
|
|
5090
|
-
}
|
|
5091
|
-
}
|
|
5092
|
-
return [x, y, z];
|
|
5093
|
-
}
|
|
5094
|
-
function bboxToTile(bboxCoords) {
|
|
5095
|
-
var min = pointToTile(bboxCoords[0], bboxCoords[1], 32);
|
|
5096
|
-
var max = pointToTile(bboxCoords[2], bboxCoords[3], 32);
|
|
5097
|
-
var bbox = [min[0], min[1], max[0], max[1]];
|
|
5098
|
-
var z = getBboxZoom(bbox);
|
|
5099
|
-
if (z === 0)
|
|
5100
|
-
return [0, 0, 0];
|
|
5101
|
-
var x = bbox[0] >>> 32 - z;
|
|
5102
|
-
var y = bbox[1] >>> 32 - z;
|
|
5103
|
-
return [x, y, z];
|
|
5104
|
-
}
|
|
5105
|
-
function getBboxZoom(bbox) {
|
|
5106
|
-
var MAX_ZOOM = 28;
|
|
5107
|
-
for (var z = 0; z < MAX_ZOOM; z++) {
|
|
5108
|
-
var mask = 1 << 32 - (z + 1);
|
|
5109
|
-
if ((bbox[0] & mask) != (bbox[2] & mask) || (bbox[1] & mask) != (bbox[3] & mask)) {
|
|
5110
|
-
return z;
|
|
5111
|
-
}
|
|
5112
|
-
}
|
|
5113
|
-
return MAX_ZOOM;
|
|
5114
|
-
}
|
|
5115
|
-
function pointToTileFraction(lon, lat, z) {
|
|
5116
|
-
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);
|
|
5117
|
-
return [x, y, z];
|
|
5118
|
-
}
|
|
5119
|
-
module.exports = {
|
|
5120
|
-
tileToGeoJSON,
|
|
5121
|
-
tileToBBOX,
|
|
5122
|
-
getChildren,
|
|
5123
|
-
getParent,
|
|
5124
|
-
getSiblings,
|
|
5125
|
-
hasTile,
|
|
5126
|
-
hasSiblings,
|
|
5127
|
-
tilesEqual,
|
|
5128
|
-
tileToQuadkey,
|
|
5129
|
-
quadkeyToTile,
|
|
5130
|
-
pointToTile,
|
|
5131
|
-
bboxToTile,
|
|
5132
|
-
pointToTileFraction
|
|
5133
|
-
};
|
|
5134
|
-
}
|
|
5135
|
-
});
|
|
5136
|
-
|
|
5137
|
-
// ../../node_modules/@mapbox/tile-cover/index.js
|
|
5138
|
-
var require_tile_cover = __commonJS({
|
|
5139
|
-
"../../node_modules/@mapbox/tile-cover/index.js"(exports) {
|
|
5140
|
-
var tilebelt = require_tilebelt();
|
|
5141
|
-
exports.geojson = function(geom, limits) {
|
|
5142
|
-
return {
|
|
5143
|
-
type: "FeatureCollection",
|
|
5144
|
-
features: getTiles(geom, limits).map(tileToFeature)
|
|
5145
|
-
};
|
|
5146
|
-
};
|
|
5147
|
-
function tileToFeature(t) {
|
|
5148
|
-
return {
|
|
5149
|
-
type: "Feature",
|
|
5150
|
-
geometry: tilebelt.tileToGeoJSON(t),
|
|
5151
|
-
properties: {}
|
|
5152
|
-
};
|
|
5153
|
-
}
|
|
5154
|
-
exports.tiles = getTiles;
|
|
5155
|
-
exports.indexes = function(geom, limits) {
|
|
5156
|
-
return getTiles(geom, limits).map(tilebelt.tileToQuadkey);
|
|
5157
|
-
};
|
|
5158
|
-
function getTiles(geom, limits) {
|
|
5159
|
-
var i, tile, coords = geom.coordinates, maxZoom = limits.max_zoom, tileHash = {}, tiles2 = [];
|
|
5160
|
-
if (geom.type === "Point") {
|
|
5161
|
-
return [tilebelt.pointToTile(coords[0], coords[1], maxZoom)];
|
|
5162
|
-
} else if (geom.type === "MultiPoint") {
|
|
5163
|
-
for (i = 0; i < coords.length; i++) {
|
|
5164
|
-
tile = tilebelt.pointToTile(coords[i][0], coords[i][1], maxZoom);
|
|
5165
|
-
tileHash[toID(tile[0], tile[1], tile[2])] = true;
|
|
5166
|
-
}
|
|
5167
|
-
} else if (geom.type === "LineString") {
|
|
5168
|
-
lineCover(tileHash, coords, maxZoom);
|
|
5169
|
-
} else if (geom.type === "MultiLineString") {
|
|
5170
|
-
for (i = 0; i < coords.length; i++) {
|
|
5171
|
-
lineCover(tileHash, coords[i], maxZoom);
|
|
5172
|
-
}
|
|
5173
|
-
} else if (geom.type === "Polygon") {
|
|
5174
|
-
polygonCover(tileHash, tiles2, coords, maxZoom);
|
|
5175
|
-
} else if (geom.type === "MultiPolygon") {
|
|
5176
|
-
for (i = 0; i < coords.length; i++) {
|
|
5177
|
-
polygonCover(tileHash, tiles2, coords[i], maxZoom);
|
|
5178
|
-
}
|
|
5179
|
-
} else {
|
|
5180
|
-
throw new Error("Geometry type not implemented");
|
|
5181
|
-
}
|
|
5182
|
-
if (limits.min_zoom !== maxZoom) {
|
|
5183
|
-
var len = tiles2.length;
|
|
5184
|
-
appendHashTiles(tileHash, tiles2);
|
|
5185
|
-
for (i = 0; i < len; i++) {
|
|
5186
|
-
var t = tiles2[i];
|
|
5187
|
-
tileHash[toID(t[0], t[1], t[2])] = true;
|
|
5188
|
-
}
|
|
5189
|
-
return mergeTiles(tileHash, tiles2, limits);
|
|
5190
|
-
}
|
|
5191
|
-
appendHashTiles(tileHash, tiles2);
|
|
5192
|
-
return tiles2;
|
|
5193
|
-
}
|
|
5194
|
-
function mergeTiles(tileHash, tiles2, limits) {
|
|
5195
|
-
var mergedTiles = [];
|
|
5196
|
-
for (var z = limits.max_zoom; z > limits.min_zoom; z--) {
|
|
5197
|
-
var parentTileHash = {};
|
|
5198
|
-
var parentTiles = [];
|
|
5199
|
-
for (var i = 0; i < tiles2.length; i++) {
|
|
5200
|
-
var t = tiles2[i];
|
|
5201
|
-
if (t[0] % 2 === 0 && t[1] % 2 === 0) {
|
|
5202
|
-
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);
|
|
5203
|
-
if (tileHash[id2] && tileHash[id3] && tileHash[id4]) {
|
|
5204
|
-
tileHash[toID(t[0], t[1], t[2])] = false;
|
|
5205
|
-
tileHash[id2] = false;
|
|
5206
|
-
tileHash[id3] = false;
|
|
5207
|
-
tileHash[id4] = false;
|
|
5208
|
-
var parentTile = [t[0] / 2, t[1] / 2, z - 1];
|
|
5209
|
-
if (z - 1 === limits.min_zoom)
|
|
5210
|
-
mergedTiles.push(parentTile);
|
|
5211
|
-
else {
|
|
5212
|
-
parentTileHash[toID(t[0] / 2, t[1] / 2, z - 1)] = true;
|
|
5213
|
-
parentTiles.push(parentTile);
|
|
5214
|
-
}
|
|
5215
|
-
}
|
|
5216
|
-
}
|
|
5217
|
-
}
|
|
5218
|
-
for (i = 0; i < tiles2.length; i++) {
|
|
5219
|
-
t = tiles2[i];
|
|
5220
|
-
if (tileHash[toID(t[0], t[1], t[2])])
|
|
5221
|
-
mergedTiles.push(t);
|
|
5222
|
-
}
|
|
5223
|
-
tileHash = parentTileHash;
|
|
5224
|
-
tiles2 = parentTiles;
|
|
5225
|
-
}
|
|
5226
|
-
return mergedTiles;
|
|
5227
|
-
}
|
|
5228
|
-
function polygonCover(tileHash, tileArray, geom, zoom) {
|
|
5229
|
-
var intersections = [];
|
|
5230
|
-
for (var i = 0; i < geom.length; i++) {
|
|
5231
|
-
var ring = [];
|
|
5232
|
-
lineCover(tileHash, geom[i], zoom, ring);
|
|
5233
|
-
for (var j = 0, len = ring.length, k = len - 1; j < len; k = j++) {
|
|
5234
|
-
var m = (j + 1) % len;
|
|
5235
|
-
var y = ring[j][1];
|
|
5236
|
-
if ((y > ring[k][1] || y > ring[m][1]) && // not local minimum
|
|
5237
|
-
(y < ring[k][1] || y < ring[m][1]) && // not local maximum
|
|
5238
|
-
y !== ring[m][1])
|
|
5239
|
-
intersections.push(ring[j]);
|
|
5240
|
-
}
|
|
5241
|
-
}
|
|
5242
|
-
intersections.sort(compareTiles);
|
|
5243
|
-
for (i = 0; i < intersections.length; i += 2) {
|
|
5244
|
-
y = intersections[i][1];
|
|
5245
|
-
for (var x = intersections[i][0] + 1; x < intersections[i + 1][0]; x++) {
|
|
5246
|
-
var id2 = toID(x, y, zoom);
|
|
5247
|
-
if (!tileHash[id2]) {
|
|
5248
|
-
tileArray.push([x, y, zoom]);
|
|
5249
|
-
}
|
|
5250
|
-
}
|
|
5251
|
-
}
|
|
5252
|
-
}
|
|
5253
|
-
function compareTiles(a, b) {
|
|
5254
|
-
return a[1] - b[1] || a[0] - b[0];
|
|
5255
|
-
}
|
|
5256
|
-
function lineCover(tileHash, coords, maxZoom, ring) {
|
|
5257
|
-
var prevX, prevY;
|
|
5258
|
-
for (var i = 0; i < coords.length - 1; i++) {
|
|
5259
|
-
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;
|
|
5260
|
-
if (dy === 0 && dx === 0)
|
|
5261
|
-
continue;
|
|
5262
|
-
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);
|
|
5263
|
-
if (x !== prevX || y !== prevY) {
|
|
5264
|
-
tileHash[toID(x, y, maxZoom)] = true;
|
|
5265
|
-
if (ring && y !== prevY)
|
|
5266
|
-
ring.push([x, y]);
|
|
5267
|
-
prevX = x;
|
|
5268
|
-
prevY = y;
|
|
5269
|
-
}
|
|
5270
|
-
while (tMaxX < 1 || tMaxY < 1) {
|
|
5271
|
-
if (tMaxX < tMaxY) {
|
|
5272
|
-
tMaxX += tdx;
|
|
5273
|
-
x += sx;
|
|
5274
|
-
} else {
|
|
5275
|
-
tMaxY += tdy;
|
|
5276
|
-
y += sy;
|
|
5277
|
-
}
|
|
5278
|
-
tileHash[toID(x, y, maxZoom)] = true;
|
|
5279
|
-
if (ring && y !== prevY)
|
|
5280
|
-
ring.push([x, y]);
|
|
5281
|
-
prevX = x;
|
|
5282
|
-
prevY = y;
|
|
5283
|
-
}
|
|
5284
|
-
}
|
|
5285
|
-
if (ring && y === ring[0][1])
|
|
5286
|
-
ring.pop();
|
|
5287
|
-
}
|
|
5288
|
-
function appendHashTiles(hash, tiles2) {
|
|
5289
|
-
var keys = Object.keys(hash);
|
|
5290
|
-
for (var i = 0; i < keys.length; i++) {
|
|
5291
|
-
tiles2.push(fromID(+keys[i]));
|
|
5292
|
-
}
|
|
5293
|
-
}
|
|
5294
|
-
function toID(x, y, z) {
|
|
5295
|
-
var dim = 2 * (1 << z);
|
|
5296
|
-
return (dim * y + x) * 32 + z;
|
|
5297
|
-
}
|
|
5298
|
-
function fromID(id2) {
|
|
5299
|
-
var z = id2 % 32, dim = 2 * (1 << z), xy = (id2 - z) / 32, x = xy % dim, y = (xy - x) / dim % dim;
|
|
5300
|
-
return [x, y, z];
|
|
5301
|
-
}
|
|
5302
|
-
}
|
|
5303
|
-
});
|
|
5304
|
-
|
|
5305
4977
|
// ../../node_modules/@loaders.gl/loader-utils/dist/lib/env-utils/globals.js
|
|
5306
4978
|
var globals = {
|
|
5307
4979
|
self: typeof self !== "undefined" && self,
|
|
@@ -5925,7 +5597,8 @@
|
|
|
5925
5597
|
};
|
|
5926
5598
|
|
|
5927
5599
|
// ../../node_modules/quadbin/dist/index.esm.js
|
|
5928
|
-
var
|
|
5600
|
+
var d2r = Math.PI / 180;
|
|
5601
|
+
var r2d = 180 / Math.PI;
|
|
5929
5602
|
function bigIntToHex(index) {
|
|
5930
5603
|
return index.toString(16);
|
|
5931
5604
|
}
|
|
@@ -5947,7 +5620,7 @@
|
|
|
5947
5620
|
}
|
|
5948
5621
|
|
|
5949
5622
|
// src/layers/schema/carto-spatial-tile-loader.ts
|
|
5950
|
-
var VERSION = true ? "9.3.0-beta.
|
|
5623
|
+
var VERSION = true ? "9.3.0-beta.2" : "latest";
|
|
5951
5624
|
var id = "cartoSpatialTile";
|
|
5952
5625
|
var DEFAULT_OPTIONS = {
|
|
5953
5626
|
cartoSpatialTile: {
|
|
@@ -6167,7 +6167,7 @@
|
|
|
6167
6167
|
};
|
|
6168
6168
|
|
|
6169
6169
|
// src/layers/schema/carto-vector-tile-loader.ts
|
|
6170
|
-
var VERSION = true ? "9.3.0-beta.
|
|
6170
|
+
var VERSION = true ? "9.3.0-beta.2" : "latest";
|
|
6171
6171
|
var id = "cartoVectorTile";
|
|
6172
6172
|
var DEFAULT_OPTIONS = {
|
|
6173
6173
|
cartoVectorTile: {
|