@deck.gl/carto 8.10.0-alpha.2 → 8.10.0-alpha.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/LICENSE +1 -1
- package/dist/cartoRasterTile-worker.js +1084 -0
- package/dist/cartoSpatialTile-worker.js +1469 -0
- package/dist/cartoVectorTile-worker.js +1727 -0
- package/dist/dist.dev.js +2137 -1936
- package/dist/es5/api/carto-api-error.js +3 -7
- package/dist/es5/api/carto-api-error.js.map +1 -1
- package/dist/es5/api/layer-map.js +3 -7
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +0 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +5 -20
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +74 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +196 -200
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +57 -79
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tileset-2d.js +62 -68
- package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
- package/dist/es5/layers/point-label-layer.js +160 -165
- package/dist/es5/layers/point-label-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js +23 -27
- package/dist/es5/layers/quadbin-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +39 -63
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tileset-2d.js +32 -38
- package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/es5/layers/raster-layer.js +94 -98
- package/dist/es5/layers/raster-layer.js.map +1 -1
- package/dist/es5/layers/raster-tile-layer.js +37 -58
- package/dist/es5/layers/raster-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile.js +31 -39
- package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js +36 -47
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +161 -196
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +67 -73
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/es5/layers/utils.js +29 -0
- package/dist/es5/layers/utils.js.map +1 -0
- package/dist/es5/layers/vector-tile-layer.js +163 -0
- package/dist/es5/layers/vector-tile-layer.js.map +1 -0
- package/dist/es5/sources/base-source.js +100 -0
- package/dist/es5/sources/base-source.js.map +1 -0
- package/dist/es5/sources/common.js +48 -0
- package/dist/es5/sources/common.js.map +1 -0
- package/dist/es5/sources/h3-query-source.js +58 -0
- package/dist/es5/sources/h3-query-source.js.map +1 -0
- package/dist/es5/sources/h3-table-source.js +58 -0
- package/dist/es5/sources/h3-table-source.js.map +1 -0
- package/dist/es5/sources/h3-tileset-source.js +43 -0
- package/dist/es5/sources/h3-tileset-source.js.map +1 -0
- package/dist/es5/sources/index.js +94 -0
- package/dist/es5/sources/index.js.map +1 -0
- package/dist/es5/sources/quadbin-query-source.js +58 -0
- package/dist/es5/sources/quadbin-query-source.js.map +1 -0
- package/dist/es5/sources/quadbin-table-source.js +58 -0
- package/dist/es5/sources/quadbin-table-source.js.map +1 -0
- package/dist/es5/sources/quadbin-tileset-source.js +43 -0
- package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/es5/sources/raster-source.js +43 -0
- package/dist/es5/sources/raster-source.js.map +1 -0
- package/dist/es5/sources/utils.js +136 -0
- package/dist/es5/sources/utils.js.map +1 -0
- package/dist/es5/sources/vector-query-source.js +52 -0
- package/dist/es5/sources/vector-query-source.js.map +1 -0
- package/dist/es5/sources/vector-table-source.js +52 -0
- package/dist/es5/sources/vector-table-source.js.map +1 -0
- package/dist/es5/sources/vector-tileset-source.js +43 -0
- package/dist/es5/sources/vector-tileset-source.js.map +1 -0
- package/dist/es5/utils.js +5 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/es5/workers/cartoRasterTile.js +10 -0
- package/dist/es5/workers/cartoRasterTile.js.map +1 -0
- package/dist/es5/workers/cartoSpatialTile.js +10 -0
- package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
- package/dist/es5/workers/cartoVectorTile.js +10 -0
- package/dist/es5/workers/cartoVectorTile.js.map +1 -0
- package/dist/esm/api/carto-api-error.js +8 -13
- package/dist/esm/api/carto-api-error.js.map +1 -1
- package/dist/esm/api/layer-map.js +7 -11
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +3 -4
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-client.js +7 -7
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +14 -24
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +4 -4
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/config.js +3 -3
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +12 -15
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +24 -43
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/point-label-layer.js +6 -10
- package/dist/esm/layers/point-label-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js +2 -5
- package/dist/esm/layers/quadbin-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +21 -44
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js +98 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/layers/raster-layer.js +4 -8
- package/dist/esm/layers/raster-layer.js.map +1 -1
- package/dist/esm/layers/raster-tile-layer.js +21 -39
- package/dist/esm/layers/raster-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile.js +1 -1
- package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +1 -1
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +2 -5
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/layers/utils.js +14 -0
- package/dist/esm/layers/utils.js.map +1 -0
- package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -18
- package/dist/esm/layers/vector-tile-layer.js.map +1 -0
- package/dist/esm/sources/base-source.js +49 -0
- package/dist/esm/sources/base-source.js.map +1 -0
- package/dist/esm/sources/common.js +26 -0
- package/dist/esm/sources/common.js.map +1 -0
- package/dist/esm/sources/h3-query-source.js +32 -0
- package/dist/esm/sources/h3-query-source.js.map +1 -0
- package/dist/esm/sources/h3-table-source.js +32 -0
- package/dist/esm/sources/h3-table-source.js.map +1 -0
- package/dist/esm/sources/h3-tileset-source.js +14 -0
- package/dist/esm/sources/h3-tileset-source.js.map +1 -0
- package/dist/esm/sources/index.js +12 -0
- package/dist/esm/sources/index.js.map +1 -0
- package/dist/esm/sources/quadbin-query-source.js +32 -0
- package/dist/esm/sources/quadbin-query-source.js.map +1 -0
- package/dist/esm/sources/quadbin-table-source.js +32 -0
- package/dist/esm/sources/quadbin-table-source.js.map +1 -0
- package/dist/esm/sources/quadbin-tileset-source.js +14 -0
- package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/esm/sources/raster-source.js +14 -0
- package/dist/esm/sources/raster-source.js.map +1 -0
- package/dist/esm/sources/utils.js +69 -0
- package/dist/esm/sources/utils.js.map +1 -0
- package/dist/esm/sources/vector-query-source.js +25 -0
- package/dist/esm/sources/vector-query-source.js.map +1 -0
- package/dist/esm/sources/vector-table-source.js +25 -0
- package/dist/esm/sources/vector-table-source.js.map +1 -0
- package/dist/esm/sources/vector-tileset-source.js +14 -0
- package/dist/esm/sources/vector-tileset-source.js.map +1 -0
- package/dist/esm/style/palette.js +2 -2
- package/dist/esm/style/palette.js.map +1 -1
- package/dist/esm/style/utils.js +1 -1
- package/dist/esm/style/utils.js.map +1 -1
- package/dist/esm/utils.js +3 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/workers/cartoRasterTile.js +4 -0
- package/dist/esm/workers/cartoRasterTile.js.map +1 -0
- package/dist/esm/workers/cartoSpatialTile.js +4 -0
- package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
- package/dist/esm/workers/cartoVectorTile.js +4 -0
- package/dist/esm/workers/cartoVectorTile.js.map +1 -0
- package/dist.min.js +45 -24
- package/package.json +11 -9
- package/src/api/layer-map.ts +4 -8
- package/src/api/maps-api-common.ts +0 -1
- package/src/api/maps-v3-client.ts +6 -5
- package/src/index.ts +34 -5
- package/src/layers/h3-tile-layer.ts +22 -35
- package/src/layers/quadbin-tile-layer.ts +19 -33
- package/src/layers/raster-tile-layer.ts +22 -26
- package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
- package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
- package/src/layers/schema/carto-tile.ts +1 -1
- package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
- package/src/layers/utils.ts +11 -0
- package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
- package/src/sources/base-source.ts +55 -0
- package/src/sources/common.ts +132 -0
- package/src/sources/h3-query-source.ts +45 -0
- package/src/sources/h3-table-source.ts +46 -0
- package/src/sources/h3-tileset-source.ts +16 -0
- package/src/sources/index.ts +32 -0
- package/src/sources/quadbin-query-source.ts +46 -0
- package/src/sources/quadbin-table-source.ts +46 -0
- package/src/sources/quadbin-tileset-source.ts +16 -0
- package/src/sources/raster-source.ts +16 -0
- package/src/sources/utils.ts +63 -0
- package/src/sources/vector-query-source.ts +23 -0
- package/src/sources/vector-table-source.ts +23 -0
- package/src/sources/vector-tileset-source.ts +16 -0
- package/src/utils.ts +6 -0
- package/src/workers/cartoRasterTile.ts +4 -0
- package/src/workers/cartoSpatialTile.ts +4 -0
- package/src/workers/cartoVectorTile.ts +4 -0
- package/typed/api/layer-map.d.ts +2 -3
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +0 -1
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +0 -3
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +6 -4
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts +5 -8
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +5 -9
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/raster-tile-layer.d.ts +6 -10
- package/typed/layers/raster-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
- package/typed/layers/utils.d.ts +5 -0
- package/typed/layers/utils.d.ts.map +1 -0
- package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
- package/typed/layers/vector-tile-layer.d.ts.map +1 -0
- package/typed/sources/base-source.d.ts +4 -0
- package/typed/sources/base-source.d.ts.map +1 -0
- package/typed/sources/common.d.ts +116 -0
- package/typed/sources/common.d.ts.map +1 -0
- package/typed/sources/h3-query-source.d.ts +5 -0
- package/typed/sources/h3-query-source.d.ts.map +1 -0
- package/typed/sources/h3-table-source.d.ts +5 -0
- package/typed/sources/h3-table-source.d.ts.map +1 -0
- package/typed/sources/h3-tileset-source.d.ts +5 -0
- package/typed/sources/h3-tileset-source.d.ts.map +1 -0
- package/typed/sources/index.d.ts +23 -0
- package/typed/sources/index.d.ts.map +1 -0
- package/typed/sources/quadbin-query-source.d.ts +5 -0
- package/typed/sources/quadbin-query-source.d.ts.map +1 -0
- package/typed/sources/quadbin-table-source.d.ts +5 -0
- package/typed/sources/quadbin-table-source.d.ts.map +1 -0
- package/typed/sources/quadbin-tileset-source.d.ts +5 -0
- package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
- package/typed/sources/raster-source.d.ts +5 -0
- package/typed/sources/raster-source.d.ts.map +1 -0
- package/typed/sources/utils.d.ts +15 -0
- package/typed/sources/utils.d.ts.map +1 -0
- package/typed/sources/vector-query-source.d.ts +5 -0
- package/typed/sources/vector-query-source.d.ts.map +1 -0
- package/typed/sources/vector-table-source.d.ts +5 -0
- package/typed/sources/vector-table-source.d.ts.map +1 -0
- package/typed/sources/vector-tileset-source.d.ts +5 -0
- package/typed/sources/vector-tileset-source.d.ts.map +1 -0
- package/typed/utils.d.ts +1 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/workers/cartoRasterTile.d.ts +2 -0
- package/typed/workers/cartoRasterTile.d.ts.map +1 -0
- package/typed/workers/cartoSpatialTile.d.ts +2 -0
- package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
- package/typed/workers/cartoVectorTile.d.ts +2 -0
- package/typed/workers/cartoVectorTile.d.ts.map +1 -0
- package/dist/es5/layers/carto-tile-layer.js +0 -145
- package/dist/es5/layers/carto-tile-layer.js.map +0 -1
- package/dist/esm/layers/carto-tile-layer.js.map +0 -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.d.ts.map +0 -1
- 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.d.ts +0 -21
- package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
- package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
- 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
|
@@ -3985,7 +3985,7 @@ var __exports__ = (() => {
|
|
|
3985
3985
|
if (moment2.version === void 0 && moment2.default) {
|
|
3986
3986
|
moment2 = moment2.default;
|
|
3987
3987
|
}
|
|
3988
|
-
var
|
|
3988
|
+
var VERSION4 = "0.5.35", zones = {}, links = {}, countries = {}, names = {}, guesses = {}, cachedGuess;
|
|
3989
3989
|
if (!moment2 || typeof moment2.version !== "string") {
|
|
3990
3990
|
logError("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");
|
|
3991
3991
|
}
|
|
@@ -4361,7 +4361,7 @@ var __exports__ = (() => {
|
|
|
4361
4361
|
out.tz(name);
|
|
4362
4362
|
return out;
|
|
4363
4363
|
}
|
|
4364
|
-
tz.version =
|
|
4364
|
+
tz.version = VERSION4;
|
|
4365
4365
|
tz.dataVersion = "";
|
|
4366
4366
|
tz._zones = zones;
|
|
4367
4367
|
tz._links = links;
|
|
@@ -5348,6 +5348,13 @@ var __exports__ = (() => {
|
|
|
5348
5348
|
}
|
|
5349
5349
|
});
|
|
5350
5350
|
|
|
5351
|
+
// external-global-plugin:h3-js
|
|
5352
|
+
var require_h3_js = __commonJS({
|
|
5353
|
+
"external-global-plugin:h3-js"(exports, module) {
|
|
5354
|
+
module.exports = globalThis.h3 || {};
|
|
5355
|
+
}
|
|
5356
|
+
});
|
|
5357
|
+
|
|
5351
5358
|
// external-global-plugin:@loaders.gl/core
|
|
5352
5359
|
var require_core2 = __commonJS({
|
|
5353
5360
|
"external-global-plugin:@loaders.gl/core"(exports, module) {
|
|
@@ -6091,20 +6098,6 @@ var __exports__ = (() => {
|
|
|
6091
6098
|
}
|
|
6092
6099
|
});
|
|
6093
6100
|
|
|
6094
|
-
// external-global-plugin:@deck.gl/extensions
|
|
6095
|
-
var require_extensions = __commonJS({
|
|
6096
|
-
"external-global-plugin:@deck.gl/extensions"(exports, module) {
|
|
6097
|
-
module.exports = globalThis.deck;
|
|
6098
|
-
}
|
|
6099
|
-
});
|
|
6100
|
-
|
|
6101
|
-
// external-global-plugin:h3-js
|
|
6102
|
-
var require_h3_js = __commonJS({
|
|
6103
|
-
"external-global-plugin:h3-js"(exports, module) {
|
|
6104
|
-
module.exports = globalThis.h3 || {};
|
|
6105
|
-
}
|
|
6106
|
-
});
|
|
6107
|
-
|
|
6108
6101
|
// ../../node_modules/tilebelt/index.js
|
|
6109
6102
|
var require_tilebelt = __commonJS({
|
|
6110
6103
|
"../../node_modules/tilebelt/index.js"(exports, module) {
|
|
@@ -6330,11 +6323,11 @@ var __exports__ = (() => {
|
|
|
6330
6323
|
for (var i = 0; i < tiles2.length; i++) {
|
|
6331
6324
|
var t = tiles2[i];
|
|
6332
6325
|
if (t[0] % 2 === 0 && t[1] % 2 === 0) {
|
|
6333
|
-
var
|
|
6334
|
-
if (tileHash[
|
|
6326
|
+
var id22 = toID(t[0] + 1, t[1], z), id32 = toID(t[0], t[1] + 1, z), id4 = toID(t[0] + 1, t[1] + 1, z);
|
|
6327
|
+
if (tileHash[id22] && tileHash[id32] && tileHash[id4]) {
|
|
6335
6328
|
tileHash[toID(t[0], t[1], t[2])] = false;
|
|
6336
|
-
tileHash[
|
|
6337
|
-
tileHash[
|
|
6329
|
+
tileHash[id22] = false;
|
|
6330
|
+
tileHash[id32] = false;
|
|
6338
6331
|
tileHash[id4] = false;
|
|
6339
6332
|
var parentTile = [t[0] / 2, t[1] / 2, z - 1];
|
|
6340
6333
|
if (z - 1 === limits.min_zoom)
|
|
@@ -6372,8 +6365,8 @@ var __exports__ = (() => {
|
|
|
6372
6365
|
for (i = 0; i < intersections.length; i += 2) {
|
|
6373
6366
|
y = intersections[i][1];
|
|
6374
6367
|
for (var x = intersections[i][0] + 1; x < intersections[i + 1][0]; x++) {
|
|
6375
|
-
var
|
|
6376
|
-
if (!tileHash[
|
|
6368
|
+
var id4 = toID(x, y, zoom);
|
|
6369
|
+
if (!tileHash[id4]) {
|
|
6377
6370
|
tileArray.push([x, y, zoom]);
|
|
6378
6371
|
}
|
|
6379
6372
|
}
|
|
@@ -6424,13 +6417,487 @@ var __exports__ = (() => {
|
|
|
6424
6417
|
var dim = 2 * (1 << z);
|
|
6425
6418
|
return (dim * y + x) * 32 + z;
|
|
6426
6419
|
}
|
|
6427
|
-
function fromID(
|
|
6428
|
-
var z =
|
|
6420
|
+
function fromID(id4) {
|
|
6421
|
+
var z = id4 % 32, dim = 2 * (1 << z), xy = (id4 - z) / 32, x = xy % dim, y = (xy - x) / dim % dim;
|
|
6429
6422
|
return [x, y, z];
|
|
6430
6423
|
}
|
|
6431
6424
|
}
|
|
6432
6425
|
});
|
|
6433
6426
|
|
|
6427
|
+
// ../../node_modules/earcut/src/earcut.js
|
|
6428
|
+
var require_earcut = __commonJS({
|
|
6429
|
+
"../../node_modules/earcut/src/earcut.js"(exports, module) {
|
|
6430
|
+
"use strict";
|
|
6431
|
+
module.exports = earcut2;
|
|
6432
|
+
module.exports.default = earcut2;
|
|
6433
|
+
function earcut2(data, holeIndices, dim) {
|
|
6434
|
+
dim = dim || 2;
|
|
6435
|
+
var hasHoles = holeIndices && holeIndices.length, outerLen = hasHoles ? holeIndices[0] * dim : data.length, outerNode = linkedList(data, 0, outerLen, dim, true), triangles = [];
|
|
6436
|
+
if (!outerNode || outerNode.next === outerNode.prev)
|
|
6437
|
+
return triangles;
|
|
6438
|
+
var minX, minY, maxX, maxY, x, y, invSize;
|
|
6439
|
+
if (hasHoles)
|
|
6440
|
+
outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
|
|
6441
|
+
if (data.length > 80 * dim) {
|
|
6442
|
+
minX = maxX = data[0];
|
|
6443
|
+
minY = maxY = data[1];
|
|
6444
|
+
for (var i = dim; i < outerLen; i += dim) {
|
|
6445
|
+
x = data[i];
|
|
6446
|
+
y = data[i + 1];
|
|
6447
|
+
if (x < minX)
|
|
6448
|
+
minX = x;
|
|
6449
|
+
if (y < minY)
|
|
6450
|
+
minY = y;
|
|
6451
|
+
if (x > maxX)
|
|
6452
|
+
maxX = x;
|
|
6453
|
+
if (y > maxY)
|
|
6454
|
+
maxY = y;
|
|
6455
|
+
}
|
|
6456
|
+
invSize = Math.max(maxX - minX, maxY - minY);
|
|
6457
|
+
invSize = invSize !== 0 ? 1 / invSize : 0;
|
|
6458
|
+
}
|
|
6459
|
+
earcutLinked(outerNode, triangles, dim, minX, minY, invSize);
|
|
6460
|
+
return triangles;
|
|
6461
|
+
}
|
|
6462
|
+
function linkedList(data, start, end, dim, clockwise) {
|
|
6463
|
+
var i, last;
|
|
6464
|
+
if (clockwise === signedArea(data, start, end, dim) > 0) {
|
|
6465
|
+
for (i = start; i < end; i += dim)
|
|
6466
|
+
last = insertNode(i, data[i], data[i + 1], last);
|
|
6467
|
+
} else {
|
|
6468
|
+
for (i = end - dim; i >= start; i -= dim)
|
|
6469
|
+
last = insertNode(i, data[i], data[i + 1], last);
|
|
6470
|
+
}
|
|
6471
|
+
if (last && equals(last, last.next)) {
|
|
6472
|
+
removeNode(last);
|
|
6473
|
+
last = last.next;
|
|
6474
|
+
}
|
|
6475
|
+
return last;
|
|
6476
|
+
}
|
|
6477
|
+
function filterPoints(start, end) {
|
|
6478
|
+
if (!start)
|
|
6479
|
+
return start;
|
|
6480
|
+
if (!end)
|
|
6481
|
+
end = start;
|
|
6482
|
+
var p = start, again;
|
|
6483
|
+
do {
|
|
6484
|
+
again = false;
|
|
6485
|
+
if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
|
|
6486
|
+
removeNode(p);
|
|
6487
|
+
p = end = p.prev;
|
|
6488
|
+
if (p === p.next)
|
|
6489
|
+
break;
|
|
6490
|
+
again = true;
|
|
6491
|
+
} else {
|
|
6492
|
+
p = p.next;
|
|
6493
|
+
}
|
|
6494
|
+
} while (again || p !== end);
|
|
6495
|
+
return end;
|
|
6496
|
+
}
|
|
6497
|
+
function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {
|
|
6498
|
+
if (!ear)
|
|
6499
|
+
return;
|
|
6500
|
+
if (!pass && invSize)
|
|
6501
|
+
indexCurve(ear, minX, minY, invSize);
|
|
6502
|
+
var stop = ear, prev, next;
|
|
6503
|
+
while (ear.prev !== ear.next) {
|
|
6504
|
+
prev = ear.prev;
|
|
6505
|
+
next = ear.next;
|
|
6506
|
+
if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {
|
|
6507
|
+
triangles.push(prev.i / dim);
|
|
6508
|
+
triangles.push(ear.i / dim);
|
|
6509
|
+
triangles.push(next.i / dim);
|
|
6510
|
+
removeNode(ear);
|
|
6511
|
+
ear = next.next;
|
|
6512
|
+
stop = next.next;
|
|
6513
|
+
continue;
|
|
6514
|
+
}
|
|
6515
|
+
ear = next;
|
|
6516
|
+
if (ear === stop) {
|
|
6517
|
+
if (!pass) {
|
|
6518
|
+
earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);
|
|
6519
|
+
} else if (pass === 1) {
|
|
6520
|
+
ear = cureLocalIntersections(filterPoints(ear), triangles, dim);
|
|
6521
|
+
earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);
|
|
6522
|
+
} else if (pass === 2) {
|
|
6523
|
+
splitEarcut(ear, triangles, dim, minX, minY, invSize);
|
|
6524
|
+
}
|
|
6525
|
+
break;
|
|
6526
|
+
}
|
|
6527
|
+
}
|
|
6528
|
+
}
|
|
6529
|
+
function isEar(ear) {
|
|
6530
|
+
var a = ear.prev, b = ear, c = ear.next;
|
|
6531
|
+
if (area(a, b, c) >= 0)
|
|
6532
|
+
return false;
|
|
6533
|
+
var p = ear.next.next;
|
|
6534
|
+
while (p !== ear.prev) {
|
|
6535
|
+
if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0)
|
|
6536
|
+
return false;
|
|
6537
|
+
p = p.next;
|
|
6538
|
+
}
|
|
6539
|
+
return true;
|
|
6540
|
+
}
|
|
6541
|
+
function isEarHashed(ear, minX, minY, invSize) {
|
|
6542
|
+
var a = ear.prev, b = ear, c = ear.next;
|
|
6543
|
+
if (area(a, b, c) >= 0)
|
|
6544
|
+
return false;
|
|
6545
|
+
var minTX = a.x < b.x ? a.x < c.x ? a.x : c.x : b.x < c.x ? b.x : c.x, minTY = a.y < b.y ? a.y < c.y ? a.y : c.y : b.y < c.y ? b.y : c.y, maxTX = a.x > b.x ? a.x > c.x ? a.x : c.x : b.x > c.x ? b.x : c.x, maxTY = a.y > b.y ? a.y > c.y ? a.y : c.y : b.y > c.y ? b.y : c.y;
|
|
6546
|
+
var minZ = zOrder(minTX, minTY, minX, minY, invSize), maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);
|
|
6547
|
+
var p = ear.prevZ, n = ear.nextZ;
|
|
6548
|
+
while (p && p.z >= minZ && n && n.z <= maxZ) {
|
|
6549
|
+
if (p !== ear.prev && p !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0)
|
|
6550
|
+
return false;
|
|
6551
|
+
p = p.prevZ;
|
|
6552
|
+
if (n !== ear.prev && n !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) && area(n.prev, n, n.next) >= 0)
|
|
6553
|
+
return false;
|
|
6554
|
+
n = n.nextZ;
|
|
6555
|
+
}
|
|
6556
|
+
while (p && p.z >= minZ) {
|
|
6557
|
+
if (p !== ear.prev && p !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0)
|
|
6558
|
+
return false;
|
|
6559
|
+
p = p.prevZ;
|
|
6560
|
+
}
|
|
6561
|
+
while (n && n.z <= maxZ) {
|
|
6562
|
+
if (n !== ear.prev && n !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) && area(n.prev, n, n.next) >= 0)
|
|
6563
|
+
return false;
|
|
6564
|
+
n = n.nextZ;
|
|
6565
|
+
}
|
|
6566
|
+
return true;
|
|
6567
|
+
}
|
|
6568
|
+
function cureLocalIntersections(start, triangles, dim) {
|
|
6569
|
+
var p = start;
|
|
6570
|
+
do {
|
|
6571
|
+
var a = p.prev, b = p.next.next;
|
|
6572
|
+
if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
|
|
6573
|
+
triangles.push(a.i / dim);
|
|
6574
|
+
triangles.push(p.i / dim);
|
|
6575
|
+
triangles.push(b.i / dim);
|
|
6576
|
+
removeNode(p);
|
|
6577
|
+
removeNode(p.next);
|
|
6578
|
+
p = start = b;
|
|
6579
|
+
}
|
|
6580
|
+
p = p.next;
|
|
6581
|
+
} while (p !== start);
|
|
6582
|
+
return filterPoints(p);
|
|
6583
|
+
}
|
|
6584
|
+
function splitEarcut(start, triangles, dim, minX, minY, invSize) {
|
|
6585
|
+
var a = start;
|
|
6586
|
+
do {
|
|
6587
|
+
var b = a.next.next;
|
|
6588
|
+
while (b !== a.prev) {
|
|
6589
|
+
if (a.i !== b.i && isValidDiagonal(a, b)) {
|
|
6590
|
+
var c = splitPolygon(a, b);
|
|
6591
|
+
a = filterPoints(a, a.next);
|
|
6592
|
+
c = filterPoints(c, c.next);
|
|
6593
|
+
earcutLinked(a, triangles, dim, minX, minY, invSize);
|
|
6594
|
+
earcutLinked(c, triangles, dim, minX, minY, invSize);
|
|
6595
|
+
return;
|
|
6596
|
+
}
|
|
6597
|
+
b = b.next;
|
|
6598
|
+
}
|
|
6599
|
+
a = a.next;
|
|
6600
|
+
} while (a !== start);
|
|
6601
|
+
}
|
|
6602
|
+
function eliminateHoles(data, holeIndices, outerNode, dim) {
|
|
6603
|
+
var queue = [], i, len, start, end, list;
|
|
6604
|
+
for (i = 0, len = holeIndices.length; i < len; i++) {
|
|
6605
|
+
start = holeIndices[i] * dim;
|
|
6606
|
+
end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
|
|
6607
|
+
list = linkedList(data, start, end, dim, false);
|
|
6608
|
+
if (list === list.next)
|
|
6609
|
+
list.steiner = true;
|
|
6610
|
+
queue.push(getLeftmost(list));
|
|
6611
|
+
}
|
|
6612
|
+
queue.sort(compareX);
|
|
6613
|
+
for (i = 0; i < queue.length; i++) {
|
|
6614
|
+
eliminateHole(queue[i], outerNode);
|
|
6615
|
+
outerNode = filterPoints(outerNode, outerNode.next);
|
|
6616
|
+
}
|
|
6617
|
+
return outerNode;
|
|
6618
|
+
}
|
|
6619
|
+
function compareX(a, b) {
|
|
6620
|
+
return a.x - b.x;
|
|
6621
|
+
}
|
|
6622
|
+
function eliminateHole(hole, outerNode) {
|
|
6623
|
+
outerNode = findHoleBridge(hole, outerNode);
|
|
6624
|
+
if (outerNode) {
|
|
6625
|
+
var b = splitPolygon(outerNode, hole);
|
|
6626
|
+
filterPoints(b, b.next);
|
|
6627
|
+
}
|
|
6628
|
+
}
|
|
6629
|
+
function findHoleBridge(hole, outerNode) {
|
|
6630
|
+
var p = outerNode, hx = hole.x, hy = hole.y, qx = -Infinity, m;
|
|
6631
|
+
do {
|
|
6632
|
+
if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {
|
|
6633
|
+
var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
|
|
6634
|
+
if (x <= hx && x > qx) {
|
|
6635
|
+
qx = x;
|
|
6636
|
+
if (x === hx) {
|
|
6637
|
+
if (hy === p.y)
|
|
6638
|
+
return p;
|
|
6639
|
+
if (hy === p.next.y)
|
|
6640
|
+
return p.next;
|
|
6641
|
+
}
|
|
6642
|
+
m = p.x < p.next.x ? p : p.next;
|
|
6643
|
+
}
|
|
6644
|
+
}
|
|
6645
|
+
p = p.next;
|
|
6646
|
+
} while (p !== outerNode);
|
|
6647
|
+
if (!m)
|
|
6648
|
+
return null;
|
|
6649
|
+
if (hx === qx)
|
|
6650
|
+
return m;
|
|
6651
|
+
var stop = m, mx = m.x, my = m.y, tanMin = Infinity, tan;
|
|
6652
|
+
p = m;
|
|
6653
|
+
do {
|
|
6654
|
+
if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
|
|
6655
|
+
tan = Math.abs(hy - p.y) / (hx - p.x);
|
|
6656
|
+
if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) {
|
|
6657
|
+
m = p;
|
|
6658
|
+
tanMin = tan;
|
|
6659
|
+
}
|
|
6660
|
+
}
|
|
6661
|
+
p = p.next;
|
|
6662
|
+
} while (p !== stop);
|
|
6663
|
+
return m;
|
|
6664
|
+
}
|
|
6665
|
+
function sectorContainsSector(m, p) {
|
|
6666
|
+
return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;
|
|
6667
|
+
}
|
|
6668
|
+
function indexCurve(start, minX, minY, invSize) {
|
|
6669
|
+
var p = start;
|
|
6670
|
+
do {
|
|
6671
|
+
if (p.z === null)
|
|
6672
|
+
p.z = zOrder(p.x, p.y, minX, minY, invSize);
|
|
6673
|
+
p.prevZ = p.prev;
|
|
6674
|
+
p.nextZ = p.next;
|
|
6675
|
+
p = p.next;
|
|
6676
|
+
} while (p !== start);
|
|
6677
|
+
p.prevZ.nextZ = null;
|
|
6678
|
+
p.prevZ = null;
|
|
6679
|
+
sortLinked(p);
|
|
6680
|
+
}
|
|
6681
|
+
function sortLinked(list) {
|
|
6682
|
+
var i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1;
|
|
6683
|
+
do {
|
|
6684
|
+
p = list;
|
|
6685
|
+
list = null;
|
|
6686
|
+
tail = null;
|
|
6687
|
+
numMerges = 0;
|
|
6688
|
+
while (p) {
|
|
6689
|
+
numMerges++;
|
|
6690
|
+
q = p;
|
|
6691
|
+
pSize = 0;
|
|
6692
|
+
for (i = 0; i < inSize; i++) {
|
|
6693
|
+
pSize++;
|
|
6694
|
+
q = q.nextZ;
|
|
6695
|
+
if (!q)
|
|
6696
|
+
break;
|
|
6697
|
+
}
|
|
6698
|
+
qSize = inSize;
|
|
6699
|
+
while (pSize > 0 || qSize > 0 && q) {
|
|
6700
|
+
if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {
|
|
6701
|
+
e = p;
|
|
6702
|
+
p = p.nextZ;
|
|
6703
|
+
pSize--;
|
|
6704
|
+
} else {
|
|
6705
|
+
e = q;
|
|
6706
|
+
q = q.nextZ;
|
|
6707
|
+
qSize--;
|
|
6708
|
+
}
|
|
6709
|
+
if (tail)
|
|
6710
|
+
tail.nextZ = e;
|
|
6711
|
+
else
|
|
6712
|
+
list = e;
|
|
6713
|
+
e.prevZ = tail;
|
|
6714
|
+
tail = e;
|
|
6715
|
+
}
|
|
6716
|
+
p = q;
|
|
6717
|
+
}
|
|
6718
|
+
tail.nextZ = null;
|
|
6719
|
+
inSize *= 2;
|
|
6720
|
+
} while (numMerges > 1);
|
|
6721
|
+
return list;
|
|
6722
|
+
}
|
|
6723
|
+
function zOrder(x, y, minX, minY, invSize) {
|
|
6724
|
+
x = 32767 * (x - minX) * invSize;
|
|
6725
|
+
y = 32767 * (y - minY) * invSize;
|
|
6726
|
+
x = (x | x << 8) & 16711935;
|
|
6727
|
+
x = (x | x << 4) & 252645135;
|
|
6728
|
+
x = (x | x << 2) & 858993459;
|
|
6729
|
+
x = (x | x << 1) & 1431655765;
|
|
6730
|
+
y = (y | y << 8) & 16711935;
|
|
6731
|
+
y = (y | y << 4) & 252645135;
|
|
6732
|
+
y = (y | y << 2) & 858993459;
|
|
6733
|
+
y = (y | y << 1) & 1431655765;
|
|
6734
|
+
return x | y << 1;
|
|
6735
|
+
}
|
|
6736
|
+
function getLeftmost(start) {
|
|
6737
|
+
var p = start, leftmost = start;
|
|
6738
|
+
do {
|
|
6739
|
+
if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y)
|
|
6740
|
+
leftmost = p;
|
|
6741
|
+
p = p.next;
|
|
6742
|
+
} while (p !== start);
|
|
6743
|
+
return leftmost;
|
|
6744
|
+
}
|
|
6745
|
+
function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
|
|
6746
|
+
return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
|
|
6747
|
+
}
|
|
6748
|
+
function isValidDiagonal(a, b) {
|
|
6749
|
+
return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && (area(a.prev, a, b.prev) || area(a, b.prev, b)) || equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0);
|
|
6750
|
+
}
|
|
6751
|
+
function area(p, q, r) {
|
|
6752
|
+
return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
|
|
6753
|
+
}
|
|
6754
|
+
function equals(p1, p2) {
|
|
6755
|
+
return p1.x === p2.x && p1.y === p2.y;
|
|
6756
|
+
}
|
|
6757
|
+
function intersects(p1, q1, p2, q2) {
|
|
6758
|
+
var o1 = sign(area(p1, q1, p2));
|
|
6759
|
+
var o2 = sign(area(p1, q1, q2));
|
|
6760
|
+
var o3 = sign(area(p2, q2, p1));
|
|
6761
|
+
var o4 = sign(area(p2, q2, q1));
|
|
6762
|
+
if (o1 !== o2 && o3 !== o4)
|
|
6763
|
+
return true;
|
|
6764
|
+
if (o1 === 0 && onSegment(p1, p2, q1))
|
|
6765
|
+
return true;
|
|
6766
|
+
if (o2 === 0 && onSegment(p1, q2, q1))
|
|
6767
|
+
return true;
|
|
6768
|
+
if (o3 === 0 && onSegment(p2, p1, q2))
|
|
6769
|
+
return true;
|
|
6770
|
+
if (o4 === 0 && onSegment(p2, q1, q2))
|
|
6771
|
+
return true;
|
|
6772
|
+
return false;
|
|
6773
|
+
}
|
|
6774
|
+
function onSegment(p, q, r) {
|
|
6775
|
+
return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);
|
|
6776
|
+
}
|
|
6777
|
+
function sign(num) {
|
|
6778
|
+
return num > 0 ? 1 : num < 0 ? -1 : 0;
|
|
6779
|
+
}
|
|
6780
|
+
function intersectsPolygon(a, b) {
|
|
6781
|
+
var p = a;
|
|
6782
|
+
do {
|
|
6783
|
+
if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b))
|
|
6784
|
+
return true;
|
|
6785
|
+
p = p.next;
|
|
6786
|
+
} while (p !== a);
|
|
6787
|
+
return false;
|
|
6788
|
+
}
|
|
6789
|
+
function locallyInside(a, b) {
|
|
6790
|
+
return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
|
|
6791
|
+
}
|
|
6792
|
+
function middleInside(a, b) {
|
|
6793
|
+
var p = a, inside = false, px = (a.x + b.x) / 2, py = (a.y + b.y) / 2;
|
|
6794
|
+
do {
|
|
6795
|
+
if (p.y > py !== p.next.y > py && p.next.y !== p.y && px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)
|
|
6796
|
+
inside = !inside;
|
|
6797
|
+
p = p.next;
|
|
6798
|
+
} while (p !== a);
|
|
6799
|
+
return inside;
|
|
6800
|
+
}
|
|
6801
|
+
function splitPolygon(a, b) {
|
|
6802
|
+
var a2 = new Node(a.i, a.x, a.y), b2 = new Node(b.i, b.x, b.y), an = a.next, bp = b.prev;
|
|
6803
|
+
a.next = b;
|
|
6804
|
+
b.prev = a;
|
|
6805
|
+
a2.next = an;
|
|
6806
|
+
an.prev = a2;
|
|
6807
|
+
b2.next = a2;
|
|
6808
|
+
a2.prev = b2;
|
|
6809
|
+
bp.next = b2;
|
|
6810
|
+
b2.prev = bp;
|
|
6811
|
+
return b2;
|
|
6812
|
+
}
|
|
6813
|
+
function insertNode(i, x, y, last) {
|
|
6814
|
+
var p = new Node(i, x, y);
|
|
6815
|
+
if (!last) {
|
|
6816
|
+
p.prev = p;
|
|
6817
|
+
p.next = p;
|
|
6818
|
+
} else {
|
|
6819
|
+
p.next = last.next;
|
|
6820
|
+
p.prev = last;
|
|
6821
|
+
last.next.prev = p;
|
|
6822
|
+
last.next = p;
|
|
6823
|
+
}
|
|
6824
|
+
return p;
|
|
6825
|
+
}
|
|
6826
|
+
function removeNode(p) {
|
|
6827
|
+
p.next.prev = p.prev;
|
|
6828
|
+
p.prev.next = p.next;
|
|
6829
|
+
if (p.prevZ)
|
|
6830
|
+
p.prevZ.nextZ = p.nextZ;
|
|
6831
|
+
if (p.nextZ)
|
|
6832
|
+
p.nextZ.prevZ = p.prevZ;
|
|
6833
|
+
}
|
|
6834
|
+
function Node(i, x, y) {
|
|
6835
|
+
this.i = i;
|
|
6836
|
+
this.x = x;
|
|
6837
|
+
this.y = y;
|
|
6838
|
+
this.prev = null;
|
|
6839
|
+
this.next = null;
|
|
6840
|
+
this.z = null;
|
|
6841
|
+
this.prevZ = null;
|
|
6842
|
+
this.nextZ = null;
|
|
6843
|
+
this.steiner = false;
|
|
6844
|
+
}
|
|
6845
|
+
earcut2.deviation = function(data, holeIndices, dim, triangles) {
|
|
6846
|
+
var hasHoles = holeIndices && holeIndices.length;
|
|
6847
|
+
var outerLen = hasHoles ? holeIndices[0] * dim : data.length;
|
|
6848
|
+
var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
|
|
6849
|
+
if (hasHoles) {
|
|
6850
|
+
for (var i = 0, len = holeIndices.length; i < len; i++) {
|
|
6851
|
+
var start = holeIndices[i] * dim;
|
|
6852
|
+
var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
|
|
6853
|
+
polygonArea -= Math.abs(signedArea(data, start, end, dim));
|
|
6854
|
+
}
|
|
6855
|
+
}
|
|
6856
|
+
var trianglesArea = 0;
|
|
6857
|
+
for (i = 0; i < triangles.length; i += 3) {
|
|
6858
|
+
var a = triangles[i] * dim;
|
|
6859
|
+
var b = triangles[i + 1] * dim;
|
|
6860
|
+
var c = triangles[i + 2] * dim;
|
|
6861
|
+
trianglesArea += Math.abs((data[a] - data[c]) * (data[b + 1] - data[a + 1]) - (data[a] - data[b]) * (data[c + 1] - data[a + 1]));
|
|
6862
|
+
}
|
|
6863
|
+
return polygonArea === 0 && trianglesArea === 0 ? 0 : Math.abs((trianglesArea - polygonArea) / polygonArea);
|
|
6864
|
+
};
|
|
6865
|
+
function signedArea(data, start, end, dim) {
|
|
6866
|
+
var sum = 0;
|
|
6867
|
+
for (var i = start, j = end - dim; i < end; i += dim) {
|
|
6868
|
+
sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
|
|
6869
|
+
j = i;
|
|
6870
|
+
}
|
|
6871
|
+
return sum;
|
|
6872
|
+
}
|
|
6873
|
+
earcut2.flatten = function(data) {
|
|
6874
|
+
var dim = data[0][0].length, result = {
|
|
6875
|
+
vertices: [],
|
|
6876
|
+
holes: [],
|
|
6877
|
+
dimensions: dim
|
|
6878
|
+
}, holeIndex = 0;
|
|
6879
|
+
for (var i = 0; i < data.length; i++) {
|
|
6880
|
+
for (var j = 0; j < data[i].length; j++) {
|
|
6881
|
+
for (var d = 0; d < dim; d++)
|
|
6882
|
+
result.vertices.push(data[i][j][d]);
|
|
6883
|
+
}
|
|
6884
|
+
if (i > 0) {
|
|
6885
|
+
holeIndex += data[i - 1].length;
|
|
6886
|
+
result.holes.push(holeIndex);
|
|
6887
|
+
}
|
|
6888
|
+
}
|
|
6889
|
+
return result;
|
|
6890
|
+
};
|
|
6891
|
+
}
|
|
6892
|
+
});
|
|
6893
|
+
|
|
6894
|
+
// external-global-plugin:@deck.gl/extensions
|
|
6895
|
+
var require_extensions = __commonJS({
|
|
6896
|
+
"external-global-plugin:@deck.gl/extensions"(exports, module) {
|
|
6897
|
+
module.exports = globalThis.deck;
|
|
6898
|
+
}
|
|
6899
|
+
});
|
|
6900
|
+
|
|
6434
6901
|
// ../../node_modules/colorbrewer/colorbrewer.js
|
|
6435
6902
|
var require_colorbrewer = __commonJS({
|
|
6436
6903
|
"../../node_modules/colorbrewer/colorbrewer.js"(exports, module) {
|
|
@@ -8652,15 +9119,26 @@ var __exports__ = (() => {
|
|
|
8652
9119
|
CartoAPIError: () => CartoAPIError,
|
|
8653
9120
|
CartoLayer: () => CartoLayer,
|
|
8654
9121
|
FORMATS: () => FORMATS,
|
|
9122
|
+
H3TileLayer: () => H3TileLayer,
|
|
8655
9123
|
MAP_TYPES: () => MAP_TYPES,
|
|
9124
|
+
QuadbinTileLayer: () => QuadbinTileLayer,
|
|
9125
|
+
RasterTileLayer: () => RasterTileLayer,
|
|
9126
|
+
SOURCE_DEFAULTS: () => SOURCE_DEFAULTS,
|
|
8656
9127
|
TILE_FORMATS: () => TILE_FORMATS,
|
|
8657
|
-
|
|
8658
|
-
_H3TileLayer: () => H3TileLayer,
|
|
9128
|
+
VectorTileLayer: () => VectorTileLayer,
|
|
8659
9129
|
_PointLabelLayer: () => PointLabelLayer,
|
|
8660
|
-
_QuadbinTileLayer: () => QuadbinTileLayer,
|
|
8661
|
-
_RasterTileLayer: () => RasterTileLayer,
|
|
8662
9130
|
_getDataV2: () => getDataV2,
|
|
8663
9131
|
_mapInstantiation: () => mapInstantiation,
|
|
9132
|
+
cartoH3QuerySource: () => cartoH3QuerySource,
|
|
9133
|
+
cartoH3TableSource: () => cartoH3TableSource,
|
|
9134
|
+
cartoH3TilesetSource: () => cartoH3TilesetSource,
|
|
9135
|
+
cartoQuadbinQuerySource: () => cartoQuadbinQuerySource,
|
|
9136
|
+
cartoQuadbinTableSource: () => cartoQuadbinTableSource,
|
|
9137
|
+
cartoQuadbinTilesetSource: () => cartoQuadbinTilesetSource,
|
|
9138
|
+
cartoRasterSource: () => cartoRasterSource,
|
|
9139
|
+
cartoVectorQuerySource: () => cartoVectorQuerySource,
|
|
9140
|
+
cartoVectorTableSource: () => cartoVectorTableSource,
|
|
9141
|
+
cartoVectorTilesetSource: () => cartoVectorTilesetSource,
|
|
8664
9142
|
colorBins: () => colorBins,
|
|
8665
9143
|
colorCategories: () => colorCategories,
|
|
8666
9144
|
colorContinuous: () => colorContinuous,
|
|
@@ -8692,7 +9170,6 @@ var __exports__ = (() => {
|
|
|
8692
9170
|
var GEO_COLUMN_SUPPORT = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];
|
|
8693
9171
|
var FORMATS = {
|
|
8694
9172
|
GEOJSON: "geojson",
|
|
8695
|
-
NDJSON: "ndjson",
|
|
8696
9173
|
TILEJSON: "tilejson",
|
|
8697
9174
|
JSON: "json"
|
|
8698
9175
|
};
|
|
@@ -8952,624 +9429,6 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
8952
9429
|
};
|
|
8953
9430
|
}
|
|
8954
9431
|
|
|
8955
|
-
// ../../node_modules/@luma.gl/constants/dist/esm/index.js
|
|
8956
|
-
var esm_default = {
|
|
8957
|
-
DEPTH_BUFFER_BIT: 256,
|
|
8958
|
-
STENCIL_BUFFER_BIT: 1024,
|
|
8959
|
-
COLOR_BUFFER_BIT: 16384,
|
|
8960
|
-
POINTS: 0,
|
|
8961
|
-
LINES: 1,
|
|
8962
|
-
LINE_LOOP: 2,
|
|
8963
|
-
LINE_STRIP: 3,
|
|
8964
|
-
TRIANGLES: 4,
|
|
8965
|
-
TRIANGLE_STRIP: 5,
|
|
8966
|
-
TRIANGLE_FAN: 6,
|
|
8967
|
-
ZERO: 0,
|
|
8968
|
-
ONE: 1,
|
|
8969
|
-
SRC_COLOR: 768,
|
|
8970
|
-
ONE_MINUS_SRC_COLOR: 769,
|
|
8971
|
-
SRC_ALPHA: 770,
|
|
8972
|
-
ONE_MINUS_SRC_ALPHA: 771,
|
|
8973
|
-
DST_ALPHA: 772,
|
|
8974
|
-
ONE_MINUS_DST_ALPHA: 773,
|
|
8975
|
-
DST_COLOR: 774,
|
|
8976
|
-
ONE_MINUS_DST_COLOR: 775,
|
|
8977
|
-
SRC_ALPHA_SATURATE: 776,
|
|
8978
|
-
CONSTANT_COLOR: 32769,
|
|
8979
|
-
ONE_MINUS_CONSTANT_COLOR: 32770,
|
|
8980
|
-
CONSTANT_ALPHA: 32771,
|
|
8981
|
-
ONE_MINUS_CONSTANT_ALPHA: 32772,
|
|
8982
|
-
FUNC_ADD: 32774,
|
|
8983
|
-
FUNC_SUBTRACT: 32778,
|
|
8984
|
-
FUNC_REVERSE_SUBTRACT: 32779,
|
|
8985
|
-
BLEND_EQUATION: 32777,
|
|
8986
|
-
BLEND_EQUATION_RGB: 32777,
|
|
8987
|
-
BLEND_EQUATION_ALPHA: 34877,
|
|
8988
|
-
BLEND_DST_RGB: 32968,
|
|
8989
|
-
BLEND_SRC_RGB: 32969,
|
|
8990
|
-
BLEND_DST_ALPHA: 32970,
|
|
8991
|
-
BLEND_SRC_ALPHA: 32971,
|
|
8992
|
-
BLEND_COLOR: 32773,
|
|
8993
|
-
ARRAY_BUFFER_BINDING: 34964,
|
|
8994
|
-
ELEMENT_ARRAY_BUFFER_BINDING: 34965,
|
|
8995
|
-
LINE_WIDTH: 2849,
|
|
8996
|
-
ALIASED_POINT_SIZE_RANGE: 33901,
|
|
8997
|
-
ALIASED_LINE_WIDTH_RANGE: 33902,
|
|
8998
|
-
CULL_FACE_MODE: 2885,
|
|
8999
|
-
FRONT_FACE: 2886,
|
|
9000
|
-
DEPTH_RANGE: 2928,
|
|
9001
|
-
DEPTH_WRITEMASK: 2930,
|
|
9002
|
-
DEPTH_CLEAR_VALUE: 2931,
|
|
9003
|
-
DEPTH_FUNC: 2932,
|
|
9004
|
-
STENCIL_CLEAR_VALUE: 2961,
|
|
9005
|
-
STENCIL_FUNC: 2962,
|
|
9006
|
-
STENCIL_FAIL: 2964,
|
|
9007
|
-
STENCIL_PASS_DEPTH_FAIL: 2965,
|
|
9008
|
-
STENCIL_PASS_DEPTH_PASS: 2966,
|
|
9009
|
-
STENCIL_REF: 2967,
|
|
9010
|
-
STENCIL_VALUE_MASK: 2963,
|
|
9011
|
-
STENCIL_WRITEMASK: 2968,
|
|
9012
|
-
STENCIL_BACK_FUNC: 34816,
|
|
9013
|
-
STENCIL_BACK_FAIL: 34817,
|
|
9014
|
-
STENCIL_BACK_PASS_DEPTH_FAIL: 34818,
|
|
9015
|
-
STENCIL_BACK_PASS_DEPTH_PASS: 34819,
|
|
9016
|
-
STENCIL_BACK_REF: 36003,
|
|
9017
|
-
STENCIL_BACK_VALUE_MASK: 36004,
|
|
9018
|
-
STENCIL_BACK_WRITEMASK: 36005,
|
|
9019
|
-
VIEWPORT: 2978,
|
|
9020
|
-
SCISSOR_BOX: 3088,
|
|
9021
|
-
COLOR_CLEAR_VALUE: 3106,
|
|
9022
|
-
COLOR_WRITEMASK: 3107,
|
|
9023
|
-
UNPACK_ALIGNMENT: 3317,
|
|
9024
|
-
PACK_ALIGNMENT: 3333,
|
|
9025
|
-
MAX_TEXTURE_SIZE: 3379,
|
|
9026
|
-
MAX_VIEWPORT_DIMS: 3386,
|
|
9027
|
-
SUBPIXEL_BITS: 3408,
|
|
9028
|
-
RED_BITS: 3410,
|
|
9029
|
-
GREEN_BITS: 3411,
|
|
9030
|
-
BLUE_BITS: 3412,
|
|
9031
|
-
ALPHA_BITS: 3413,
|
|
9032
|
-
DEPTH_BITS: 3414,
|
|
9033
|
-
STENCIL_BITS: 3415,
|
|
9034
|
-
POLYGON_OFFSET_UNITS: 10752,
|
|
9035
|
-
POLYGON_OFFSET_FACTOR: 32824,
|
|
9036
|
-
TEXTURE_BINDING_2D: 32873,
|
|
9037
|
-
SAMPLE_BUFFERS: 32936,
|
|
9038
|
-
SAMPLES: 32937,
|
|
9039
|
-
SAMPLE_COVERAGE_VALUE: 32938,
|
|
9040
|
-
SAMPLE_COVERAGE_INVERT: 32939,
|
|
9041
|
-
COMPRESSED_TEXTURE_FORMATS: 34467,
|
|
9042
|
-
VENDOR: 7936,
|
|
9043
|
-
RENDERER: 7937,
|
|
9044
|
-
VERSION: 7938,
|
|
9045
|
-
IMPLEMENTATION_COLOR_READ_TYPE: 35738,
|
|
9046
|
-
IMPLEMENTATION_COLOR_READ_FORMAT: 35739,
|
|
9047
|
-
BROWSER_DEFAULT_WEBGL: 37444,
|
|
9048
|
-
STATIC_DRAW: 35044,
|
|
9049
|
-
STREAM_DRAW: 35040,
|
|
9050
|
-
DYNAMIC_DRAW: 35048,
|
|
9051
|
-
ARRAY_BUFFER: 34962,
|
|
9052
|
-
ELEMENT_ARRAY_BUFFER: 34963,
|
|
9053
|
-
BUFFER_SIZE: 34660,
|
|
9054
|
-
BUFFER_USAGE: 34661,
|
|
9055
|
-
CURRENT_VERTEX_ATTRIB: 34342,
|
|
9056
|
-
VERTEX_ATTRIB_ARRAY_ENABLED: 34338,
|
|
9057
|
-
VERTEX_ATTRIB_ARRAY_SIZE: 34339,
|
|
9058
|
-
VERTEX_ATTRIB_ARRAY_STRIDE: 34340,
|
|
9059
|
-
VERTEX_ATTRIB_ARRAY_TYPE: 34341,
|
|
9060
|
-
VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922,
|
|
9061
|
-
VERTEX_ATTRIB_ARRAY_POINTER: 34373,
|
|
9062
|
-
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975,
|
|
9063
|
-
CULL_FACE: 2884,
|
|
9064
|
-
FRONT: 1028,
|
|
9065
|
-
BACK: 1029,
|
|
9066
|
-
FRONT_AND_BACK: 1032,
|
|
9067
|
-
BLEND: 3042,
|
|
9068
|
-
DEPTH_TEST: 2929,
|
|
9069
|
-
DITHER: 3024,
|
|
9070
|
-
POLYGON_OFFSET_FILL: 32823,
|
|
9071
|
-
SAMPLE_ALPHA_TO_COVERAGE: 32926,
|
|
9072
|
-
SAMPLE_COVERAGE: 32928,
|
|
9073
|
-
SCISSOR_TEST: 3089,
|
|
9074
|
-
STENCIL_TEST: 2960,
|
|
9075
|
-
NO_ERROR: 0,
|
|
9076
|
-
INVALID_ENUM: 1280,
|
|
9077
|
-
INVALID_VALUE: 1281,
|
|
9078
|
-
INVALID_OPERATION: 1282,
|
|
9079
|
-
OUT_OF_MEMORY: 1285,
|
|
9080
|
-
CONTEXT_LOST_WEBGL: 37442,
|
|
9081
|
-
CW: 2304,
|
|
9082
|
-
CCW: 2305,
|
|
9083
|
-
DONT_CARE: 4352,
|
|
9084
|
-
FASTEST: 4353,
|
|
9085
|
-
NICEST: 4354,
|
|
9086
|
-
GENERATE_MIPMAP_HINT: 33170,
|
|
9087
|
-
BYTE: 5120,
|
|
9088
|
-
UNSIGNED_BYTE: 5121,
|
|
9089
|
-
SHORT: 5122,
|
|
9090
|
-
UNSIGNED_SHORT: 5123,
|
|
9091
|
-
INT: 5124,
|
|
9092
|
-
UNSIGNED_INT: 5125,
|
|
9093
|
-
FLOAT: 5126,
|
|
9094
|
-
DOUBLE: 5130,
|
|
9095
|
-
DEPTH_COMPONENT: 6402,
|
|
9096
|
-
ALPHA: 6406,
|
|
9097
|
-
RGB: 6407,
|
|
9098
|
-
RGBA: 6408,
|
|
9099
|
-
LUMINANCE: 6409,
|
|
9100
|
-
LUMINANCE_ALPHA: 6410,
|
|
9101
|
-
UNSIGNED_SHORT_4_4_4_4: 32819,
|
|
9102
|
-
UNSIGNED_SHORT_5_5_5_1: 32820,
|
|
9103
|
-
UNSIGNED_SHORT_5_6_5: 33635,
|
|
9104
|
-
FRAGMENT_SHADER: 35632,
|
|
9105
|
-
VERTEX_SHADER: 35633,
|
|
9106
|
-
COMPILE_STATUS: 35713,
|
|
9107
|
-
DELETE_STATUS: 35712,
|
|
9108
|
-
LINK_STATUS: 35714,
|
|
9109
|
-
VALIDATE_STATUS: 35715,
|
|
9110
|
-
ATTACHED_SHADERS: 35717,
|
|
9111
|
-
ACTIVE_ATTRIBUTES: 35721,
|
|
9112
|
-
ACTIVE_UNIFORMS: 35718,
|
|
9113
|
-
MAX_VERTEX_ATTRIBS: 34921,
|
|
9114
|
-
MAX_VERTEX_UNIFORM_VECTORS: 36347,
|
|
9115
|
-
MAX_VARYING_VECTORS: 36348,
|
|
9116
|
-
MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,
|
|
9117
|
-
MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,
|
|
9118
|
-
MAX_TEXTURE_IMAGE_UNITS: 34930,
|
|
9119
|
-
MAX_FRAGMENT_UNIFORM_VECTORS: 36349,
|
|
9120
|
-
SHADER_TYPE: 35663,
|
|
9121
|
-
SHADING_LANGUAGE_VERSION: 35724,
|
|
9122
|
-
CURRENT_PROGRAM: 35725,
|
|
9123
|
-
NEVER: 512,
|
|
9124
|
-
ALWAYS: 519,
|
|
9125
|
-
LESS: 513,
|
|
9126
|
-
EQUAL: 514,
|
|
9127
|
-
LEQUAL: 515,
|
|
9128
|
-
GREATER: 516,
|
|
9129
|
-
GEQUAL: 518,
|
|
9130
|
-
NOTEQUAL: 517,
|
|
9131
|
-
KEEP: 7680,
|
|
9132
|
-
REPLACE: 7681,
|
|
9133
|
-
INCR: 7682,
|
|
9134
|
-
DECR: 7683,
|
|
9135
|
-
INVERT: 5386,
|
|
9136
|
-
INCR_WRAP: 34055,
|
|
9137
|
-
DECR_WRAP: 34056,
|
|
9138
|
-
NEAREST: 9728,
|
|
9139
|
-
LINEAR: 9729,
|
|
9140
|
-
NEAREST_MIPMAP_NEAREST: 9984,
|
|
9141
|
-
LINEAR_MIPMAP_NEAREST: 9985,
|
|
9142
|
-
NEAREST_MIPMAP_LINEAR: 9986,
|
|
9143
|
-
LINEAR_MIPMAP_LINEAR: 9987,
|
|
9144
|
-
TEXTURE_MAG_FILTER: 10240,
|
|
9145
|
-
TEXTURE_MIN_FILTER: 10241,
|
|
9146
|
-
TEXTURE_WRAP_S: 10242,
|
|
9147
|
-
TEXTURE_WRAP_T: 10243,
|
|
9148
|
-
TEXTURE_2D: 3553,
|
|
9149
|
-
TEXTURE: 5890,
|
|
9150
|
-
TEXTURE_CUBE_MAP: 34067,
|
|
9151
|
-
TEXTURE_BINDING_CUBE_MAP: 34068,
|
|
9152
|
-
TEXTURE_CUBE_MAP_POSITIVE_X: 34069,
|
|
9153
|
-
TEXTURE_CUBE_MAP_NEGATIVE_X: 34070,
|
|
9154
|
-
TEXTURE_CUBE_MAP_POSITIVE_Y: 34071,
|
|
9155
|
-
TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072,
|
|
9156
|
-
TEXTURE_CUBE_MAP_POSITIVE_Z: 34073,
|
|
9157
|
-
TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074,
|
|
9158
|
-
MAX_CUBE_MAP_TEXTURE_SIZE: 34076,
|
|
9159
|
-
TEXTURE0: 33984,
|
|
9160
|
-
ACTIVE_TEXTURE: 34016,
|
|
9161
|
-
REPEAT: 10497,
|
|
9162
|
-
CLAMP_TO_EDGE: 33071,
|
|
9163
|
-
MIRRORED_REPEAT: 33648,
|
|
9164
|
-
TEXTURE_WIDTH: 4096,
|
|
9165
|
-
TEXTURE_HEIGHT: 4097,
|
|
9166
|
-
FLOAT_VEC2: 35664,
|
|
9167
|
-
FLOAT_VEC3: 35665,
|
|
9168
|
-
FLOAT_VEC4: 35666,
|
|
9169
|
-
INT_VEC2: 35667,
|
|
9170
|
-
INT_VEC3: 35668,
|
|
9171
|
-
INT_VEC4: 35669,
|
|
9172
|
-
BOOL: 35670,
|
|
9173
|
-
BOOL_VEC2: 35671,
|
|
9174
|
-
BOOL_VEC3: 35672,
|
|
9175
|
-
BOOL_VEC4: 35673,
|
|
9176
|
-
FLOAT_MAT2: 35674,
|
|
9177
|
-
FLOAT_MAT3: 35675,
|
|
9178
|
-
FLOAT_MAT4: 35676,
|
|
9179
|
-
SAMPLER_2D: 35678,
|
|
9180
|
-
SAMPLER_CUBE: 35680,
|
|
9181
|
-
LOW_FLOAT: 36336,
|
|
9182
|
-
MEDIUM_FLOAT: 36337,
|
|
9183
|
-
HIGH_FLOAT: 36338,
|
|
9184
|
-
LOW_INT: 36339,
|
|
9185
|
-
MEDIUM_INT: 36340,
|
|
9186
|
-
HIGH_INT: 36341,
|
|
9187
|
-
FRAMEBUFFER: 36160,
|
|
9188
|
-
RENDERBUFFER: 36161,
|
|
9189
|
-
RGBA4: 32854,
|
|
9190
|
-
RGB5_A1: 32855,
|
|
9191
|
-
RGB565: 36194,
|
|
9192
|
-
DEPTH_COMPONENT16: 33189,
|
|
9193
|
-
STENCIL_INDEX: 6401,
|
|
9194
|
-
STENCIL_INDEX8: 36168,
|
|
9195
|
-
DEPTH_STENCIL: 34041,
|
|
9196
|
-
RENDERBUFFER_WIDTH: 36162,
|
|
9197
|
-
RENDERBUFFER_HEIGHT: 36163,
|
|
9198
|
-
RENDERBUFFER_INTERNAL_FORMAT: 36164,
|
|
9199
|
-
RENDERBUFFER_RED_SIZE: 36176,
|
|
9200
|
-
RENDERBUFFER_GREEN_SIZE: 36177,
|
|
9201
|
-
RENDERBUFFER_BLUE_SIZE: 36178,
|
|
9202
|
-
RENDERBUFFER_ALPHA_SIZE: 36179,
|
|
9203
|
-
RENDERBUFFER_DEPTH_SIZE: 36180,
|
|
9204
|
-
RENDERBUFFER_STENCIL_SIZE: 36181,
|
|
9205
|
-
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048,
|
|
9206
|
-
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049,
|
|
9207
|
-
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050,
|
|
9208
|
-
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051,
|
|
9209
|
-
COLOR_ATTACHMENT0: 36064,
|
|
9210
|
-
DEPTH_ATTACHMENT: 36096,
|
|
9211
|
-
STENCIL_ATTACHMENT: 36128,
|
|
9212
|
-
DEPTH_STENCIL_ATTACHMENT: 33306,
|
|
9213
|
-
NONE: 0,
|
|
9214
|
-
FRAMEBUFFER_COMPLETE: 36053,
|
|
9215
|
-
FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054,
|
|
9216
|
-
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055,
|
|
9217
|
-
FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057,
|
|
9218
|
-
FRAMEBUFFER_UNSUPPORTED: 36061,
|
|
9219
|
-
FRAMEBUFFER_BINDING: 36006,
|
|
9220
|
-
RENDERBUFFER_BINDING: 36007,
|
|
9221
|
-
READ_FRAMEBUFFER: 36008,
|
|
9222
|
-
DRAW_FRAMEBUFFER: 36009,
|
|
9223
|
-
MAX_RENDERBUFFER_SIZE: 34024,
|
|
9224
|
-
INVALID_FRAMEBUFFER_OPERATION: 1286,
|
|
9225
|
-
UNPACK_FLIP_Y_WEBGL: 37440,
|
|
9226
|
-
UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441,
|
|
9227
|
-
UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443,
|
|
9228
|
-
READ_BUFFER: 3074,
|
|
9229
|
-
UNPACK_ROW_LENGTH: 3314,
|
|
9230
|
-
UNPACK_SKIP_ROWS: 3315,
|
|
9231
|
-
UNPACK_SKIP_PIXELS: 3316,
|
|
9232
|
-
PACK_ROW_LENGTH: 3330,
|
|
9233
|
-
PACK_SKIP_ROWS: 3331,
|
|
9234
|
-
PACK_SKIP_PIXELS: 3332,
|
|
9235
|
-
TEXTURE_BINDING_3D: 32874,
|
|
9236
|
-
UNPACK_SKIP_IMAGES: 32877,
|
|
9237
|
-
UNPACK_IMAGE_HEIGHT: 32878,
|
|
9238
|
-
MAX_3D_TEXTURE_SIZE: 32883,
|
|
9239
|
-
MAX_ELEMENTS_VERTICES: 33e3,
|
|
9240
|
-
MAX_ELEMENTS_INDICES: 33001,
|
|
9241
|
-
MAX_TEXTURE_LOD_BIAS: 34045,
|
|
9242
|
-
MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657,
|
|
9243
|
-
MAX_VERTEX_UNIFORM_COMPONENTS: 35658,
|
|
9244
|
-
MAX_ARRAY_TEXTURE_LAYERS: 35071,
|
|
9245
|
-
MIN_PROGRAM_TEXEL_OFFSET: 35076,
|
|
9246
|
-
MAX_PROGRAM_TEXEL_OFFSET: 35077,
|
|
9247
|
-
MAX_VARYING_COMPONENTS: 35659,
|
|
9248
|
-
FRAGMENT_SHADER_DERIVATIVE_HINT: 35723,
|
|
9249
|
-
RASTERIZER_DISCARD: 35977,
|
|
9250
|
-
VERTEX_ARRAY_BINDING: 34229,
|
|
9251
|
-
MAX_VERTEX_OUTPUT_COMPONENTS: 37154,
|
|
9252
|
-
MAX_FRAGMENT_INPUT_COMPONENTS: 37157,
|
|
9253
|
-
MAX_SERVER_WAIT_TIMEOUT: 37137,
|
|
9254
|
-
MAX_ELEMENT_INDEX: 36203,
|
|
9255
|
-
RED: 6403,
|
|
9256
|
-
RGB8: 32849,
|
|
9257
|
-
RGBA8: 32856,
|
|
9258
|
-
RGB10_A2: 32857,
|
|
9259
|
-
TEXTURE_3D: 32879,
|
|
9260
|
-
TEXTURE_WRAP_R: 32882,
|
|
9261
|
-
TEXTURE_MIN_LOD: 33082,
|
|
9262
|
-
TEXTURE_MAX_LOD: 33083,
|
|
9263
|
-
TEXTURE_BASE_LEVEL: 33084,
|
|
9264
|
-
TEXTURE_MAX_LEVEL: 33085,
|
|
9265
|
-
TEXTURE_COMPARE_MODE: 34892,
|
|
9266
|
-
TEXTURE_COMPARE_FUNC: 34893,
|
|
9267
|
-
SRGB: 35904,
|
|
9268
|
-
SRGB8: 35905,
|
|
9269
|
-
SRGB8_ALPHA8: 35907,
|
|
9270
|
-
COMPARE_REF_TO_TEXTURE: 34894,
|
|
9271
|
-
RGBA32F: 34836,
|
|
9272
|
-
RGB32F: 34837,
|
|
9273
|
-
RGBA16F: 34842,
|
|
9274
|
-
RGB16F: 34843,
|
|
9275
|
-
TEXTURE_2D_ARRAY: 35866,
|
|
9276
|
-
TEXTURE_BINDING_2D_ARRAY: 35869,
|
|
9277
|
-
R11F_G11F_B10F: 35898,
|
|
9278
|
-
RGB9_E5: 35901,
|
|
9279
|
-
RGBA32UI: 36208,
|
|
9280
|
-
RGB32UI: 36209,
|
|
9281
|
-
RGBA16UI: 36214,
|
|
9282
|
-
RGB16UI: 36215,
|
|
9283
|
-
RGBA8UI: 36220,
|
|
9284
|
-
RGB8UI: 36221,
|
|
9285
|
-
RGBA32I: 36226,
|
|
9286
|
-
RGB32I: 36227,
|
|
9287
|
-
RGBA16I: 36232,
|
|
9288
|
-
RGB16I: 36233,
|
|
9289
|
-
RGBA8I: 36238,
|
|
9290
|
-
RGB8I: 36239,
|
|
9291
|
-
RED_INTEGER: 36244,
|
|
9292
|
-
RGB_INTEGER: 36248,
|
|
9293
|
-
RGBA_INTEGER: 36249,
|
|
9294
|
-
R8: 33321,
|
|
9295
|
-
RG8: 33323,
|
|
9296
|
-
R16F: 33325,
|
|
9297
|
-
R32F: 33326,
|
|
9298
|
-
RG16F: 33327,
|
|
9299
|
-
RG32F: 33328,
|
|
9300
|
-
R8I: 33329,
|
|
9301
|
-
R8UI: 33330,
|
|
9302
|
-
R16I: 33331,
|
|
9303
|
-
R16UI: 33332,
|
|
9304
|
-
R32I: 33333,
|
|
9305
|
-
R32UI: 33334,
|
|
9306
|
-
RG8I: 33335,
|
|
9307
|
-
RG8UI: 33336,
|
|
9308
|
-
RG16I: 33337,
|
|
9309
|
-
RG16UI: 33338,
|
|
9310
|
-
RG32I: 33339,
|
|
9311
|
-
RG32UI: 33340,
|
|
9312
|
-
R8_SNORM: 36756,
|
|
9313
|
-
RG8_SNORM: 36757,
|
|
9314
|
-
RGB8_SNORM: 36758,
|
|
9315
|
-
RGBA8_SNORM: 36759,
|
|
9316
|
-
RGB10_A2UI: 36975,
|
|
9317
|
-
TEXTURE_IMMUTABLE_FORMAT: 37167,
|
|
9318
|
-
TEXTURE_IMMUTABLE_LEVELS: 33503,
|
|
9319
|
-
UNSIGNED_INT_2_10_10_10_REV: 33640,
|
|
9320
|
-
UNSIGNED_INT_10F_11F_11F_REV: 35899,
|
|
9321
|
-
UNSIGNED_INT_5_9_9_9_REV: 35902,
|
|
9322
|
-
FLOAT_32_UNSIGNED_INT_24_8_REV: 36269,
|
|
9323
|
-
UNSIGNED_INT_24_8: 34042,
|
|
9324
|
-
HALF_FLOAT: 5131,
|
|
9325
|
-
RG: 33319,
|
|
9326
|
-
RG_INTEGER: 33320,
|
|
9327
|
-
INT_2_10_10_10_REV: 36255,
|
|
9328
|
-
CURRENT_QUERY: 34917,
|
|
9329
|
-
QUERY_RESULT: 34918,
|
|
9330
|
-
QUERY_RESULT_AVAILABLE: 34919,
|
|
9331
|
-
ANY_SAMPLES_PASSED: 35887,
|
|
9332
|
-
ANY_SAMPLES_PASSED_CONSERVATIVE: 36202,
|
|
9333
|
-
MAX_DRAW_BUFFERS: 34852,
|
|
9334
|
-
DRAW_BUFFER0: 34853,
|
|
9335
|
-
DRAW_BUFFER1: 34854,
|
|
9336
|
-
DRAW_BUFFER2: 34855,
|
|
9337
|
-
DRAW_BUFFER3: 34856,
|
|
9338
|
-
DRAW_BUFFER4: 34857,
|
|
9339
|
-
DRAW_BUFFER5: 34858,
|
|
9340
|
-
DRAW_BUFFER6: 34859,
|
|
9341
|
-
DRAW_BUFFER7: 34860,
|
|
9342
|
-
DRAW_BUFFER8: 34861,
|
|
9343
|
-
DRAW_BUFFER9: 34862,
|
|
9344
|
-
DRAW_BUFFER10: 34863,
|
|
9345
|
-
DRAW_BUFFER11: 34864,
|
|
9346
|
-
DRAW_BUFFER12: 34865,
|
|
9347
|
-
DRAW_BUFFER13: 34866,
|
|
9348
|
-
DRAW_BUFFER14: 34867,
|
|
9349
|
-
DRAW_BUFFER15: 34868,
|
|
9350
|
-
MAX_COLOR_ATTACHMENTS: 36063,
|
|
9351
|
-
COLOR_ATTACHMENT1: 36065,
|
|
9352
|
-
COLOR_ATTACHMENT2: 36066,
|
|
9353
|
-
COLOR_ATTACHMENT3: 36067,
|
|
9354
|
-
COLOR_ATTACHMENT4: 36068,
|
|
9355
|
-
COLOR_ATTACHMENT5: 36069,
|
|
9356
|
-
COLOR_ATTACHMENT6: 36070,
|
|
9357
|
-
COLOR_ATTACHMENT7: 36071,
|
|
9358
|
-
COLOR_ATTACHMENT8: 36072,
|
|
9359
|
-
COLOR_ATTACHMENT9: 36073,
|
|
9360
|
-
COLOR_ATTACHMENT10: 36074,
|
|
9361
|
-
COLOR_ATTACHMENT11: 36075,
|
|
9362
|
-
COLOR_ATTACHMENT12: 36076,
|
|
9363
|
-
COLOR_ATTACHMENT13: 36077,
|
|
9364
|
-
COLOR_ATTACHMENT14: 36078,
|
|
9365
|
-
COLOR_ATTACHMENT15: 36079,
|
|
9366
|
-
SAMPLER_3D: 35679,
|
|
9367
|
-
SAMPLER_2D_SHADOW: 35682,
|
|
9368
|
-
SAMPLER_2D_ARRAY: 36289,
|
|
9369
|
-
SAMPLER_2D_ARRAY_SHADOW: 36292,
|
|
9370
|
-
SAMPLER_CUBE_SHADOW: 36293,
|
|
9371
|
-
INT_SAMPLER_2D: 36298,
|
|
9372
|
-
INT_SAMPLER_3D: 36299,
|
|
9373
|
-
INT_SAMPLER_CUBE: 36300,
|
|
9374
|
-
INT_SAMPLER_2D_ARRAY: 36303,
|
|
9375
|
-
UNSIGNED_INT_SAMPLER_2D: 36306,
|
|
9376
|
-
UNSIGNED_INT_SAMPLER_3D: 36307,
|
|
9377
|
-
UNSIGNED_INT_SAMPLER_CUBE: 36308,
|
|
9378
|
-
UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311,
|
|
9379
|
-
MAX_SAMPLES: 36183,
|
|
9380
|
-
SAMPLER_BINDING: 35097,
|
|
9381
|
-
PIXEL_PACK_BUFFER: 35051,
|
|
9382
|
-
PIXEL_UNPACK_BUFFER: 35052,
|
|
9383
|
-
PIXEL_PACK_BUFFER_BINDING: 35053,
|
|
9384
|
-
PIXEL_UNPACK_BUFFER_BINDING: 35055,
|
|
9385
|
-
COPY_READ_BUFFER: 36662,
|
|
9386
|
-
COPY_WRITE_BUFFER: 36663,
|
|
9387
|
-
COPY_READ_BUFFER_BINDING: 36662,
|
|
9388
|
-
COPY_WRITE_BUFFER_BINDING: 36663,
|
|
9389
|
-
FLOAT_MAT2x3: 35685,
|
|
9390
|
-
FLOAT_MAT2x4: 35686,
|
|
9391
|
-
FLOAT_MAT3x2: 35687,
|
|
9392
|
-
FLOAT_MAT3x4: 35688,
|
|
9393
|
-
FLOAT_MAT4x2: 35689,
|
|
9394
|
-
FLOAT_MAT4x3: 35690,
|
|
9395
|
-
UNSIGNED_INT_VEC2: 36294,
|
|
9396
|
-
UNSIGNED_INT_VEC3: 36295,
|
|
9397
|
-
UNSIGNED_INT_VEC4: 36296,
|
|
9398
|
-
UNSIGNED_NORMALIZED: 35863,
|
|
9399
|
-
SIGNED_NORMALIZED: 36764,
|
|
9400
|
-
VERTEX_ATTRIB_ARRAY_INTEGER: 35069,
|
|
9401
|
-
VERTEX_ATTRIB_ARRAY_DIVISOR: 35070,
|
|
9402
|
-
TRANSFORM_FEEDBACK_BUFFER_MODE: 35967,
|
|
9403
|
-
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968,
|
|
9404
|
-
TRANSFORM_FEEDBACK_VARYINGS: 35971,
|
|
9405
|
-
TRANSFORM_FEEDBACK_BUFFER_START: 35972,
|
|
9406
|
-
TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973,
|
|
9407
|
-
TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976,
|
|
9408
|
-
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978,
|
|
9409
|
-
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979,
|
|
9410
|
-
INTERLEAVED_ATTRIBS: 35980,
|
|
9411
|
-
SEPARATE_ATTRIBS: 35981,
|
|
9412
|
-
TRANSFORM_FEEDBACK_BUFFER: 35982,
|
|
9413
|
-
TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983,
|
|
9414
|
-
TRANSFORM_FEEDBACK: 36386,
|
|
9415
|
-
TRANSFORM_FEEDBACK_PAUSED: 36387,
|
|
9416
|
-
TRANSFORM_FEEDBACK_ACTIVE: 36388,
|
|
9417
|
-
TRANSFORM_FEEDBACK_BINDING: 36389,
|
|
9418
|
-
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296,
|
|
9419
|
-
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297,
|
|
9420
|
-
FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298,
|
|
9421
|
-
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299,
|
|
9422
|
-
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300,
|
|
9423
|
-
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301,
|
|
9424
|
-
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302,
|
|
9425
|
-
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303,
|
|
9426
|
-
FRAMEBUFFER_DEFAULT: 33304,
|
|
9427
|
-
DEPTH24_STENCIL8: 35056,
|
|
9428
|
-
DRAW_FRAMEBUFFER_BINDING: 36006,
|
|
9429
|
-
READ_FRAMEBUFFER_BINDING: 36010,
|
|
9430
|
-
RENDERBUFFER_SAMPLES: 36011,
|
|
9431
|
-
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052,
|
|
9432
|
-
FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182,
|
|
9433
|
-
UNIFORM_BUFFER: 35345,
|
|
9434
|
-
UNIFORM_BUFFER_BINDING: 35368,
|
|
9435
|
-
UNIFORM_BUFFER_START: 35369,
|
|
9436
|
-
UNIFORM_BUFFER_SIZE: 35370,
|
|
9437
|
-
MAX_VERTEX_UNIFORM_BLOCKS: 35371,
|
|
9438
|
-
MAX_FRAGMENT_UNIFORM_BLOCKS: 35373,
|
|
9439
|
-
MAX_COMBINED_UNIFORM_BLOCKS: 35374,
|
|
9440
|
-
MAX_UNIFORM_BUFFER_BINDINGS: 35375,
|
|
9441
|
-
MAX_UNIFORM_BLOCK_SIZE: 35376,
|
|
9442
|
-
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377,
|
|
9443
|
-
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379,
|
|
9444
|
-
UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380,
|
|
9445
|
-
ACTIVE_UNIFORM_BLOCKS: 35382,
|
|
9446
|
-
UNIFORM_TYPE: 35383,
|
|
9447
|
-
UNIFORM_SIZE: 35384,
|
|
9448
|
-
UNIFORM_BLOCK_INDEX: 35386,
|
|
9449
|
-
UNIFORM_OFFSET: 35387,
|
|
9450
|
-
UNIFORM_ARRAY_STRIDE: 35388,
|
|
9451
|
-
UNIFORM_MATRIX_STRIDE: 35389,
|
|
9452
|
-
UNIFORM_IS_ROW_MAJOR: 35390,
|
|
9453
|
-
UNIFORM_BLOCK_BINDING: 35391,
|
|
9454
|
-
UNIFORM_BLOCK_DATA_SIZE: 35392,
|
|
9455
|
-
UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394,
|
|
9456
|
-
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395,
|
|
9457
|
-
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396,
|
|
9458
|
-
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398,
|
|
9459
|
-
OBJECT_TYPE: 37138,
|
|
9460
|
-
SYNC_CONDITION: 37139,
|
|
9461
|
-
SYNC_STATUS: 37140,
|
|
9462
|
-
SYNC_FLAGS: 37141,
|
|
9463
|
-
SYNC_FENCE: 37142,
|
|
9464
|
-
SYNC_GPU_COMMANDS_COMPLETE: 37143,
|
|
9465
|
-
UNSIGNALED: 37144,
|
|
9466
|
-
SIGNALED: 37145,
|
|
9467
|
-
ALREADY_SIGNALED: 37146,
|
|
9468
|
-
TIMEOUT_EXPIRED: 37147,
|
|
9469
|
-
CONDITION_SATISFIED: 37148,
|
|
9470
|
-
WAIT_FAILED: 37149,
|
|
9471
|
-
SYNC_FLUSH_COMMANDS_BIT: 1,
|
|
9472
|
-
COLOR: 6144,
|
|
9473
|
-
DEPTH: 6145,
|
|
9474
|
-
STENCIL: 6146,
|
|
9475
|
-
MIN: 32775,
|
|
9476
|
-
MAX: 32776,
|
|
9477
|
-
DEPTH_COMPONENT24: 33190,
|
|
9478
|
-
STREAM_READ: 35041,
|
|
9479
|
-
STREAM_COPY: 35042,
|
|
9480
|
-
STATIC_READ: 35045,
|
|
9481
|
-
STATIC_COPY: 35046,
|
|
9482
|
-
DYNAMIC_READ: 35049,
|
|
9483
|
-
DYNAMIC_COPY: 35050,
|
|
9484
|
-
DEPTH_COMPONENT32F: 36012,
|
|
9485
|
-
DEPTH32F_STENCIL8: 36013,
|
|
9486
|
-
INVALID_INDEX: 4294967295,
|
|
9487
|
-
TIMEOUT_IGNORED: -1,
|
|
9488
|
-
MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447,
|
|
9489
|
-
VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 35070,
|
|
9490
|
-
UNMASKED_VENDOR_WEBGL: 37445,
|
|
9491
|
-
UNMASKED_RENDERER_WEBGL: 37446,
|
|
9492
|
-
MAX_TEXTURE_MAX_ANISOTROPY_EXT: 34047,
|
|
9493
|
-
TEXTURE_MAX_ANISOTROPY_EXT: 34046,
|
|
9494
|
-
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
9495
|
-
COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
|
|
9496
|
-
COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
|
|
9497
|
-
COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
|
|
9498
|
-
COMPRESSED_R11_EAC: 37488,
|
|
9499
|
-
COMPRESSED_SIGNED_R11_EAC: 37489,
|
|
9500
|
-
COMPRESSED_RG11_EAC: 37490,
|
|
9501
|
-
COMPRESSED_SIGNED_RG11_EAC: 37491,
|
|
9502
|
-
COMPRESSED_RGB8_ETC2: 37492,
|
|
9503
|
-
COMPRESSED_RGBA8_ETC2_EAC: 37493,
|
|
9504
|
-
COMPRESSED_SRGB8_ETC2: 37494,
|
|
9505
|
-
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
|
|
9506
|
-
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
|
|
9507
|
-
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
|
|
9508
|
-
COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
|
|
9509
|
-
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
|
|
9510
|
-
COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
|
|
9511
|
-
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
|
|
9512
|
-
COMPRESSED_RGB_ETC1_WEBGL: 36196,
|
|
9513
|
-
COMPRESSED_RGB_ATC_WEBGL: 35986,
|
|
9514
|
-
COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35986,
|
|
9515
|
-
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
|
|
9516
|
-
UNSIGNED_INT_24_8_WEBGL: 34042,
|
|
9517
|
-
HALF_FLOAT_OES: 36193,
|
|
9518
|
-
RGBA32F_EXT: 34836,
|
|
9519
|
-
RGB32F_EXT: 34837,
|
|
9520
|
-
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 33297,
|
|
9521
|
-
UNSIGNED_NORMALIZED_EXT: 35863,
|
|
9522
|
-
MIN_EXT: 32775,
|
|
9523
|
-
MAX_EXT: 32776,
|
|
9524
|
-
SRGB_EXT: 35904,
|
|
9525
|
-
SRGB_ALPHA_EXT: 35906,
|
|
9526
|
-
SRGB8_ALPHA8_EXT: 35907,
|
|
9527
|
-
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 33296,
|
|
9528
|
-
FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 35723,
|
|
9529
|
-
COLOR_ATTACHMENT0_WEBGL: 36064,
|
|
9530
|
-
COLOR_ATTACHMENT1_WEBGL: 36065,
|
|
9531
|
-
COLOR_ATTACHMENT2_WEBGL: 36066,
|
|
9532
|
-
COLOR_ATTACHMENT3_WEBGL: 36067,
|
|
9533
|
-
COLOR_ATTACHMENT4_WEBGL: 36068,
|
|
9534
|
-
COLOR_ATTACHMENT5_WEBGL: 36069,
|
|
9535
|
-
COLOR_ATTACHMENT6_WEBGL: 36070,
|
|
9536
|
-
COLOR_ATTACHMENT7_WEBGL: 36071,
|
|
9537
|
-
COLOR_ATTACHMENT8_WEBGL: 36072,
|
|
9538
|
-
COLOR_ATTACHMENT9_WEBGL: 36073,
|
|
9539
|
-
COLOR_ATTACHMENT10_WEBGL: 36074,
|
|
9540
|
-
COLOR_ATTACHMENT11_WEBGL: 36075,
|
|
9541
|
-
COLOR_ATTACHMENT12_WEBGL: 36076,
|
|
9542
|
-
COLOR_ATTACHMENT13_WEBGL: 36077,
|
|
9543
|
-
COLOR_ATTACHMENT14_WEBGL: 36078,
|
|
9544
|
-
COLOR_ATTACHMENT15_WEBGL: 36079,
|
|
9545
|
-
DRAW_BUFFER0_WEBGL: 34853,
|
|
9546
|
-
DRAW_BUFFER1_WEBGL: 34854,
|
|
9547
|
-
DRAW_BUFFER2_WEBGL: 34855,
|
|
9548
|
-
DRAW_BUFFER3_WEBGL: 34856,
|
|
9549
|
-
DRAW_BUFFER4_WEBGL: 34857,
|
|
9550
|
-
DRAW_BUFFER5_WEBGL: 34858,
|
|
9551
|
-
DRAW_BUFFER6_WEBGL: 34859,
|
|
9552
|
-
DRAW_BUFFER7_WEBGL: 34860,
|
|
9553
|
-
DRAW_BUFFER8_WEBGL: 34861,
|
|
9554
|
-
DRAW_BUFFER9_WEBGL: 34862,
|
|
9555
|
-
DRAW_BUFFER10_WEBGL: 34863,
|
|
9556
|
-
DRAW_BUFFER11_WEBGL: 34864,
|
|
9557
|
-
DRAW_BUFFER12_WEBGL: 34865,
|
|
9558
|
-
DRAW_BUFFER13_WEBGL: 34866,
|
|
9559
|
-
DRAW_BUFFER14_WEBGL: 34867,
|
|
9560
|
-
DRAW_BUFFER15_WEBGL: 34868,
|
|
9561
|
-
MAX_COLOR_ATTACHMENTS_WEBGL: 36063,
|
|
9562
|
-
MAX_DRAW_BUFFERS_WEBGL: 34852,
|
|
9563
|
-
VERTEX_ARRAY_BINDING_OES: 34229,
|
|
9564
|
-
QUERY_COUNTER_BITS_EXT: 34916,
|
|
9565
|
-
CURRENT_QUERY_EXT: 34917,
|
|
9566
|
-
QUERY_RESULT_EXT: 34918,
|
|
9567
|
-
QUERY_RESULT_AVAILABLE_EXT: 34919,
|
|
9568
|
-
TIME_ELAPSED_EXT: 35007,
|
|
9569
|
-
TIMESTAMP_EXT: 36392,
|
|
9570
|
-
GPU_DISJOINT_EXT: 36795
|
|
9571
|
-
};
|
|
9572
|
-
|
|
9573
9432
|
// ../../node_modules/d3-array/src/ascending.js
|
|
9574
9433
|
function ascending(a, b) {
|
|
9575
9434
|
return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
|
|
@@ -11466,8 +11325,118 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11466
11325
|
var import_layers3 = __toESM(require_layers());
|
|
11467
11326
|
var import_geo_layers7 = __toESM(require_geo_layers());
|
|
11468
11327
|
|
|
11469
|
-
// src/layers/
|
|
11470
|
-
var
|
|
11328
|
+
// src/layers/h3-tile-layer.ts
|
|
11329
|
+
var import_core3 = __toESM(require_core());
|
|
11330
|
+
var import_geo_layers3 = __toESM(require_geo_layers());
|
|
11331
|
+
|
|
11332
|
+
// src/layers/h3-tileset-2d.ts
|
|
11333
|
+
var import_geo_layers = __toESM(require_geo_layers());
|
|
11334
|
+
var import_h3_js = __toESM(require_h3_js());
|
|
11335
|
+
function getHexagonsInBoundingBox({
|
|
11336
|
+
west,
|
|
11337
|
+
north,
|
|
11338
|
+
east,
|
|
11339
|
+
south
|
|
11340
|
+
}, resolution) {
|
|
11341
|
+
const longitudeSpan = Math.abs(east - west);
|
|
11342
|
+
if (longitudeSpan > 180) {
|
|
11343
|
+
const nSegments = Math.ceil(longitudeSpan / 180);
|
|
11344
|
+
let h3Indices2 = [];
|
|
11345
|
+
for (let s = 0; s < nSegments; s++) {
|
|
11346
|
+
const segmentEast = east + s * 180;
|
|
11347
|
+
const segmentWest = Math.min(segmentEast + 179.9999999, west);
|
|
11348
|
+
h3Indices2 = h3Indices2.concat(getHexagonsInBoundingBox({
|
|
11349
|
+
west: segmentWest,
|
|
11350
|
+
north,
|
|
11351
|
+
east: segmentEast,
|
|
11352
|
+
south
|
|
11353
|
+
}, resolution));
|
|
11354
|
+
}
|
|
11355
|
+
return [...new Set(h3Indices2)];
|
|
11356
|
+
}
|
|
11357
|
+
const oversample = 2;
|
|
11358
|
+
const h3Indices = (0, import_h3_js.polygonToCells)([[[west, north], [west, south], [east, south], [east, north], [west, north]]], resolution + oversample, true);
|
|
11359
|
+
return oversample ? [...new Set(h3Indices.map((i) => (0, import_h3_js.cellToParent)(i, resolution)))] : h3Indices;
|
|
11360
|
+
}
|
|
11361
|
+
function tileToBoundingBox(index) {
|
|
11362
|
+
const coordinates = (0, import_h3_js.cellToBoundary)(index);
|
|
11363
|
+
const latitudes = coordinates.map((c) => c[0]);
|
|
11364
|
+
const longitudes = coordinates.map((c) => c[1]);
|
|
11365
|
+
const west = Math.min(...longitudes);
|
|
11366
|
+
const south = Math.min(...latitudes);
|
|
11367
|
+
const east = Math.max(...longitudes);
|
|
11368
|
+
const north = Math.max(...latitudes);
|
|
11369
|
+
return {
|
|
11370
|
+
west,
|
|
11371
|
+
south,
|
|
11372
|
+
east,
|
|
11373
|
+
north
|
|
11374
|
+
};
|
|
11375
|
+
}
|
|
11376
|
+
var BIAS = 2;
|
|
11377
|
+
function getHexagonResolution(viewport) {
|
|
11378
|
+
const hexagonScaleFactor = 2 / 3 * viewport.zoom;
|
|
11379
|
+
const latitudeScaleFactor = Math.log(1 / Math.cos(Math.PI * viewport.latitude / 180));
|
|
11380
|
+
return Math.max(0, Math.floor(hexagonScaleFactor + latitudeScaleFactor - BIAS));
|
|
11381
|
+
}
|
|
11382
|
+
var H3Tileset2D = class extends import_geo_layers._Tileset2D {
|
|
11383
|
+
getTileIndices({
|
|
11384
|
+
viewport,
|
|
11385
|
+
minZoom,
|
|
11386
|
+
maxZoom
|
|
11387
|
+
}) {
|
|
11388
|
+
if (viewport.latitude === void 0)
|
|
11389
|
+
return [];
|
|
11390
|
+
const [east, south, west, north] = viewport.getBounds();
|
|
11391
|
+
let z = getHexagonResolution(viewport);
|
|
11392
|
+
let indices;
|
|
11393
|
+
if (typeof minZoom === "number" && Number.isFinite(minZoom) && z < minZoom) {
|
|
11394
|
+
return [];
|
|
11395
|
+
}
|
|
11396
|
+
if (typeof maxZoom === "number" && Number.isFinite(maxZoom) && z > maxZoom) {
|
|
11397
|
+
z = maxZoom;
|
|
11398
|
+
const center = (0, import_h3_js.latLngToCell)(viewport.latitude, viewport.longitude, maxZoom);
|
|
11399
|
+
indices = (0, import_h3_js.gridDisk)(center, 1);
|
|
11400
|
+
} else {
|
|
11401
|
+
indices = getHexagonsInBoundingBox({
|
|
11402
|
+
west,
|
|
11403
|
+
north,
|
|
11404
|
+
east,
|
|
11405
|
+
south
|
|
11406
|
+
}, z);
|
|
11407
|
+
}
|
|
11408
|
+
return indices.map((i) => ({
|
|
11409
|
+
i
|
|
11410
|
+
}));
|
|
11411
|
+
}
|
|
11412
|
+
getTileId({
|
|
11413
|
+
i
|
|
11414
|
+
}) {
|
|
11415
|
+
return i;
|
|
11416
|
+
}
|
|
11417
|
+
getTileMetadata({
|
|
11418
|
+
i
|
|
11419
|
+
}) {
|
|
11420
|
+
return {
|
|
11421
|
+
bbox: tileToBoundingBox(i)
|
|
11422
|
+
};
|
|
11423
|
+
}
|
|
11424
|
+
getTileZoom({
|
|
11425
|
+
i
|
|
11426
|
+
}) {
|
|
11427
|
+
return (0, import_h3_js.getResolution)(i);
|
|
11428
|
+
}
|
|
11429
|
+
getParentIndex(index) {
|
|
11430
|
+
const resolution = (0, import_h3_js.getResolution)(index.i);
|
|
11431
|
+
const i = (0, import_h3_js.cellToParent)(index.i, resolution - 1);
|
|
11432
|
+
return {
|
|
11433
|
+
i
|
|
11434
|
+
};
|
|
11435
|
+
}
|
|
11436
|
+
};
|
|
11437
|
+
|
|
11438
|
+
// src/layers/spatial-index-tile-layer.ts
|
|
11439
|
+
var import_core2 = __toESM(require_core2());
|
|
11471
11440
|
|
|
11472
11441
|
// src/layers/schema/fast-pbf.ts
|
|
11473
11442
|
function readPackedTypedArray(TypedArray, pbf, obj) {
|
|
@@ -11477,25 +11446,162 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11477
11446
|
return obj.value;
|
|
11478
11447
|
}
|
|
11479
11448
|
|
|
11480
|
-
// src/layers/schema/carto-tile.ts
|
|
11481
|
-
var
|
|
11449
|
+
// src/layers/schema/carto-raster-tile.ts
|
|
11450
|
+
var ARRAY_TYPES = {
|
|
11451
|
+
uint8: Uint8Array,
|
|
11452
|
+
uint16: Uint16Array,
|
|
11453
|
+
uint32: Uint32Array,
|
|
11454
|
+
uint64: BigUint64Array,
|
|
11455
|
+
int8: Int8Array,
|
|
11456
|
+
int16: Int16Array,
|
|
11457
|
+
int32: Int32Array,
|
|
11458
|
+
int64: BigInt64Array,
|
|
11459
|
+
float32: Float32Array,
|
|
11460
|
+
float64: Float64Array
|
|
11461
|
+
};
|
|
11462
|
+
var BandReader = class {
|
|
11482
11463
|
static read(pbf, end) {
|
|
11483
|
-
return pbf.readFields(
|
|
11484
|
-
|
|
11485
|
-
|
|
11464
|
+
return pbf.readFields(BandReader._readField, {
|
|
11465
|
+
name: "",
|
|
11466
|
+
type: "",
|
|
11467
|
+
data: null
|
|
11486
11468
|
}, end);
|
|
11487
11469
|
}
|
|
11488
11470
|
static _readField(tag, obj, pbf) {
|
|
11489
11471
|
if (tag === 1)
|
|
11490
|
-
obj.
|
|
11472
|
+
obj.name = pbf.readString();
|
|
11491
11473
|
else if (tag === 2)
|
|
11492
|
-
obj.
|
|
11493
|
-
|
|
11494
|
-
|
|
11495
|
-
|
|
11496
|
-
|
|
11497
|
-
|
|
11498
|
-
|
|
11474
|
+
obj.type = pbf.readString();
|
|
11475
|
+
else if (tag === 3) {
|
|
11476
|
+
const TypedArray = ARRAY_TYPES[obj.type];
|
|
11477
|
+
if (!TypedArray) {
|
|
11478
|
+
throw Error(`Invalid data type: ${obj.type}`);
|
|
11479
|
+
}
|
|
11480
|
+
obj.data = {};
|
|
11481
|
+
readPackedTypedArray(TypedArray, pbf, obj.data);
|
|
11482
|
+
}
|
|
11483
|
+
}
|
|
11484
|
+
};
|
|
11485
|
+
var TileReader = class {
|
|
11486
|
+
static read(pbf, end) {
|
|
11487
|
+
return pbf.readFields(TileReader._readField, {
|
|
11488
|
+
blockWidth: 0,
|
|
11489
|
+
blockHeight: 0,
|
|
11490
|
+
bands: []
|
|
11491
|
+
}, end);
|
|
11492
|
+
}
|
|
11493
|
+
static _readField(tag, obj, pbf) {
|
|
11494
|
+
if (tag === 1)
|
|
11495
|
+
obj.blockWidth = pbf.readVarint();
|
|
11496
|
+
else if (tag === 2)
|
|
11497
|
+
obj.blockHeight = pbf.readVarint();
|
|
11498
|
+
else if (tag === 3)
|
|
11499
|
+
obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
11500
|
+
}
|
|
11501
|
+
};
|
|
11502
|
+
|
|
11503
|
+
// src/layers/schema/tile-loader-utils.ts
|
|
11504
|
+
var import_pbf = __toESM(require_pbf());
|
|
11505
|
+
function parsePbf(buffer, TileReader4) {
|
|
11506
|
+
const pbf = new import_pbf.default(buffer);
|
|
11507
|
+
const tile = TileReader4.read(pbf);
|
|
11508
|
+
return tile;
|
|
11509
|
+
}
|
|
11510
|
+
|
|
11511
|
+
// src/utils.ts
|
|
11512
|
+
var import_core = __toESM(require_core());
|
|
11513
|
+
function assert(condition, message) {
|
|
11514
|
+
import_core.log.assert(condition, message);
|
|
11515
|
+
}
|
|
11516
|
+
function createBinaryProxy(data, index) {
|
|
11517
|
+
const {
|
|
11518
|
+
properties,
|
|
11519
|
+
numericProps
|
|
11520
|
+
} = data;
|
|
11521
|
+
return new Proxy(properties[index] || {}, {
|
|
11522
|
+
get(target, property, receiver) {
|
|
11523
|
+
if (property in numericProps) {
|
|
11524
|
+
return numericProps[property].value[index];
|
|
11525
|
+
}
|
|
11526
|
+
return target[property];
|
|
11527
|
+
},
|
|
11528
|
+
has(target, property) {
|
|
11529
|
+
return property in numericProps || property in target;
|
|
11530
|
+
}
|
|
11531
|
+
});
|
|
11532
|
+
}
|
|
11533
|
+
function getWorkerUrl(id4, version) {
|
|
11534
|
+
return `https://unpkg.com/@deck.gl/carto@${version}/dist/${id4}-worker.js`;
|
|
11535
|
+
}
|
|
11536
|
+
|
|
11537
|
+
// src/layers/schema/carto-raster-tile-loader.ts
|
|
11538
|
+
var VERSION = true ? "8.10.0-alpha.5" : "latest";
|
|
11539
|
+
var id = "cartoRasterTile";
|
|
11540
|
+
var DEFAULT_OPTIONS = {
|
|
11541
|
+
cartoRasterTile: {
|
|
11542
|
+
workerUrl: getWorkerUrl(id, VERSION)
|
|
11543
|
+
}
|
|
11544
|
+
};
|
|
11545
|
+
var CartoRasterTileLoader = {
|
|
11546
|
+
name: "CARTO Raster Tile",
|
|
11547
|
+
version: VERSION,
|
|
11548
|
+
id,
|
|
11549
|
+
module: "carto",
|
|
11550
|
+
extensions: ["pbf"],
|
|
11551
|
+
mimeTypes: ["application/vnd.carto-raster-tile"],
|
|
11552
|
+
category: "geometry",
|
|
11553
|
+
parse: async (arrayBuffer, options) => parseCartoRasterTile(arrayBuffer, options),
|
|
11554
|
+
parseSync: parseCartoRasterTile,
|
|
11555
|
+
worker: true,
|
|
11556
|
+
options: DEFAULT_OPTIONS
|
|
11557
|
+
};
|
|
11558
|
+
function parseCartoRasterTile(arrayBuffer, options) {
|
|
11559
|
+
if (!arrayBuffer)
|
|
11560
|
+
return null;
|
|
11561
|
+
const tile = parsePbf(arrayBuffer, TileReader);
|
|
11562
|
+
const {
|
|
11563
|
+
bands,
|
|
11564
|
+
blockHeight,
|
|
11565
|
+
blockWidth
|
|
11566
|
+
} = tile;
|
|
11567
|
+
const numericProps = {};
|
|
11568
|
+
for (let i = 0; i < bands.length; i++) {
|
|
11569
|
+
const {
|
|
11570
|
+
name,
|
|
11571
|
+
data
|
|
11572
|
+
} = bands[i];
|
|
11573
|
+
numericProps[name] = data;
|
|
11574
|
+
}
|
|
11575
|
+
return {
|
|
11576
|
+
blockWidth,
|
|
11577
|
+
blockHeight,
|
|
11578
|
+
cells: {
|
|
11579
|
+
numericProps,
|
|
11580
|
+
properties: []
|
|
11581
|
+
}
|
|
11582
|
+
};
|
|
11583
|
+
}
|
|
11584
|
+
var carto_raster_tile_loader_default = CartoRasterTileLoader;
|
|
11585
|
+
|
|
11586
|
+
// src/layers/schema/carto-tile.ts
|
|
11587
|
+
var KeyValueObjectReader = class {
|
|
11588
|
+
static read(pbf, end) {
|
|
11589
|
+
return pbf.readFields(KeyValueObjectReader._readField, {
|
|
11590
|
+
key: "",
|
|
11591
|
+
value: null
|
|
11592
|
+
}, end);
|
|
11593
|
+
}
|
|
11594
|
+
static _readField(tag, obj, pbf) {
|
|
11595
|
+
if (tag === 1)
|
|
11596
|
+
obj.key = pbf.readString();
|
|
11597
|
+
else if (tag === 2)
|
|
11598
|
+
obj.value = pbf.readString();
|
|
11599
|
+
}
|
|
11600
|
+
};
|
|
11601
|
+
var PropertiesReader = class {
|
|
11602
|
+
static read(pbf, end) {
|
|
11603
|
+
return pbf.readFields(PropertiesReader._readField, {}, end);
|
|
11604
|
+
}
|
|
11499
11605
|
static _readField(tag, obj, pbf) {
|
|
11500
11606
|
if (tag === 1) {
|
|
11501
11607
|
const {
|
|
@@ -11677,9 +11783,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11677
11783
|
obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
11678
11784
|
}
|
|
11679
11785
|
};
|
|
11680
|
-
var
|
|
11786
|
+
var TileReader2 = class {
|
|
11681
11787
|
static read(pbf, end) {
|
|
11682
|
-
return pbf.readFields(
|
|
11788
|
+
return pbf.readFields(TileReader2._readField, {
|
|
11683
11789
|
points: null,
|
|
11684
11790
|
lines: null,
|
|
11685
11791
|
polygons: null
|
|
@@ -11695,1044 +11801,530 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
11695
11801
|
}
|
|
11696
11802
|
};
|
|
11697
11803
|
|
|
11698
|
-
// src/layers/schema/
|
|
11699
|
-
var
|
|
11700
|
-
|
|
11701
|
-
|
|
11702
|
-
|
|
11703
|
-
|
|
11704
|
-
|
|
11705
|
-
|
|
11706
|
-
|
|
11707
|
-
|
|
11708
|
-
|
|
11709
|
-
version: "1",
|
|
11710
|
-
id: "cartoVectorTile",
|
|
11711
|
-
module: "carto",
|
|
11712
|
-
extensions: ["pbf"],
|
|
11713
|
-
mimeTypes: ["application/vnd.carto-vector-tile"],
|
|
11714
|
-
category: "geometry",
|
|
11715
|
-
worker: false,
|
|
11716
|
-
parse: async (arrayBuffer, options) => parseCartoVectorTile(arrayBuffer, options),
|
|
11717
|
-
parseSync: parseCartoVectorTile,
|
|
11718
|
-
options: {}
|
|
11804
|
+
// src/layers/schema/carto-spatial-tile.ts
|
|
11805
|
+
var IndicesReader = class {
|
|
11806
|
+
static read(pbf, end) {
|
|
11807
|
+
return pbf.readFields(IndicesReader._readField, {
|
|
11808
|
+
value: []
|
|
11809
|
+
}, end);
|
|
11810
|
+
}
|
|
11811
|
+
static _readField(tag, obj, pbf) {
|
|
11812
|
+
if (tag === 1)
|
|
11813
|
+
readPackedTypedArray(BigUint64Array, pbf, obj);
|
|
11814
|
+
}
|
|
11719
11815
|
};
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
return
|
|
11723
|
-
|
|
11724
|
-
|
|
11725
|
-
|
|
11726
|
-
|
|
11727
|
-
|
|
11728
|
-
// src/layers/carto-tile-layer.ts
|
|
11729
|
-
var import_extensions = __toESM(require_extensions());
|
|
11730
|
-
var import_geo_layers = __toESM(require_geo_layers());
|
|
11731
|
-
var import_layers = __toESM(require_layers());
|
|
11732
|
-
|
|
11733
|
-
// ../../node_modules/@loaders.gl/gis/dist/esm/lib/binary-to-geojson.js
|
|
11734
|
-
function binaryToGeojson(data, options) {
|
|
11735
|
-
const globalFeatureId = options === null || options === void 0 ? void 0 : options.globalFeatureId;
|
|
11736
|
-
if (globalFeatureId !== void 0) {
|
|
11737
|
-
return getSingleFeature(data, globalFeatureId);
|
|
11816
|
+
var CellsReader = class {
|
|
11817
|
+
static read(pbf, end) {
|
|
11818
|
+
return pbf.readFields(CellsReader._readField, {
|
|
11819
|
+
indices: null,
|
|
11820
|
+
properties: [],
|
|
11821
|
+
numericProps: {}
|
|
11822
|
+
}, end);
|
|
11738
11823
|
}
|
|
11739
|
-
|
|
11740
|
-
|
|
11741
|
-
|
|
11742
|
-
|
|
11743
|
-
|
|
11744
|
-
|
|
11745
|
-
|
|
11746
|
-
|
|
11747
|
-
const currValue = data2.featureIds.value[i];
|
|
11748
|
-
if (currValue === lastValue) {
|
|
11749
|
-
continue;
|
|
11750
|
-
}
|
|
11751
|
-
if (globalFeatureId === data2.globalFeatureIds.value[lastIndex]) {
|
|
11752
|
-
return parseFeature(data2, lastIndex, i);
|
|
11753
|
-
}
|
|
11754
|
-
lastIndex = i;
|
|
11755
|
-
lastValue = currValue;
|
|
11756
|
-
}
|
|
11757
|
-
if (globalFeatureId === data2.globalFeatureIds.value[lastIndex]) {
|
|
11758
|
-
return parseFeature(data2, lastIndex, data2.featureIds.value.length);
|
|
11824
|
+
static _readField(tag, obj, pbf) {
|
|
11825
|
+
if (tag === 1)
|
|
11826
|
+
obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
11827
|
+
else if (tag === 2)
|
|
11828
|
+
obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
11829
|
+
else if (tag === 3) {
|
|
11830
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
11831
|
+
obj.numericProps[entry.key] = entry.value;
|
|
11759
11832
|
}
|
|
11760
11833
|
}
|
|
11761
|
-
|
|
11834
|
+
};
|
|
11835
|
+
var TileReader3 = class {
|
|
11836
|
+
static read(pbf, end) {
|
|
11837
|
+
return pbf.readFields(TileReader3._readField, {
|
|
11838
|
+
scheme: 0,
|
|
11839
|
+
cells: null
|
|
11840
|
+
}, end);
|
|
11841
|
+
}
|
|
11842
|
+
static _readField(tag, obj, pbf) {
|
|
11843
|
+
if (tag === 1)
|
|
11844
|
+
obj.scheme = pbf.readVarint();
|
|
11845
|
+
else if (tag === 2)
|
|
11846
|
+
obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
11847
|
+
}
|
|
11848
|
+
};
|
|
11849
|
+
|
|
11850
|
+
// ../../node_modules/quadbin/dist/esm/index.js
|
|
11851
|
+
var import_tile_cover = __toESM(require_tile_cover());
|
|
11852
|
+
var B = [
|
|
11853
|
+
0x5555555555555555n,
|
|
11854
|
+
0x3333333333333333n,
|
|
11855
|
+
0x0f0f0f0f0f0f0f0fn,
|
|
11856
|
+
0x00ff00ff00ff00ffn,
|
|
11857
|
+
0x0000ffff0000ffffn,
|
|
11858
|
+
0x00000000ffffffffn
|
|
11859
|
+
];
|
|
11860
|
+
var S = [0n, 1n, 2n, 4n, 8n, 16n];
|
|
11861
|
+
function hexToBigInt(hex2) {
|
|
11862
|
+
return BigInt(`0x${hex2}`);
|
|
11762
11863
|
}
|
|
11763
|
-
function
|
|
11764
|
-
|
|
11765
|
-
return parseFeatureCollection(dataArray);
|
|
11864
|
+
function bigIntToHex(index) {
|
|
11865
|
+
return index.toString(16);
|
|
11766
11866
|
}
|
|
11767
|
-
function
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
return pointToGeoJson(data, startIndex, endIndex);
|
|
11771
|
-
case "LineString":
|
|
11772
|
-
return lineStringToGeoJson(data, startIndex, endIndex);
|
|
11773
|
-
case "Polygon":
|
|
11774
|
-
return polygonToGeoJson(data, startIndex, endIndex);
|
|
11775
|
-
default:
|
|
11776
|
-
const unexpectedInput = data;
|
|
11777
|
-
throw new Error("Unsupported geometry type: ".concat(unexpectedInput === null || unexpectedInput === void 0 ? void 0 : unexpectedInput.type));
|
|
11867
|
+
function tileToCell(tile) {
|
|
11868
|
+
if (tile.z < 0 || tile.z > 26) {
|
|
11869
|
+
throw new Error("Wrong zoom");
|
|
11778
11870
|
}
|
|
11779
|
-
|
|
11780
|
-
|
|
11781
|
-
|
|
11782
|
-
|
|
11783
|
-
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11787
|
-
if (data.points) {
|
|
11788
|
-
data.points.type = "Point";
|
|
11789
|
-
features.push(data.points);
|
|
11790
|
-
}
|
|
11791
|
-
if (data.lines) {
|
|
11792
|
-
data.lines.type = "LineString";
|
|
11793
|
-
features.push(data.lines);
|
|
11794
|
-
}
|
|
11795
|
-
if (data.polygons) {
|
|
11796
|
-
data.polygons.type = "Polygon";
|
|
11797
|
-
features.push(data.polygons);
|
|
11871
|
+
const z = BigInt(tile.z);
|
|
11872
|
+
let x = BigInt(tile.x) << 32n - z;
|
|
11873
|
+
let y = BigInt(tile.y) << 32n - z;
|
|
11874
|
+
for (let i = 0; i < 5; i++) {
|
|
11875
|
+
const s = S[5 - i];
|
|
11876
|
+
const b = B[4 - i];
|
|
11877
|
+
x = (x | x << s) & b;
|
|
11878
|
+
y = (y | y << s) & b;
|
|
11798
11879
|
}
|
|
11799
|
-
|
|
11880
|
+
const quadbin = 0x4000000000000000n | 1n << 59n | z << 52n | (x | y << 1n) >> 12n | 0xfffffffffffffn >> z * 2n;
|
|
11881
|
+
return quadbin;
|
|
11800
11882
|
}
|
|
11801
|
-
function
|
|
11802
|
-
const
|
|
11803
|
-
|
|
11804
|
-
|
|
11805
|
-
|
|
11806
|
-
|
|
11807
|
-
|
|
11808
|
-
let lastValue = data.featureIds.value[0];
|
|
11809
|
-
for (let i = 0; i < data.featureIds.value.length; i++) {
|
|
11810
|
-
const currValue = data.featureIds.value[i];
|
|
11811
|
-
if (currValue === lastValue) {
|
|
11812
|
-
continue;
|
|
11813
|
-
}
|
|
11814
|
-
features.push(parseFeature(data, lastIndex, i));
|
|
11815
|
-
lastIndex = i;
|
|
11816
|
-
lastValue = currValue;
|
|
11817
|
-
}
|
|
11818
|
-
features.push(parseFeature(data, lastIndex, data.featureIds.value.length));
|
|
11883
|
+
function cellToTile(quadbin) {
|
|
11884
|
+
const mode = quadbin >> 59n & 7n;
|
|
11885
|
+
const modeDep = quadbin >> 57n & 3n;
|
|
11886
|
+
const z = quadbin >> 52n & 0x1fn;
|
|
11887
|
+
const q = (quadbin & 0xfffffffffffffn) << 12n;
|
|
11888
|
+
if (mode !== 1n && modeDep !== 0n) {
|
|
11889
|
+
throw new Error("Wrong mode");
|
|
11819
11890
|
}
|
|
11820
|
-
|
|
11821
|
-
|
|
11822
|
-
|
|
11823
|
-
|
|
11824
|
-
|
|
11825
|
-
|
|
11826
|
-
|
|
11827
|
-
type: "Feature",
|
|
11828
|
-
geometry,
|
|
11829
|
-
properties,
|
|
11830
|
-
...fields
|
|
11831
|
-
};
|
|
11832
|
-
}
|
|
11833
|
-
function parseFields(data) {
|
|
11834
|
-
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
11835
|
-
let endIndex = arguments.length > 2 ? arguments[2] : void 0;
|
|
11836
|
-
return data.fields && data.fields[data.featureIds.value[startIndex]];
|
|
11837
|
-
}
|
|
11838
|
-
function parseProperties(data) {
|
|
11839
|
-
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
11840
|
-
let endIndex = arguments.length > 2 ? arguments[2] : void 0;
|
|
11841
|
-
const properties = Object.assign({}, data.properties[data.featureIds.value[startIndex]]);
|
|
11842
|
-
for (const key in data.numericProps) {
|
|
11843
|
-
properties[key] = data.numericProps[key].value[startIndex];
|
|
11891
|
+
let x = q;
|
|
11892
|
+
let y = q >> 1n;
|
|
11893
|
+
for (let i = 0; i < 6; i++) {
|
|
11894
|
+
const s = S[i];
|
|
11895
|
+
const b = B[i];
|
|
11896
|
+
x = (x | x >> s) & b;
|
|
11897
|
+
y = (y | y >> s) & b;
|
|
11844
11898
|
}
|
|
11845
|
-
|
|
11899
|
+
x = x >> 32n - z;
|
|
11900
|
+
y = y >> 32n - z;
|
|
11901
|
+
return { z: Number(z), x: Number(x), y: Number(y) };
|
|
11846
11902
|
}
|
|
11847
|
-
function
|
|
11848
|
-
|
|
11849
|
-
let endIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Infinity;
|
|
11850
|
-
const {
|
|
11851
|
-
positions
|
|
11852
|
-
} = data;
|
|
11853
|
-
const polygonIndices = data.polygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
11854
|
-
const primitivePolygonIndices = data.primitivePolygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
11855
|
-
const multi = polygonIndices.length > 2;
|
|
11856
|
-
if (!multi) {
|
|
11857
|
-
const coordinates2 = [];
|
|
11858
|
-
for (let i = 0; i < primitivePolygonIndices.length - 1; i++) {
|
|
11859
|
-
const startRingIndex = primitivePolygonIndices[i];
|
|
11860
|
-
const endRingIndex = primitivePolygonIndices[i + 1];
|
|
11861
|
-
const ringCoordinates = ringToGeoJson(positions, startRingIndex, endRingIndex);
|
|
11862
|
-
coordinates2.push(ringCoordinates);
|
|
11863
|
-
}
|
|
11864
|
-
return {
|
|
11865
|
-
type: "Polygon",
|
|
11866
|
-
coordinates: coordinates2
|
|
11867
|
-
};
|
|
11868
|
-
}
|
|
11869
|
-
const coordinates = [];
|
|
11870
|
-
for (let i = 0; i < polygonIndices.length - 1; i++) {
|
|
11871
|
-
const startPolygonIndex = polygonIndices[i];
|
|
11872
|
-
const endPolygonIndex = polygonIndices[i + 1];
|
|
11873
|
-
const polygonCoordinates = polygonToGeoJson(data, startPolygonIndex, endPolygonIndex).coordinates;
|
|
11874
|
-
coordinates.push(polygonCoordinates);
|
|
11875
|
-
}
|
|
11876
|
-
return {
|
|
11877
|
-
type: "MultiPolygon",
|
|
11878
|
-
coordinates
|
|
11879
|
-
};
|
|
11903
|
+
function getResolution2(quadbin) {
|
|
11904
|
+
return quadbin >> 52n & 0x1fn;
|
|
11880
11905
|
}
|
|
11881
|
-
function
|
|
11882
|
-
|
|
11883
|
-
|
|
11884
|
-
|
|
11885
|
-
positions
|
|
11886
|
-
} = data;
|
|
11887
|
-
const pathIndices = data.pathIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
11888
|
-
const multi = pathIndices.length > 2;
|
|
11889
|
-
if (!multi) {
|
|
11890
|
-
const coordinates2 = ringToGeoJson(positions, pathIndices[0], pathIndices[1]);
|
|
11891
|
-
return {
|
|
11892
|
-
type: "LineString",
|
|
11893
|
-
coordinates: coordinates2
|
|
11894
|
-
};
|
|
11895
|
-
}
|
|
11896
|
-
const coordinates = [];
|
|
11897
|
-
for (let i = 0; i < pathIndices.length - 1; i++) {
|
|
11898
|
-
const ringCoordinates = ringToGeoJson(positions, pathIndices[i], pathIndices[i + 1]);
|
|
11899
|
-
coordinates.push(ringCoordinates);
|
|
11900
|
-
}
|
|
11901
|
-
return {
|
|
11902
|
-
type: "MultiLineString",
|
|
11903
|
-
coordinates
|
|
11904
|
-
};
|
|
11906
|
+
function cellToParent2(quadbin) {
|
|
11907
|
+
const zparent = getResolution2(quadbin) - 1n;
|
|
11908
|
+
const parent = quadbin & ~(0x1fn << 52n) | zparent << 52n | 0xfffffffffffffn >> zparent * 2n;
|
|
11909
|
+
return parent;
|
|
11905
11910
|
}
|
|
11906
|
-
|
|
11911
|
+
|
|
11912
|
+
// src/layers/schema/spatialjson-utils.ts
|
|
11913
|
+
function binaryToSpatialjson(binary) {
|
|
11907
11914
|
const {
|
|
11908
|
-
|
|
11909
|
-
|
|
11910
|
-
|
|
11911
|
-
const
|
|
11912
|
-
|
|
11913
|
-
|
|
11914
|
-
|
|
11915
|
-
|
|
11915
|
+
cells,
|
|
11916
|
+
scheme
|
|
11917
|
+
} = binary;
|
|
11918
|
+
const count = cells.indices.value.length;
|
|
11919
|
+
const spatial = [];
|
|
11920
|
+
for (let i = 0; i < count; i++) {
|
|
11921
|
+
const id4 = scheme === "h3" ? bigIntToHex(cells.indices.value[i]) : cells.indices.value[i];
|
|
11922
|
+
const properties = {
|
|
11923
|
+
...cells.properties[i]
|
|
11916
11924
|
};
|
|
11917
|
-
|
|
11918
|
-
|
|
11919
|
-
type: "Point",
|
|
11920
|
-
coordinates: coordinates[0]
|
|
11921
|
-
};
|
|
11922
|
-
}
|
|
11923
|
-
function ringToGeoJson(positions, startIndex, endIndex) {
|
|
11924
|
-
startIndex = startIndex || 0;
|
|
11925
|
-
endIndex = endIndex || positions.value.length / positions.size;
|
|
11926
|
-
const ringCoordinates = [];
|
|
11927
|
-
for (let j = startIndex; j < endIndex; j++) {
|
|
11928
|
-
const coord = Array();
|
|
11929
|
-
for (let k = j * positions.size; k < (j + 1) * positions.size; k++) {
|
|
11930
|
-
coord.push(Number(positions.value[k]));
|
|
11925
|
+
for (const key of Object.keys(cells.numericProps)) {
|
|
11926
|
+
properties[key] = cells.numericProps[key].value[i];
|
|
11931
11927
|
}
|
|
11932
|
-
|
|
11928
|
+
spatial.push({
|
|
11929
|
+
id: id4,
|
|
11930
|
+
properties
|
|
11931
|
+
});
|
|
11933
11932
|
}
|
|
11934
|
-
return
|
|
11933
|
+
return spatial;
|
|
11935
11934
|
}
|
|
11936
|
-
|
|
11937
|
-
|
|
11938
|
-
|
|
11939
|
-
|
|
11940
|
-
|
|
11941
|
-
|
|
11935
|
+
|
|
11936
|
+
// src/layers/schema/carto-spatial-tile-loader.ts
|
|
11937
|
+
var VERSION2 = true ? "8.10.0-alpha.5" : "latest";
|
|
11938
|
+
var id2 = "cartoSpatialTile";
|
|
11939
|
+
var DEFAULT_OPTIONS2 = {
|
|
11940
|
+
cartoSpatialTile: {
|
|
11941
|
+
scheme: "quadbin",
|
|
11942
|
+
workerUrl: getWorkerUrl(id2, VERSION2)
|
|
11942
11943
|
}
|
|
11943
|
-
|
|
11944
|
+
};
|
|
11945
|
+
var CartoSpatialTileLoader = {
|
|
11946
|
+
name: "CARTO Spatial Tile",
|
|
11947
|
+
version: VERSION2,
|
|
11948
|
+
id: id2,
|
|
11949
|
+
module: "carto",
|
|
11950
|
+
extensions: ["pbf"],
|
|
11951
|
+
mimeTypes: ["application/vnd.carto-spatial-tile"],
|
|
11952
|
+
category: "geometry",
|
|
11953
|
+
parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),
|
|
11954
|
+
parseSync: parseCartoSpatialTile,
|
|
11955
|
+
worker: true,
|
|
11956
|
+
options: DEFAULT_OPTIONS2
|
|
11957
|
+
};
|
|
11958
|
+
function parseCartoSpatialTile(arrayBuffer, options) {
|
|
11959
|
+
if (!arrayBuffer)
|
|
11960
|
+
return null;
|
|
11961
|
+
const tile = parsePbf(arrayBuffer, TileReader3);
|
|
11962
|
+
const {
|
|
11963
|
+
cells
|
|
11964
|
+
} = tile;
|
|
11965
|
+
const scheme = options?.cartoSpatialTile?.scheme;
|
|
11966
|
+
const data = {
|
|
11967
|
+
cells,
|
|
11968
|
+
scheme
|
|
11969
|
+
};
|
|
11970
|
+
return binaryToSpatialjson(data);
|
|
11944
11971
|
}
|
|
11972
|
+
var carto_spatial_tile_loader_default = CartoSpatialTileLoader;
|
|
11945
11973
|
|
|
11946
|
-
// src/layers/
|
|
11947
|
-
|
|
11948
|
-
|
|
11974
|
+
// src/layers/spatial-index-tile-layer.ts
|
|
11975
|
+
var import_geo_layers2 = __toESM(require_geo_layers());
|
|
11976
|
+
(0, import_core2.registerLoaders)([carto_raster_tile_loader_default, carto_spatial_tile_loader_default]);
|
|
11977
|
+
function isFeatureIdDefined(value) {
|
|
11978
|
+
return value !== void 0 && value !== null && value !== "";
|
|
11979
|
+
}
|
|
11949
11980
|
var defaultProps = {
|
|
11950
|
-
|
|
11951
|
-
formatTiles: defaultTileFormat
|
|
11981
|
+
aggregationResLevel: 4
|
|
11952
11982
|
};
|
|
11953
|
-
var
|
|
11954
|
-
|
|
11955
|
-
super.initializeState();
|
|
11956
|
-
const binary = this.props.formatTiles === TILE_FORMATS.BINARY;
|
|
11957
|
-
this.setState({
|
|
11958
|
-
binary
|
|
11959
|
-
});
|
|
11960
|
-
}
|
|
11961
|
-
getTileData(tile) {
|
|
11962
|
-
const url = (0, import_geo_layers._getURLFromTemplate)(this.state.data, tile);
|
|
11963
|
-
if (!url) {
|
|
11964
|
-
return Promise.reject("Invalid URL");
|
|
11965
|
-
}
|
|
11966
|
-
let loadOptions = this.getLoadOptions();
|
|
11967
|
-
const {
|
|
11968
|
-
fetch: fetch2,
|
|
11969
|
-
formatTiles
|
|
11970
|
-
} = this.props;
|
|
11983
|
+
var SpatialIndexTileLayer = class extends import_geo_layers2.TileLayer {
|
|
11984
|
+
updateState(params) {
|
|
11971
11985
|
const {
|
|
11972
|
-
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11976
|
-
|
|
11977
|
-
|
|
11978
|
-
};
|
|
11986
|
+
props,
|
|
11987
|
+
oldProps
|
|
11988
|
+
} = params;
|
|
11989
|
+
if (props.aggregationResLevel !== oldProps.aggregationResLevel) {
|
|
11990
|
+
this.setState({
|
|
11991
|
+
tileset: null
|
|
11992
|
+
});
|
|
11979
11993
|
}
|
|
11980
|
-
|
|
11981
|
-
propName: "data",
|
|
11982
|
-
layer: this,
|
|
11983
|
-
loadOptions,
|
|
11984
|
-
signal
|
|
11985
|
-
});
|
|
11994
|
+
super.updateState(params);
|
|
11986
11995
|
}
|
|
11987
|
-
|
|
11988
|
-
if (props.data === null) {
|
|
11989
|
-
return null;
|
|
11990
|
-
}
|
|
11991
|
-
const tileBbox = props.tile.bbox;
|
|
11996
|
+
_updateAutoHighlight(info) {
|
|
11992
11997
|
const {
|
|
11993
|
-
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
|
|
11997
|
-
|
|
11998
|
-
|
|
11999
|
-
...props,
|
|
12000
|
-
autoHighlight: false,
|
|
12001
|
-
extensions: [new import_extensions.ClipExtension(), ...props.extensions || []],
|
|
12002
|
-
clipBounds: [west, south, east, north]
|
|
12003
|
-
};
|
|
12004
|
-
const subLayer = new import_layers.GeoJsonLayer(subLayerProps);
|
|
12005
|
-
return subLayer;
|
|
12006
|
-
}
|
|
12007
|
-
getPickingInfo(params) {
|
|
12008
|
-
const info = super.getPickingInfo(params);
|
|
12009
|
-
if (this.state.binary && info.index !== -1) {
|
|
12010
|
-
const {
|
|
12011
|
-
data
|
|
12012
|
-
} = params.sourceLayer.props;
|
|
12013
|
-
info.object = binaryToGeojson(data, {
|
|
12014
|
-
globalFeatureId: info.index
|
|
12015
|
-
});
|
|
12016
|
-
}
|
|
12017
|
-
return info;
|
|
12018
|
-
}
|
|
12019
|
-
};
|
|
12020
|
-
__publicField(CartoTileLayer, "layerName", "CartoTileLayer");
|
|
12021
|
-
__publicField(CartoTileLayer, "defaultProps", defaultProps);
|
|
12022
|
-
|
|
12023
|
-
// src/layers/h3-tile-layer.ts
|
|
12024
|
-
var import_core3 = __toESM(require_core());
|
|
12025
|
-
var import_geo_layers4 = __toESM(require_geo_layers());
|
|
12026
|
-
|
|
12027
|
-
// src/layers/h3-tileset-2d.ts
|
|
12028
|
-
var import_geo_layers2 = __toESM(require_geo_layers());
|
|
12029
|
-
var import_h3_js = __toESM(require_h3_js());
|
|
12030
|
-
function getHexagonsInBoundingBox({
|
|
12031
|
-
west,
|
|
12032
|
-
north,
|
|
12033
|
-
east,
|
|
12034
|
-
south
|
|
12035
|
-
}, resolution) {
|
|
12036
|
-
const longitudeSpan = Math.abs(east - west);
|
|
12037
|
-
if (longitudeSpan > 180) {
|
|
12038
|
-
const nSegments = Math.ceil(longitudeSpan / 180);
|
|
12039
|
-
let h3Indices2 = [];
|
|
12040
|
-
for (let s = 0; s < nSegments; s++) {
|
|
12041
|
-
const segmentEast = east + s * 180;
|
|
12042
|
-
const segmentWest = Math.min(segmentEast + 179.9999999, west);
|
|
12043
|
-
h3Indices2 = h3Indices2.concat(getHexagonsInBoundingBox({
|
|
12044
|
-
west: segmentWest,
|
|
12045
|
-
north,
|
|
12046
|
-
east: segmentEast,
|
|
12047
|
-
south
|
|
12048
|
-
}, resolution));
|
|
12049
|
-
}
|
|
12050
|
-
return [...new Set(h3Indices2)];
|
|
12051
|
-
}
|
|
12052
|
-
const oversample = 2;
|
|
12053
|
-
const h3Indices = (0, import_h3_js.polygonToCells)([[[west, north], [west, south], [east, south], [east, north], [west, north]]], resolution + oversample, true);
|
|
12054
|
-
return oversample ? [...new Set(h3Indices.map((i) => (0, import_h3_js.cellToParent)(i, resolution)))] : h3Indices;
|
|
12055
|
-
}
|
|
12056
|
-
function tileToBoundingBox(index) {
|
|
12057
|
-
const coordinates = (0, import_h3_js.cellToBoundary)(index);
|
|
12058
|
-
const latitudes = coordinates.map((c) => c[0]);
|
|
12059
|
-
const longitudes = coordinates.map((c) => c[1]);
|
|
12060
|
-
const west = Math.min(...longitudes);
|
|
12061
|
-
const south = Math.min(...latitudes);
|
|
12062
|
-
const east = Math.max(...longitudes);
|
|
12063
|
-
const north = Math.max(...latitudes);
|
|
12064
|
-
return {
|
|
12065
|
-
west,
|
|
12066
|
-
south,
|
|
12067
|
-
east,
|
|
12068
|
-
north
|
|
12069
|
-
};
|
|
12070
|
-
}
|
|
12071
|
-
var BIAS = 2;
|
|
12072
|
-
function getHexagonResolution(viewport) {
|
|
12073
|
-
const hexagonScaleFactor = 2 / 3 * viewport.zoom;
|
|
12074
|
-
const latitudeScaleFactor = Math.log(1 / Math.cos(Math.PI * viewport.latitude / 180));
|
|
12075
|
-
return Math.max(0, Math.floor(hexagonScaleFactor + latitudeScaleFactor - BIAS));
|
|
12076
|
-
}
|
|
12077
|
-
var H3Tileset2D = class extends import_geo_layers2._Tileset2D {
|
|
12078
|
-
getTileIndices({
|
|
12079
|
-
viewport,
|
|
12080
|
-
minZoom,
|
|
12081
|
-
maxZoom
|
|
12082
|
-
}) {
|
|
12083
|
-
if (viewport.latitude === void 0)
|
|
12084
|
-
return [];
|
|
12085
|
-
const [east, south, west, north] = viewport.getBounds();
|
|
12086
|
-
let z = getHexagonResolution(viewport);
|
|
12087
|
-
let indices;
|
|
12088
|
-
if (typeof minZoom === "number" && Number.isFinite(minZoom) && z < minZoom) {
|
|
12089
|
-
return [];
|
|
11998
|
+
hoveredFeatureId
|
|
11999
|
+
} = this.state;
|
|
12000
|
+
const hoveredFeature = info.object;
|
|
12001
|
+
let newHoveredFeatureId;
|
|
12002
|
+
if (hoveredFeature) {
|
|
12003
|
+
newHoveredFeatureId = hoveredFeature.id;
|
|
12090
12004
|
}
|
|
12091
|
-
if (
|
|
12092
|
-
|
|
12093
|
-
|
|
12094
|
-
|
|
12095
|
-
|
|
12096
|
-
|
|
12097
|
-
|
|
12098
|
-
|
|
12099
|
-
|
|
12100
|
-
|
|
12101
|
-
}
|
|
12005
|
+
if (hoveredFeatureId !== newHoveredFeatureId) {
|
|
12006
|
+
let {
|
|
12007
|
+
highlightColor
|
|
12008
|
+
} = this.props;
|
|
12009
|
+
if (typeof highlightColor === "function") {
|
|
12010
|
+
highlightColor = highlightColor(info);
|
|
12011
|
+
}
|
|
12012
|
+
this.setState({
|
|
12013
|
+
highlightColor,
|
|
12014
|
+
hoveredFeatureId: newHoveredFeatureId
|
|
12015
|
+
});
|
|
12102
12016
|
}
|
|
12103
|
-
return indices.map((i) => ({
|
|
12104
|
-
i
|
|
12105
|
-
}));
|
|
12106
|
-
}
|
|
12107
|
-
getTileId({
|
|
12108
|
-
i
|
|
12109
|
-
}) {
|
|
12110
|
-
return i;
|
|
12111
12017
|
}
|
|
12112
|
-
|
|
12113
|
-
i
|
|
12114
|
-
}) {
|
|
12018
|
+
getSubLayerPropsByTile(tile) {
|
|
12115
12019
|
return {
|
|
12116
|
-
|
|
12020
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
12021
|
+
highlightColor: this.state.highlightColor
|
|
12117
12022
|
};
|
|
12118
12023
|
}
|
|
12119
|
-
|
|
12120
|
-
|
|
12121
|
-
|
|
12122
|
-
|
|
12024
|
+
getHighlightedObjectIndex(tile) {
|
|
12025
|
+
const {
|
|
12026
|
+
hoveredFeatureId
|
|
12027
|
+
} = this.state;
|
|
12028
|
+
const data = tile.content;
|
|
12029
|
+
const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
12030
|
+
if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
|
|
12031
|
+
return -1;
|
|
12032
|
+
}
|
|
12033
|
+
return data.findIndex((feature) => feature.id === hoveredFeatureId);
|
|
12123
12034
|
}
|
|
12124
|
-
|
|
12125
|
-
const
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
|
|
12035
|
+
_featureInTile(tile, featureId) {
|
|
12036
|
+
const {
|
|
12037
|
+
getTileZoom,
|
|
12038
|
+
getParentIndex
|
|
12039
|
+
} = this.state.tileset;
|
|
12040
|
+
const tileZoom = getTileZoom(tile.index);
|
|
12041
|
+
const KEY = tile.index.q ? "q" : "i";
|
|
12042
|
+
let featureIndex = {
|
|
12043
|
+
[KEY]: featureId
|
|
12129
12044
|
};
|
|
12045
|
+
let featureZoom = getTileZoom(featureIndex);
|
|
12046
|
+
while (!(featureZoom <= tileZoom)) {
|
|
12047
|
+
featureIndex = getParentIndex(featureIndex);
|
|
12048
|
+
featureZoom = getTileZoom(featureIndex);
|
|
12049
|
+
}
|
|
12050
|
+
return featureIndex[KEY] === tile.index[KEY];
|
|
12130
12051
|
}
|
|
12131
12052
|
};
|
|
12132
|
-
|
|
12133
|
-
|
|
12134
|
-
|
|
12135
|
-
|
|
12136
|
-
|
|
12137
|
-
|
|
12138
|
-
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
int8: Int8Array,
|
|
12143
|
-
int16: Int16Array,
|
|
12144
|
-
int32: Int32Array,
|
|
12145
|
-
int64: BigInt64Array,
|
|
12146
|
-
float32: Float32Array,
|
|
12147
|
-
float64: Float64Array
|
|
12053
|
+
__publicField(SpatialIndexTileLayer, "layerName", "SpatialIndexTileLayer");
|
|
12054
|
+
__publicField(SpatialIndexTileLayer, "defaultProps", defaultProps);
|
|
12055
|
+
|
|
12056
|
+
// src/sources/common.ts
|
|
12057
|
+
var SOURCE_DEFAULTS = {
|
|
12058
|
+
apiBaseUrl: "https://gcp-us-east1.api.carto.com",
|
|
12059
|
+
clientId: "deck-gl-carto",
|
|
12060
|
+
format: "tilejson",
|
|
12061
|
+
formatTiles: "binary",
|
|
12062
|
+
headers: {}
|
|
12148
12063
|
};
|
|
12149
|
-
var
|
|
12150
|
-
|
|
12151
|
-
|
|
12152
|
-
|
|
12153
|
-
|
|
12154
|
-
|
|
12155
|
-
|
|
12156
|
-
|
|
12157
|
-
|
|
12158
|
-
|
|
12159
|
-
|
|
12160
|
-
|
|
12161
|
-
|
|
12162
|
-
|
|
12163
|
-
|
|
12164
|
-
|
|
12165
|
-
|
|
12064
|
+
var DEFAULT_CLIENT = "deck-gl-carto";
|
|
12065
|
+
var V3_MINOR_VERSION = "3.2";
|
|
12066
|
+
var MAX_GET_LENGTH = 8192;
|
|
12067
|
+
var DEFAULT_PARAMETERS = {
|
|
12068
|
+
client: DEFAULT_CLIENT,
|
|
12069
|
+
v: V3_MINOR_VERSION
|
|
12070
|
+
};
|
|
12071
|
+
var DEFAULT_HEADERS = {
|
|
12072
|
+
Accept: "application/json",
|
|
12073
|
+
"Content-Type": "application/json"
|
|
12074
|
+
};
|
|
12075
|
+
var TilejsonPropType = {
|
|
12076
|
+
type: "object",
|
|
12077
|
+
value: null,
|
|
12078
|
+
validate: (value, propType) => propType.optional && value === null || typeof value === "object" && Array.isArray(value.tiles) && value.tiles.every((url) => typeof url === "string"),
|
|
12079
|
+
compare: 2,
|
|
12080
|
+
async: true
|
|
12081
|
+
};
|
|
12082
|
+
|
|
12083
|
+
// src/layers/utils.ts
|
|
12084
|
+
function injectAccessToken(loadOptions, accessToken) {
|
|
12085
|
+
if (!loadOptions?.fetch?.headers?.Authorization) {
|
|
12086
|
+
loadOptions.fetch = {
|
|
12087
|
+
...loadOptions.fetch,
|
|
12088
|
+
headers: {
|
|
12089
|
+
...loadOptions.fetch?.headers,
|
|
12090
|
+
Authorization: `Bearer ${accessToken}`
|
|
12166
12091
|
}
|
|
12167
|
-
|
|
12168
|
-
readPackedTypedArray(TypedArray, pbf, obj.data);
|
|
12169
|
-
}
|
|
12092
|
+
};
|
|
12170
12093
|
}
|
|
12094
|
+
}
|
|
12095
|
+
|
|
12096
|
+
// src/layers/h3-tile-layer.ts
|
|
12097
|
+
var renderSubLayers = (props) => {
|
|
12098
|
+
const {
|
|
12099
|
+
data
|
|
12100
|
+
} = props;
|
|
12101
|
+
const {
|
|
12102
|
+
index
|
|
12103
|
+
} = props.tile;
|
|
12104
|
+
if (!data || !data.length)
|
|
12105
|
+
return null;
|
|
12106
|
+
return new import_geo_layers3.H3HexagonLayer(props, {
|
|
12107
|
+
getHexagon: (d) => d.id,
|
|
12108
|
+
centerHexagon: index,
|
|
12109
|
+
highPrecision: true
|
|
12110
|
+
});
|
|
12171
12111
|
};
|
|
12172
|
-
var
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
|
|
12177
|
-
|
|
12178
|
-
|
|
12112
|
+
var defaultProps2 = {
|
|
12113
|
+
aggregationResLevel: 4,
|
|
12114
|
+
data: TilejsonPropType
|
|
12115
|
+
};
|
|
12116
|
+
var H3TileLayer = class extends import_core3.CompositeLayer {
|
|
12117
|
+
initializeState() {
|
|
12118
|
+
import_geo_layers3.H3HexagonLayer._checkH3Lib();
|
|
12119
|
+
}
|
|
12120
|
+
getLoadOptions() {
|
|
12121
|
+
const loadOptions = super.getLoadOptions() || {};
|
|
12122
|
+
const tileJSON = this.props.data;
|
|
12123
|
+
injectAccessToken(loadOptions, tileJSON.accessToken);
|
|
12124
|
+
loadOptions.cartoSpatialTile = {
|
|
12125
|
+
...loadOptions.cartoSpatialTile,
|
|
12126
|
+
scheme: "h3"
|
|
12127
|
+
};
|
|
12128
|
+
return loadOptions;
|
|
12179
12129
|
}
|
|
12180
|
-
|
|
12181
|
-
|
|
12182
|
-
|
|
12183
|
-
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12130
|
+
renderLayers() {
|
|
12131
|
+
const tileJSON = this.props.data;
|
|
12132
|
+
if (!tileJSON)
|
|
12133
|
+
return null;
|
|
12134
|
+
const {
|
|
12135
|
+
tiles: data
|
|
12136
|
+
} = tileJSON;
|
|
12137
|
+
let {
|
|
12138
|
+
minresolution,
|
|
12139
|
+
maxresolution
|
|
12140
|
+
} = tileJSON;
|
|
12141
|
+
if (this.props.minZoom) {
|
|
12142
|
+
minresolution = Math.max(minresolution, getHexagonResolution({
|
|
12143
|
+
zoom: this.props.minZoom,
|
|
12144
|
+
latitude: 0
|
|
12145
|
+
}));
|
|
12146
|
+
}
|
|
12147
|
+
if (this.props.maxZoom) {
|
|
12148
|
+
maxresolution = Math.min(maxresolution, getHexagonResolution({
|
|
12149
|
+
zoom: this.props.maxZoom,
|
|
12150
|
+
latitude: 0
|
|
12151
|
+
}));
|
|
12152
|
+
}
|
|
12153
|
+
return [new SpatialIndexTileLayer(this.props, {
|
|
12154
|
+
id: `h3-tile-layer-${this.props.id}`,
|
|
12155
|
+
data,
|
|
12156
|
+
TilesetClass: H3Tileset2D,
|
|
12157
|
+
renderSubLayers,
|
|
12158
|
+
minZoom: minresolution,
|
|
12159
|
+
maxZoom: maxresolution,
|
|
12160
|
+
loadOptions: this.getLoadOptions()
|
|
12161
|
+
})];
|
|
12187
12162
|
}
|
|
12188
12163
|
};
|
|
12164
|
+
__publicField(H3TileLayer, "layerName", "H3TileLayer");
|
|
12165
|
+
__publicField(H3TileLayer, "defaultProps", defaultProps2);
|
|
12189
12166
|
|
|
12190
|
-
// src/layers/
|
|
12191
|
-
var
|
|
12192
|
-
|
|
12193
|
-
|
|
12194
|
-
|
|
12195
|
-
|
|
12196
|
-
|
|
12197
|
-
|
|
12198
|
-
|
|
12199
|
-
|
|
12200
|
-
|
|
12201
|
-
|
|
12202
|
-
|
|
12203
|
-
|
|
12204
|
-
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
|
|
12167
|
+
// src/layers/quadbin-tile-layer.ts
|
|
12168
|
+
var import_core4 = __toESM(require_core());
|
|
12169
|
+
|
|
12170
|
+
// src/layers/quadbin-layer.ts
|
|
12171
|
+
var import_geo_layers4 = __toESM(require_geo_layers());
|
|
12172
|
+
|
|
12173
|
+
// ../../node_modules/@math.gl/web-mercator/dist/esm/web-mercator-utils.js
|
|
12174
|
+
var PI = Math.PI;
|
|
12175
|
+
var PI_4 = PI / 4;
|
|
12176
|
+
var DEGREES_TO_RADIANS = PI / 180;
|
|
12177
|
+
var RADIANS_TO_DEGREES = 180 / PI;
|
|
12178
|
+
var TILE_SIZE = 512;
|
|
12179
|
+
function worldToLngLat(xy) {
|
|
12180
|
+
const [x, y] = xy;
|
|
12181
|
+
const lambda2 = x / TILE_SIZE * (2 * PI) - PI;
|
|
12182
|
+
const phi2 = 2 * (Math.atan(Math.exp(y / TILE_SIZE * (2 * PI) - PI)) - PI_4);
|
|
12183
|
+
return [lambda2 * RADIANS_TO_DEGREES, phi2 * RADIANS_TO_DEGREES];
|
|
12184
|
+
}
|
|
12185
|
+
|
|
12186
|
+
// ../../node_modules/@math.gl/web-mercator/dist/esm/get-bounds.js
|
|
12187
|
+
var DEGREES_TO_RADIANS2 = Math.PI / 180;
|
|
12188
|
+
|
|
12189
|
+
// src/layers/quadbin-utils.ts
|
|
12190
|
+
var TILE_SIZE2 = 512;
|
|
12191
|
+
function quadbinToOffset(quadbin) {
|
|
12208
12192
|
const {
|
|
12209
|
-
|
|
12210
|
-
|
|
12211
|
-
|
|
12212
|
-
} =
|
|
12213
|
-
const
|
|
12214
|
-
|
|
12215
|
-
|
|
12216
|
-
|
|
12217
|
-
|
|
12218
|
-
|
|
12219
|
-
|
|
12220
|
-
|
|
12221
|
-
|
|
12222
|
-
|
|
12223
|
-
|
|
12224
|
-
|
|
12225
|
-
numericProps,
|
|
12226
|
-
properties: []
|
|
12227
|
-
}
|
|
12228
|
-
};
|
|
12193
|
+
x,
|
|
12194
|
+
y,
|
|
12195
|
+
z
|
|
12196
|
+
} = cellToTile(quadbin);
|
|
12197
|
+
const scale = TILE_SIZE2 / (1 << z);
|
|
12198
|
+
return [x * scale, TILE_SIZE2 - y * scale, scale];
|
|
12199
|
+
}
|
|
12200
|
+
function quadbinToWorldBounds(quadbin, coverage) {
|
|
12201
|
+
const [xOffset, yOffset, scale] = quadbinToOffset(quadbin);
|
|
12202
|
+
return [[xOffset, yOffset], [xOffset + coverage * scale, yOffset - coverage * scale]];
|
|
12203
|
+
}
|
|
12204
|
+
function getQuadbinPolygon(quadbin, coverage = 1) {
|
|
12205
|
+
const [topLeft, bottomRight] = quadbinToWorldBounds(quadbin, coverage);
|
|
12206
|
+
const [w, n] = worldToLngLat(topLeft);
|
|
12207
|
+
const [e, s] = worldToLngLat(bottomRight);
|
|
12208
|
+
return [e, n, e, s, w, s, w, n, e, n];
|
|
12229
12209
|
}
|
|
12230
|
-
var carto_raster_tile_loader_default = CartoRasterTileLoader;
|
|
12231
12210
|
|
|
12232
|
-
// src/layers/
|
|
12233
|
-
var
|
|
12234
|
-
|
|
12235
|
-
|
|
12236
|
-
|
|
12237
|
-
}, end);
|
|
12211
|
+
// src/layers/quadbin-layer.ts
|
|
12212
|
+
var defaultProps3 = {
|
|
12213
|
+
getQuadbin: {
|
|
12214
|
+
type: "accessor",
|
|
12215
|
+
value: (d) => d.quadbin
|
|
12238
12216
|
}
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12217
|
+
};
|
|
12218
|
+
var QuadbinLayer = class extends import_geo_layers4._GeoCellLayer {
|
|
12219
|
+
indexToBounds() {
|
|
12220
|
+
const {
|
|
12221
|
+
data,
|
|
12222
|
+
extruded,
|
|
12223
|
+
getQuadbin
|
|
12224
|
+
} = this.props;
|
|
12225
|
+
const coverage = extruded ? 0.99 : 1;
|
|
12226
|
+
return {
|
|
12227
|
+
data,
|
|
12228
|
+
_normalize: false,
|
|
12229
|
+
positionFormat: "XY",
|
|
12230
|
+
getPolygon: (x, objectInfo) => getQuadbinPolygon(getQuadbin(x, objectInfo), coverage),
|
|
12231
|
+
updateTriggers: {
|
|
12232
|
+
getPolygon: coverage
|
|
12233
|
+
}
|
|
12234
|
+
};
|
|
12242
12235
|
}
|
|
12243
12236
|
};
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
|
|
12247
|
-
|
|
12248
|
-
|
|
12249
|
-
|
|
12250
|
-
|
|
12237
|
+
__publicField(QuadbinLayer, "layerName", "QuadbinLayer");
|
|
12238
|
+
__publicField(QuadbinLayer, "defaultProps", defaultProps3);
|
|
12239
|
+
|
|
12240
|
+
// src/layers/quadbin-tileset-2d.ts
|
|
12241
|
+
var import_geo_layers5 = __toESM(require_geo_layers());
|
|
12242
|
+
var QuadbinTileset2D = class extends import_geo_layers5._Tileset2D {
|
|
12243
|
+
getTileIndices(opts) {
|
|
12244
|
+
return super.getTileIndices(opts).map(tileToCell).map((q) => ({
|
|
12245
|
+
q,
|
|
12246
|
+
i: bigIntToHex(q)
|
|
12247
|
+
}));
|
|
12251
12248
|
}
|
|
12252
|
-
|
|
12253
|
-
|
|
12254
|
-
|
|
12255
|
-
|
|
12256
|
-
|
|
12257
|
-
else if (tag === 3) {
|
|
12258
|
-
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
12259
|
-
obj.numericProps[entry.key] = entry.value;
|
|
12260
|
-
}
|
|
12249
|
+
getTileId({
|
|
12250
|
+
q,
|
|
12251
|
+
i
|
|
12252
|
+
}) {
|
|
12253
|
+
return i || bigIntToHex(q);
|
|
12261
12254
|
}
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
return
|
|
12266
|
-
scheme: 0,
|
|
12267
|
-
cells: null
|
|
12268
|
-
}, end);
|
|
12255
|
+
getTileMetadata({
|
|
12256
|
+
q
|
|
12257
|
+
}) {
|
|
12258
|
+
return super.getTileMetadata(cellToTile(q));
|
|
12269
12259
|
}
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12260
|
+
getTileZoom({
|
|
12261
|
+
q
|
|
12262
|
+
}) {
|
|
12263
|
+
return Number(getResolution2(q));
|
|
12264
|
+
}
|
|
12265
|
+
getParentIndex({
|
|
12266
|
+
q
|
|
12267
|
+
}) {
|
|
12268
|
+
return {
|
|
12269
|
+
q: cellToParent2(q)
|
|
12270
|
+
};
|
|
12275
12271
|
}
|
|
12276
12272
|
};
|
|
12277
12273
|
|
|
12278
|
-
//
|
|
12279
|
-
var
|
|
12280
|
-
|
|
12281
|
-
|
|
12282
|
-
|
|
12283
|
-
|
|
12284
|
-
|
|
12285
|
-
|
|
12286
|
-
|
|
12287
|
-
|
|
12288
|
-
|
|
12289
|
-
|
|
12290
|
-
|
|
12291
|
-
|
|
12292
|
-
|
|
12293
|
-
|
|
12294
|
-
|
|
12295
|
-
|
|
12296
|
-
|
|
12297
|
-
|
|
12274
|
+
// src/layers/quadbin-tile-layer.ts
|
|
12275
|
+
var renderSubLayers2 = (props) => {
|
|
12276
|
+
const {
|
|
12277
|
+
data
|
|
12278
|
+
} = props;
|
|
12279
|
+
if (!data || !data.length)
|
|
12280
|
+
return null;
|
|
12281
|
+
const isBigInt = typeof data[0].id === "bigint";
|
|
12282
|
+
return new QuadbinLayer(props, {
|
|
12283
|
+
getQuadbin: isBigInt ? (d) => d.id : (d) => hexToBigInt(d.id)
|
|
12284
|
+
});
|
|
12285
|
+
};
|
|
12286
|
+
var defaultProps4 = {
|
|
12287
|
+
aggregationResLevel: 6,
|
|
12288
|
+
data: TilejsonPropType
|
|
12289
|
+
};
|
|
12290
|
+
var QuadbinTileLayer = class extends import_core4.CompositeLayer {
|
|
12291
|
+
getLoadOptions() {
|
|
12292
|
+
const loadOptions = super.getLoadOptions() || {};
|
|
12293
|
+
const tileJSON = this.props.data;
|
|
12294
|
+
injectAccessToken(loadOptions, tileJSON.accessToken);
|
|
12295
|
+
loadOptions.cartoSpatialTile = {
|
|
12296
|
+
...loadOptions.cartoSpatialTile,
|
|
12297
|
+
scheme: "quadbin"
|
|
12298
|
+
};
|
|
12299
|
+
return loadOptions;
|
|
12298
12300
|
}
|
|
12299
|
-
|
|
12300
|
-
|
|
12301
|
-
|
|
12302
|
-
|
|
12303
|
-
const
|
|
12304
|
-
|
|
12305
|
-
|
|
12306
|
-
|
|
12307
|
-
|
|
12308
|
-
|
|
12309
|
-
|
|
12310
|
-
|
|
12311
|
-
|
|
12312
|
-
|
|
12313
|
-
|
|
12314
|
-
|
|
12315
|
-
const q = (quadbin & 0xfffffffffffffn) << 12n;
|
|
12316
|
-
if (mode !== 1n && modeDep !== 0n) {
|
|
12317
|
-
throw new Error("Wrong mode");
|
|
12318
|
-
}
|
|
12319
|
-
let x = q;
|
|
12320
|
-
let y = q >> 1n;
|
|
12321
|
-
for (let i = 0; i < 6; i++) {
|
|
12322
|
-
const s = S[i];
|
|
12323
|
-
const b = B[i];
|
|
12324
|
-
x = (x | x >> s) & b;
|
|
12325
|
-
y = (y | y >> s) & b;
|
|
12326
|
-
}
|
|
12327
|
-
x = x >> 32n - z;
|
|
12328
|
-
y = y >> 32n - z;
|
|
12329
|
-
return { z: Number(z), x: Number(x), y: Number(y) };
|
|
12330
|
-
}
|
|
12331
|
-
function getResolution2(quadbin) {
|
|
12332
|
-
return quadbin >> 52n & 0x1fn;
|
|
12333
|
-
}
|
|
12334
|
-
function cellToParent2(quadbin) {
|
|
12335
|
-
const zparent = getResolution2(quadbin) - 1n;
|
|
12336
|
-
const parent = quadbin & ~(0x1fn << 52n) | zparent << 52n | 0xfffffffffffffn >> zparent * 2n;
|
|
12337
|
-
return parent;
|
|
12338
|
-
}
|
|
12339
|
-
|
|
12340
|
-
// src/layers/schema/spatialjson-utils.ts
|
|
12341
|
-
function binaryToSpatialjson(binary) {
|
|
12342
|
-
const {
|
|
12343
|
-
cells,
|
|
12344
|
-
scheme
|
|
12345
|
-
} = binary;
|
|
12346
|
-
const count = cells.indices.value.length;
|
|
12347
|
-
const spatial = [];
|
|
12348
|
-
for (let i = 0; i < count; i++) {
|
|
12349
|
-
const id = scheme === "h3" ? bigIntToHex(cells.indices.value[i]) : cells.indices.value[i];
|
|
12350
|
-
const properties = {
|
|
12351
|
-
...cells.properties[i]
|
|
12352
|
-
};
|
|
12353
|
-
for (const key of Object.keys(cells.numericProps)) {
|
|
12354
|
-
properties[key] = cells.numericProps[key].value[i];
|
|
12355
|
-
}
|
|
12356
|
-
spatial.push({
|
|
12357
|
-
id,
|
|
12358
|
-
properties
|
|
12359
|
-
});
|
|
12360
|
-
}
|
|
12361
|
-
return spatial;
|
|
12362
|
-
}
|
|
12363
|
-
|
|
12364
|
-
// src/layers/schema/carto-spatial-tile-loader.ts
|
|
12365
|
-
var CartoSpatialTileLoader = {
|
|
12366
|
-
name: "CARTO Spatial Tile",
|
|
12367
|
-
version: "1",
|
|
12368
|
-
id: "cartoSpatialTile",
|
|
12369
|
-
module: "carto",
|
|
12370
|
-
extensions: ["pbf"],
|
|
12371
|
-
mimeTypes: ["application/vnd.carto-spatial-tile"],
|
|
12372
|
-
category: "geometry",
|
|
12373
|
-
worker: false,
|
|
12374
|
-
parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),
|
|
12375
|
-
parseSync: parseCartoSpatialTile,
|
|
12376
|
-
options: {
|
|
12377
|
-
cartoSpatialTile: {
|
|
12378
|
-
scheme: "quadbin"
|
|
12379
|
-
}
|
|
12380
|
-
}
|
|
12381
|
-
};
|
|
12382
|
-
function parseCartoSpatialTile(arrayBuffer, options) {
|
|
12383
|
-
if (!arrayBuffer)
|
|
12384
|
-
return null;
|
|
12385
|
-
const tile = parsePbf(arrayBuffer, TileReader3);
|
|
12386
|
-
const {
|
|
12387
|
-
cells
|
|
12388
|
-
} = tile;
|
|
12389
|
-
const scheme = options?.cartoSpatialTile?.scheme;
|
|
12390
|
-
const data = {
|
|
12391
|
-
cells,
|
|
12392
|
-
scheme
|
|
12393
|
-
};
|
|
12394
|
-
return binaryToSpatialjson(data);
|
|
12395
|
-
}
|
|
12396
|
-
var carto_spatial_tile_loader_default = CartoSpatialTileLoader;
|
|
12397
|
-
|
|
12398
|
-
// src/layers/spatial-index-tile-layer.ts
|
|
12399
|
-
var import_geo_layers3 = __toESM(require_geo_layers());
|
|
12400
|
-
(0, import_core2.registerLoaders)([carto_raster_tile_loader_default, carto_spatial_tile_loader_default]);
|
|
12401
|
-
function isFeatureIdDefined(value) {
|
|
12402
|
-
return value !== void 0 && value !== null && value !== "";
|
|
12403
|
-
}
|
|
12404
|
-
var defaultProps2 = {
|
|
12405
|
-
aggregationResLevel: 4
|
|
12406
|
-
};
|
|
12407
|
-
var SpatialIndexTileLayer = class extends import_geo_layers3.TileLayer {
|
|
12408
|
-
updateState(params) {
|
|
12409
|
-
const {
|
|
12410
|
-
props,
|
|
12411
|
-
oldProps
|
|
12412
|
-
} = params;
|
|
12413
|
-
if (props.aggregationResLevel !== oldProps.aggregationResLevel) {
|
|
12414
|
-
this.setState({
|
|
12415
|
-
tileset: null
|
|
12416
|
-
});
|
|
12417
|
-
}
|
|
12418
|
-
super.updateState(params);
|
|
12419
|
-
}
|
|
12420
|
-
_updateAutoHighlight(info) {
|
|
12421
|
-
const {
|
|
12422
|
-
hoveredFeatureId
|
|
12423
|
-
} = this.state;
|
|
12424
|
-
const hoveredFeature = info.object;
|
|
12425
|
-
let newHoveredFeatureId;
|
|
12426
|
-
if (hoveredFeature) {
|
|
12427
|
-
newHoveredFeatureId = hoveredFeature.id;
|
|
12428
|
-
}
|
|
12429
|
-
if (hoveredFeatureId !== newHoveredFeatureId) {
|
|
12430
|
-
let {
|
|
12431
|
-
highlightColor
|
|
12432
|
-
} = this.props;
|
|
12433
|
-
if (typeof highlightColor === "function") {
|
|
12434
|
-
highlightColor = highlightColor(info);
|
|
12435
|
-
}
|
|
12436
|
-
this.setState({
|
|
12437
|
-
highlightColor,
|
|
12438
|
-
hoveredFeatureId: newHoveredFeatureId
|
|
12439
|
-
});
|
|
12440
|
-
}
|
|
12441
|
-
}
|
|
12442
|
-
getSubLayerPropsByTile(tile) {
|
|
12443
|
-
return {
|
|
12444
|
-
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
12445
|
-
highlightColor: this.state.highlightColor
|
|
12446
|
-
};
|
|
12447
|
-
}
|
|
12448
|
-
getHighlightedObjectIndex(tile) {
|
|
12449
|
-
const {
|
|
12450
|
-
hoveredFeatureId
|
|
12451
|
-
} = this.state;
|
|
12452
|
-
const data = tile.content;
|
|
12453
|
-
const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
12454
|
-
if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
|
|
12455
|
-
return -1;
|
|
12456
|
-
}
|
|
12457
|
-
return data.findIndex((feature) => feature.id === hoveredFeatureId);
|
|
12458
|
-
}
|
|
12459
|
-
_featureInTile(tile, featureId) {
|
|
12460
|
-
const {
|
|
12461
|
-
getTileZoom,
|
|
12462
|
-
getParentIndex
|
|
12463
|
-
} = this.state.tileset;
|
|
12464
|
-
const tileZoom = getTileZoom(tile.index);
|
|
12465
|
-
const KEY = tile.index.q ? "q" : "i";
|
|
12466
|
-
let featureIndex = {
|
|
12467
|
-
[KEY]: featureId
|
|
12468
|
-
};
|
|
12469
|
-
let featureZoom = getTileZoom(featureIndex);
|
|
12470
|
-
while (!(featureZoom <= tileZoom)) {
|
|
12471
|
-
featureIndex = getParentIndex(featureIndex);
|
|
12472
|
-
featureZoom = getTileZoom(featureIndex);
|
|
12473
|
-
}
|
|
12474
|
-
return featureIndex[KEY] === tile.index[KEY];
|
|
12475
|
-
}
|
|
12476
|
-
};
|
|
12477
|
-
__publicField(SpatialIndexTileLayer, "layerName", "SpatialIndexTileLayer");
|
|
12478
|
-
__publicField(SpatialIndexTileLayer, "defaultProps", defaultProps2);
|
|
12479
|
-
|
|
12480
|
-
// src/layers/h3-tile-layer.ts
|
|
12481
|
-
var renderSubLayers = (props) => {
|
|
12482
|
-
const {
|
|
12483
|
-
data
|
|
12484
|
-
} = props;
|
|
12485
|
-
const {
|
|
12486
|
-
index
|
|
12487
|
-
} = props.tile;
|
|
12488
|
-
if (!data || !data.length)
|
|
12489
|
-
return null;
|
|
12490
|
-
return new import_geo_layers4.H3HexagonLayer(props, {
|
|
12491
|
-
getHexagon: (d) => d.id,
|
|
12492
|
-
centerHexagon: index,
|
|
12493
|
-
highPrecision: true
|
|
12494
|
-
});
|
|
12495
|
-
};
|
|
12496
|
-
var defaultProps3 = {
|
|
12497
|
-
aggregationResLevel: 4
|
|
12498
|
-
};
|
|
12499
|
-
var H3TileLayer = class extends import_core3.CompositeLayer {
|
|
12500
|
-
initializeState() {
|
|
12501
|
-
import_geo_layers4.H3HexagonLayer._checkH3Lib();
|
|
12502
|
-
this.setState({
|
|
12503
|
-
data: null,
|
|
12504
|
-
tileJSON: null
|
|
12505
|
-
});
|
|
12506
|
-
}
|
|
12507
|
-
updateState({
|
|
12508
|
-
changeFlags
|
|
12509
|
-
}) {
|
|
12510
|
-
if (changeFlags.dataChanged) {
|
|
12511
|
-
let {
|
|
12512
|
-
data
|
|
12513
|
-
} = this.props;
|
|
12514
|
-
const tileJSON = data;
|
|
12515
|
-
data = tileJSON.tiles;
|
|
12516
|
-
this.setState({
|
|
12517
|
-
data,
|
|
12518
|
-
tileJSON
|
|
12519
|
-
});
|
|
12520
|
-
}
|
|
12521
|
-
}
|
|
12522
|
-
renderLayers() {
|
|
12523
|
-
const {
|
|
12524
|
-
data,
|
|
12525
|
-
tileJSON
|
|
12526
|
-
} = this.state;
|
|
12527
|
-
let minresolution = parseInt(tileJSON.minresolution);
|
|
12528
|
-
let maxresolution = parseInt(tileJSON.maxresolution);
|
|
12529
|
-
if (this.props.minZoom) {
|
|
12530
|
-
minresolution = Math.max(minresolution, getHexagonResolution({
|
|
12531
|
-
zoom: this.props.minZoom,
|
|
12532
|
-
latitude: 0
|
|
12533
|
-
}));
|
|
12534
|
-
}
|
|
12535
|
-
if (this.props.maxZoom) {
|
|
12536
|
-
maxresolution = Math.min(maxresolution, getHexagonResolution({
|
|
12537
|
-
zoom: this.props.maxZoom,
|
|
12538
|
-
latitude: 0
|
|
12539
|
-
}));
|
|
12540
|
-
}
|
|
12541
|
-
return [new SpatialIndexTileLayer(this.props, {
|
|
12542
|
-
id: `h3-tile-layer-${this.props.id}`,
|
|
12543
|
-
data,
|
|
12544
|
-
TilesetClass: H3Tileset2D,
|
|
12545
|
-
renderSubLayers,
|
|
12546
|
-
minZoom: minresolution,
|
|
12547
|
-
maxZoom: maxresolution,
|
|
12548
|
-
loadOptions: {
|
|
12549
|
-
...this.getLoadOptions(),
|
|
12550
|
-
cartoSpatialTile: {
|
|
12551
|
-
scheme: "h3"
|
|
12552
|
-
},
|
|
12553
|
-
mimeType: "application/vnd.carto-spatial-tile"
|
|
12554
|
-
}
|
|
12555
|
-
})];
|
|
12556
|
-
}
|
|
12557
|
-
};
|
|
12558
|
-
__publicField(H3TileLayer, "layerName", "H3TileLayer");
|
|
12559
|
-
__publicField(H3TileLayer, "defaultProps", defaultProps3);
|
|
12560
|
-
|
|
12561
|
-
// src/layers/quadbin-tile-layer.ts
|
|
12562
|
-
var import_core4 = __toESM(require_core());
|
|
12563
|
-
|
|
12564
|
-
// src/layers/quadbin-layer.ts
|
|
12565
|
-
var import_geo_layers5 = __toESM(require_geo_layers());
|
|
12566
|
-
|
|
12567
|
-
// ../../node_modules/@math.gl/web-mercator/dist/esm/web-mercator-utils.js
|
|
12568
|
-
var PI = Math.PI;
|
|
12569
|
-
var PI_4 = PI / 4;
|
|
12570
|
-
var DEGREES_TO_RADIANS = PI / 180;
|
|
12571
|
-
var RADIANS_TO_DEGREES = 180 / PI;
|
|
12572
|
-
var TILE_SIZE = 512;
|
|
12573
|
-
function worldToLngLat(xy) {
|
|
12574
|
-
const [x, y] = xy;
|
|
12575
|
-
const lambda2 = x / TILE_SIZE * (2 * PI) - PI;
|
|
12576
|
-
const phi2 = 2 * (Math.atan(Math.exp(y / TILE_SIZE * (2 * PI) - PI)) - PI_4);
|
|
12577
|
-
return [lambda2 * RADIANS_TO_DEGREES, phi2 * RADIANS_TO_DEGREES];
|
|
12578
|
-
}
|
|
12579
|
-
|
|
12580
|
-
// ../../node_modules/@math.gl/web-mercator/dist/esm/get-bounds.js
|
|
12581
|
-
var DEGREES_TO_RADIANS2 = Math.PI / 180;
|
|
12582
|
-
|
|
12583
|
-
// src/layers/quadbin-utils.ts
|
|
12584
|
-
var TILE_SIZE2 = 512;
|
|
12585
|
-
function quadbinToOffset(quadbin) {
|
|
12586
|
-
const {
|
|
12587
|
-
x,
|
|
12588
|
-
y,
|
|
12589
|
-
z
|
|
12590
|
-
} = cellToTile(quadbin);
|
|
12591
|
-
const scale = TILE_SIZE2 / (1 << z);
|
|
12592
|
-
return [x * scale, TILE_SIZE2 - y * scale, scale];
|
|
12593
|
-
}
|
|
12594
|
-
function quadbinToWorldBounds(quadbin, coverage) {
|
|
12595
|
-
const [xOffset, yOffset, scale] = quadbinToOffset(quadbin);
|
|
12596
|
-
return [[xOffset, yOffset], [xOffset + coverage * scale, yOffset - coverage * scale]];
|
|
12597
|
-
}
|
|
12598
|
-
function getQuadbinPolygon(quadbin, coverage = 1) {
|
|
12599
|
-
const [topLeft, bottomRight] = quadbinToWorldBounds(quadbin, coverage);
|
|
12600
|
-
const [w, n] = worldToLngLat(topLeft);
|
|
12601
|
-
const [e, s] = worldToLngLat(bottomRight);
|
|
12602
|
-
return [e, n, e, s, w, s, w, n, e, n];
|
|
12603
|
-
}
|
|
12604
|
-
|
|
12605
|
-
// src/layers/quadbin-layer.ts
|
|
12606
|
-
var defaultProps4 = {
|
|
12607
|
-
getQuadbin: {
|
|
12608
|
-
type: "accessor",
|
|
12609
|
-
value: (d) => d.quadbin
|
|
12610
|
-
}
|
|
12611
|
-
};
|
|
12612
|
-
var QuadbinLayer = class extends import_geo_layers5._GeoCellLayer {
|
|
12613
|
-
indexToBounds() {
|
|
12614
|
-
const {
|
|
12615
|
-
data,
|
|
12616
|
-
extruded,
|
|
12617
|
-
getQuadbin
|
|
12618
|
-
} = this.props;
|
|
12619
|
-
const coverage = extruded ? 0.99 : 1;
|
|
12620
|
-
return {
|
|
12621
|
-
data,
|
|
12622
|
-
_normalize: false,
|
|
12623
|
-
positionFormat: "XY",
|
|
12624
|
-
getPolygon: (x, objectInfo) => getQuadbinPolygon(getQuadbin(x, objectInfo), coverage),
|
|
12625
|
-
updateTriggers: {
|
|
12626
|
-
getPolygon: coverage
|
|
12627
|
-
}
|
|
12628
|
-
};
|
|
12629
|
-
}
|
|
12630
|
-
};
|
|
12631
|
-
__publicField(QuadbinLayer, "layerName", "QuadbinLayer");
|
|
12632
|
-
__publicField(QuadbinLayer, "defaultProps", defaultProps4);
|
|
12633
|
-
|
|
12634
|
-
// src/layers/quadbin-tileset-2d.ts
|
|
12635
|
-
var import_geo_layers6 = __toESM(require_geo_layers());
|
|
12636
|
-
var QuadbinTileset2D = class extends import_geo_layers6._Tileset2D {
|
|
12637
|
-
getTileIndices(opts) {
|
|
12638
|
-
return super.getTileIndices(opts).map(tileToCell).map((q) => ({
|
|
12639
|
-
q,
|
|
12640
|
-
i: bigIntToHex(q)
|
|
12641
|
-
}));
|
|
12642
|
-
}
|
|
12643
|
-
getTileId({
|
|
12644
|
-
q,
|
|
12645
|
-
i
|
|
12646
|
-
}) {
|
|
12647
|
-
return i || bigIntToHex(q);
|
|
12648
|
-
}
|
|
12649
|
-
getTileMetadata({
|
|
12650
|
-
q
|
|
12651
|
-
}) {
|
|
12652
|
-
return super.getTileMetadata(cellToTile(q));
|
|
12653
|
-
}
|
|
12654
|
-
getTileZoom({
|
|
12655
|
-
q
|
|
12656
|
-
}) {
|
|
12657
|
-
return Number(getResolution2(q));
|
|
12658
|
-
}
|
|
12659
|
-
getParentIndex({
|
|
12660
|
-
q
|
|
12661
|
-
}) {
|
|
12662
|
-
return {
|
|
12663
|
-
q: cellToParent2(q)
|
|
12664
|
-
};
|
|
12665
|
-
}
|
|
12666
|
-
};
|
|
12667
|
-
|
|
12668
|
-
// src/layers/quadbin-tile-layer.ts
|
|
12669
|
-
var renderSubLayers2 = (props) => {
|
|
12670
|
-
const {
|
|
12671
|
-
data
|
|
12672
|
-
} = props;
|
|
12673
|
-
if (!data || !data.length)
|
|
12674
|
-
return null;
|
|
12675
|
-
const isBigInt = typeof data[0].id === "bigint";
|
|
12676
|
-
return new QuadbinLayer(props, {
|
|
12677
|
-
getQuadbin: isBigInt ? (d) => d.id : (d) => hexToBigInt(d.id)
|
|
12678
|
-
});
|
|
12679
|
-
};
|
|
12680
|
-
var defaultProps5 = {
|
|
12681
|
-
aggregationResLevel: 6
|
|
12682
|
-
};
|
|
12683
|
-
var QuadbinTileLayer = class extends import_core4.CompositeLayer {
|
|
12684
|
-
initializeState() {
|
|
12685
|
-
this.setState({
|
|
12686
|
-
data: null,
|
|
12687
|
-
tileJSON: null
|
|
12688
|
-
});
|
|
12689
|
-
}
|
|
12690
|
-
updateState({
|
|
12691
|
-
changeFlags
|
|
12692
|
-
}) {
|
|
12693
|
-
if (changeFlags.dataChanged) {
|
|
12694
|
-
let {
|
|
12695
|
-
data
|
|
12696
|
-
} = this.props;
|
|
12697
|
-
const tileJSON = data;
|
|
12698
|
-
data = tileJSON.tiles;
|
|
12699
|
-
this.setState({
|
|
12700
|
-
data,
|
|
12701
|
-
tileJSON
|
|
12702
|
-
});
|
|
12703
|
-
}
|
|
12704
|
-
}
|
|
12705
|
-
renderLayers() {
|
|
12706
|
-
const {
|
|
12707
|
-
data,
|
|
12708
|
-
tileJSON
|
|
12709
|
-
} = this.state;
|
|
12710
|
-
const maxZoom = parseInt(tileJSON?.maxresolution);
|
|
12711
|
-
return [new SpatialIndexTileLayer(this.props, {
|
|
12712
|
-
id: `quadbin-tile-layer-${this.props.id}`,
|
|
12713
|
-
data,
|
|
12714
|
-
TilesetClass: QuadbinTileset2D,
|
|
12715
|
-
renderSubLayers: renderSubLayers2,
|
|
12716
|
-
maxZoom,
|
|
12717
|
-
loadOptions: {
|
|
12718
|
-
...this.getLoadOptions(),
|
|
12719
|
-
cartoSpatialTile: {
|
|
12720
|
-
scheme: "quadbin"
|
|
12721
|
-
},
|
|
12722
|
-
mimeType: "application/vnd.carto-spatial-tile"
|
|
12723
|
-
}
|
|
12724
|
-
})];
|
|
12301
|
+
renderLayers() {
|
|
12302
|
+
const tileJSON = this.props.data;
|
|
12303
|
+
if (!tileJSON)
|
|
12304
|
+
return null;
|
|
12305
|
+
const {
|
|
12306
|
+
tiles: data,
|
|
12307
|
+
maxresolution: maxZoom
|
|
12308
|
+
} = tileJSON;
|
|
12309
|
+
return [new SpatialIndexTileLayer(this.props, {
|
|
12310
|
+
id: `quadbin-tile-layer-${this.props.id}`,
|
|
12311
|
+
data,
|
|
12312
|
+
TilesetClass: QuadbinTileset2D,
|
|
12313
|
+
renderSubLayers: renderSubLayers2,
|
|
12314
|
+
maxZoom,
|
|
12315
|
+
loadOptions: this.getLoadOptions()
|
|
12316
|
+
})];
|
|
12725
12317
|
}
|
|
12726
12318
|
};
|
|
12727
12319
|
__publicField(QuadbinTileLayer, "layerName", "QuadbinTileLayer");
|
|
12728
|
-
__publicField(QuadbinTileLayer, "defaultProps",
|
|
12320
|
+
__publicField(QuadbinTileLayer, "defaultProps", defaultProps4);
|
|
12729
12321
|
|
|
12730
12322
|
// src/layers/raster-tile-layer.ts
|
|
12731
|
-
var
|
|
12323
|
+
var import_core6 = __toESM(require_core());
|
|
12732
12324
|
|
|
12733
12325
|
// src/layers/raster-layer.ts
|
|
12734
|
-
var
|
|
12735
|
-
var
|
|
12326
|
+
var import_core5 = __toESM(require_core());
|
|
12327
|
+
var import_layers = __toESM(require_layers());
|
|
12736
12328
|
|
|
12737
12329
|
// src/layers/raster-layer-vertex.glsl.ts
|
|
12738
12330
|
var raster_layer_vertex_glsl_default = `#version 300 es
|
|
@@ -12802,209 +12394,567 @@ void main(void) {
|
|
|
12802
12394
|
strokeOffsetRatio -= halfOffset;
|
|
12803
12395
|
}
|
|
12804
12396
|
}
|
|
12805
|
-
|
|
12806
|
-
geometry.pickingColor = instancePickingColors;
|
|
12807
|
-
|
|
12808
|
-
// project center of column
|
|
12809
|
-
vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;
|
|
12810
|
-
vec3 pos = vec3(offset, project_size(elevation));
|
|
12811
|
-
DECKGL_FILTER_SIZE(pos, geometry);
|
|
12812
|
-
|
|
12813
|
-
geometry.position.xyz += pos;
|
|
12814
|
-
gl_Position = project_common_position_to_clipspace(geometry.position);
|
|
12815
|
-
|
|
12816
|
-
geometry.normal = project_normal(normals);
|
|
12817
|
-
DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
|
|
12818
|
-
|
|
12819
|
-
// Light calculations
|
|
12820
|
-
if (extruded && !isStroke) {
|
|
12821
|
-
#ifdef FLAT_SHADING
|
|
12822
|
-
position_commonspace = geometry.position;
|
|
12823
|
-
vColor = vec4(color.rgb, color.a * opacity);
|
|
12824
|
-
#else
|
|
12825
|
-
vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);
|
|
12826
|
-
vColor = vec4(lightColor, color.a * opacity);
|
|
12827
|
-
#endif
|
|
12828
|
-
} else {
|
|
12829
|
-
vColor = vec4(color.rgb, color.a * opacity);
|
|
12397
|
+
|
|
12398
|
+
geometry.pickingColor = instancePickingColors;
|
|
12399
|
+
|
|
12400
|
+
// project center of column
|
|
12401
|
+
vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;
|
|
12402
|
+
vec3 pos = vec3(offset, project_size(elevation));
|
|
12403
|
+
DECKGL_FILTER_SIZE(pos, geometry);
|
|
12404
|
+
|
|
12405
|
+
geometry.position.xyz += pos;
|
|
12406
|
+
gl_Position = project_common_position_to_clipspace(geometry.position);
|
|
12407
|
+
|
|
12408
|
+
geometry.normal = project_normal(normals);
|
|
12409
|
+
DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
|
|
12410
|
+
|
|
12411
|
+
// Light calculations
|
|
12412
|
+
if (extruded && !isStroke) {
|
|
12413
|
+
#ifdef FLAT_SHADING
|
|
12414
|
+
position_commonspace = geometry.position;
|
|
12415
|
+
vColor = vec4(color.rgb, color.a * opacity);
|
|
12416
|
+
#else
|
|
12417
|
+
vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);
|
|
12418
|
+
vColor = vec4(lightColor, color.a * opacity);
|
|
12419
|
+
#endif
|
|
12420
|
+
} else {
|
|
12421
|
+
vColor = vec4(color.rgb, color.a * opacity);
|
|
12422
|
+
}
|
|
12423
|
+
|
|
12424
|
+
DECKGL_FILTER_COLOR(vColor, geometry);
|
|
12425
|
+
}
|
|
12426
|
+
`;
|
|
12427
|
+
|
|
12428
|
+
// src/layers/raster-layer.ts
|
|
12429
|
+
var defaultProps5 = {
|
|
12430
|
+
...import_layers.ColumnLayer.defaultProps,
|
|
12431
|
+
extruded: false,
|
|
12432
|
+
diskResolution: 4,
|
|
12433
|
+
vertices: [[-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5]]
|
|
12434
|
+
};
|
|
12435
|
+
var RasterColumnLayer = class extends import_layers.ColumnLayer {
|
|
12436
|
+
getShaders() {
|
|
12437
|
+
const shaders = super.getShaders();
|
|
12438
|
+
return {
|
|
12439
|
+
...shaders,
|
|
12440
|
+
vs: raster_layer_vertex_glsl_default
|
|
12441
|
+
};
|
|
12442
|
+
}
|
|
12443
|
+
initializeState() {
|
|
12444
|
+
const attributeManager = this.getAttributeManager();
|
|
12445
|
+
attributeManager.addInstanced({
|
|
12446
|
+
instanceElevations: {
|
|
12447
|
+
size: 1,
|
|
12448
|
+
transition: true,
|
|
12449
|
+
accessor: "getElevation"
|
|
12450
|
+
},
|
|
12451
|
+
instanceFillColors: {
|
|
12452
|
+
size: this.props.colorFormat.length,
|
|
12453
|
+
type: 5121,
|
|
12454
|
+
normalized: true,
|
|
12455
|
+
transition: true,
|
|
12456
|
+
accessor: "getFillColor",
|
|
12457
|
+
defaultValue: [0, 0, 0, 255]
|
|
12458
|
+
},
|
|
12459
|
+
instanceLineColors: {
|
|
12460
|
+
size: this.props.colorFormat.length,
|
|
12461
|
+
type: 5121,
|
|
12462
|
+
normalized: true,
|
|
12463
|
+
transition: true,
|
|
12464
|
+
accessor: "getLineColor",
|
|
12465
|
+
defaultValue: [255, 255, 255, 255]
|
|
12466
|
+
}
|
|
12467
|
+
});
|
|
12468
|
+
}
|
|
12469
|
+
};
|
|
12470
|
+
__publicField(RasterColumnLayer, "layerName", "RasterColumnLayer");
|
|
12471
|
+
var RasterLayer = class extends import_core5.CompositeLayer {
|
|
12472
|
+
renderLayers() {
|
|
12473
|
+
const {
|
|
12474
|
+
data,
|
|
12475
|
+
getElevation,
|
|
12476
|
+
getFillColor,
|
|
12477
|
+
getLineColor,
|
|
12478
|
+
getLineWidth,
|
|
12479
|
+
tileIndex,
|
|
12480
|
+
updateTriggers
|
|
12481
|
+
} = this.props;
|
|
12482
|
+
if (!data || !tileIndex)
|
|
12483
|
+
return null;
|
|
12484
|
+
const {
|
|
12485
|
+
blockWidth,
|
|
12486
|
+
blockHeight
|
|
12487
|
+
} = data;
|
|
12488
|
+
assert(blockWidth === blockHeight, `blockWidth (${blockWidth}) must equal blockHeight (${blockHeight})`);
|
|
12489
|
+
const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
|
|
12490
|
+
const offset = [xOffset, yOffset, scale / blockWidth];
|
|
12491
|
+
const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
|
|
12492
|
+
return new CellLayer(this.props, this.getSubLayerProps({
|
|
12493
|
+
id: "cell",
|
|
12494
|
+
updateTriggers,
|
|
12495
|
+
getElevation: this.getSubLayerAccessor(getElevation),
|
|
12496
|
+
getFillColor: this.getSubLayerAccessor(getFillColor),
|
|
12497
|
+
getLineColor: this.getSubLayerAccessor(getLineColor),
|
|
12498
|
+
getLineWidth: this.getSubLayerAccessor(getLineWidth)
|
|
12499
|
+
}), {
|
|
12500
|
+
data: {
|
|
12501
|
+
data,
|
|
12502
|
+
length: blockWidth * blockHeight
|
|
12503
|
+
},
|
|
12504
|
+
offset
|
|
12505
|
+
});
|
|
12506
|
+
}
|
|
12507
|
+
getSubLayerAccessor(accessor) {
|
|
12508
|
+
if (typeof accessor !== "function") {
|
|
12509
|
+
return super.getSubLayerAccessor(accessor);
|
|
12510
|
+
}
|
|
12511
|
+
return (object, info) => {
|
|
12512
|
+
const {
|
|
12513
|
+
data,
|
|
12514
|
+
index
|
|
12515
|
+
} = info;
|
|
12516
|
+
const binaryData = data.data;
|
|
12517
|
+
const proxy = createBinaryProxy(binaryData.cells, index);
|
|
12518
|
+
return accessor({
|
|
12519
|
+
properties: proxy
|
|
12520
|
+
}, info);
|
|
12521
|
+
};
|
|
12522
|
+
}
|
|
12523
|
+
};
|
|
12524
|
+
__publicField(RasterLayer, "layerName", "RasterLayer");
|
|
12525
|
+
__publicField(RasterLayer, "defaultProps", defaultProps5);
|
|
12526
|
+
|
|
12527
|
+
// src/layers/raster-tile-layer.ts
|
|
12528
|
+
var renderSubLayers3 = (props) => {
|
|
12529
|
+
const tileIndex = props.tile?.index?.q;
|
|
12530
|
+
if (!tileIndex)
|
|
12531
|
+
return null;
|
|
12532
|
+
return new RasterLayer(props, {
|
|
12533
|
+
tileIndex
|
|
12534
|
+
});
|
|
12535
|
+
};
|
|
12536
|
+
var defaultProps6 = {
|
|
12537
|
+
data: TilejsonPropType
|
|
12538
|
+
};
|
|
12539
|
+
var RasterTileLayer = class extends import_core6.CompositeLayer {
|
|
12540
|
+
getLoadOptions() {
|
|
12541
|
+
const loadOptions = super.getLoadOptions() || {};
|
|
12542
|
+
const tileJSON = this.props.data;
|
|
12543
|
+
injectAccessToken(loadOptions, tileJSON.accessToken);
|
|
12544
|
+
return loadOptions;
|
|
12545
|
+
}
|
|
12546
|
+
renderLayers() {
|
|
12547
|
+
const tileJSON = this.props.data;
|
|
12548
|
+
if (!tileJSON)
|
|
12549
|
+
return null;
|
|
12550
|
+
const {
|
|
12551
|
+
tiles: data,
|
|
12552
|
+
minzoom: minZoom,
|
|
12553
|
+
maxzoom: maxZoom
|
|
12554
|
+
} = tileJSON;
|
|
12555
|
+
return [new SpatialIndexTileLayer(this.props, {
|
|
12556
|
+
id: `raster-tile-layer-${this.props.id}`,
|
|
12557
|
+
data,
|
|
12558
|
+
TilesetClass: QuadbinTileset2D,
|
|
12559
|
+
renderSubLayers: renderSubLayers3,
|
|
12560
|
+
minZoom,
|
|
12561
|
+
maxZoom,
|
|
12562
|
+
loadOptions: this.getLoadOptions()
|
|
12563
|
+
})];
|
|
12564
|
+
}
|
|
12565
|
+
};
|
|
12566
|
+
__publicField(RasterTileLayer, "layerName", "RasterTileLayer");
|
|
12567
|
+
__publicField(RasterTileLayer, "defaultProps", defaultProps6);
|
|
12568
|
+
|
|
12569
|
+
// src/layers/vector-tile-layer.ts
|
|
12570
|
+
var import_core7 = __toESM(require_core2());
|
|
12571
|
+
|
|
12572
|
+
// src/layers/schema/carto-vector-tile-loader.ts
|
|
12573
|
+
var import_earcut = __toESM(require_earcut());
|
|
12574
|
+
var VERSION3 = true ? "8.10.0-alpha.5" : "latest";
|
|
12575
|
+
var id3 = "cartoVectorTile";
|
|
12576
|
+
var DEFAULT_OPTIONS3 = {
|
|
12577
|
+
cartoVectorTile: {
|
|
12578
|
+
workerUrl: getWorkerUrl(id3, VERSION3)
|
|
12579
|
+
}
|
|
12580
|
+
};
|
|
12581
|
+
var CartoVectorTileLoader = {
|
|
12582
|
+
name: "CARTO Vector Tile",
|
|
12583
|
+
version: VERSION3,
|
|
12584
|
+
id: id3,
|
|
12585
|
+
module: "carto",
|
|
12586
|
+
extensions: ["pbf"],
|
|
12587
|
+
mimeTypes: ["application/vnd.carto-vector-tile"],
|
|
12588
|
+
category: "geometry",
|
|
12589
|
+
parse: async (arrayBuffer, options) => parseCartoVectorTile(arrayBuffer, options),
|
|
12590
|
+
parseSync: parseCartoVectorTile,
|
|
12591
|
+
worker: true,
|
|
12592
|
+
options: DEFAULT_OPTIONS3
|
|
12593
|
+
};
|
|
12594
|
+
function triangulatePolygon(polygons, target, {
|
|
12595
|
+
startPosition,
|
|
12596
|
+
endPosition,
|
|
12597
|
+
indices
|
|
12598
|
+
}) {
|
|
12599
|
+
const coordLength = polygons.positions.size;
|
|
12600
|
+
const start = startPosition * coordLength;
|
|
12601
|
+
const end = endPosition * coordLength;
|
|
12602
|
+
const polygonPositions = polygons.positions.value.subarray(start, end);
|
|
12603
|
+
const holes = indices.slice(1).map((n) => n - startPosition);
|
|
12604
|
+
const triangles = (0, import_earcut.default)(polygonPositions, holes, coordLength);
|
|
12605
|
+
for (let t = 0, tl = triangles.length; t < tl; ++t) {
|
|
12606
|
+
target.push(startPosition + triangles[t]);
|
|
12607
|
+
}
|
|
12608
|
+
}
|
|
12609
|
+
function triangulate(polygons) {
|
|
12610
|
+
const {
|
|
12611
|
+
polygonIndices,
|
|
12612
|
+
positions,
|
|
12613
|
+
primitivePolygonIndices
|
|
12614
|
+
} = polygons;
|
|
12615
|
+
const triangles = [];
|
|
12616
|
+
let rangeStart = 0;
|
|
12617
|
+
for (let i = 0; i < polygonIndices.value.length - 1; i++) {
|
|
12618
|
+
const startPosition = polygonIndices.value[i];
|
|
12619
|
+
const endPosition = polygonIndices.value[i + 1];
|
|
12620
|
+
const rangeEnd = primitivePolygonIndices.value.indexOf(endPosition);
|
|
12621
|
+
const indices = primitivePolygonIndices.value.subarray(rangeStart, rangeEnd);
|
|
12622
|
+
rangeStart = rangeEnd;
|
|
12623
|
+
triangulatePolygon(polygons, triangles, {
|
|
12624
|
+
startPosition,
|
|
12625
|
+
endPosition,
|
|
12626
|
+
indices
|
|
12627
|
+
});
|
|
12628
|
+
}
|
|
12629
|
+
polygons.triangles = {
|
|
12630
|
+
value: new Uint32Array(triangles),
|
|
12631
|
+
size: 1
|
|
12632
|
+
};
|
|
12633
|
+
}
|
|
12634
|
+
function parseCartoVectorTile(arrayBuffer, options) {
|
|
12635
|
+
if (!arrayBuffer)
|
|
12636
|
+
return null;
|
|
12637
|
+
const tile = parsePbf(arrayBuffer, TileReader2);
|
|
12638
|
+
if (tile.polygons && !tile.polygons.triangles) {
|
|
12639
|
+
triangulate(tile.polygons);
|
|
12640
|
+
}
|
|
12641
|
+
return tile;
|
|
12642
|
+
}
|
|
12643
|
+
var carto_vector_tile_loader_default = CartoVectorTileLoader;
|
|
12644
|
+
|
|
12645
|
+
// src/layers/vector-tile-layer.ts
|
|
12646
|
+
var import_extensions = __toESM(require_extensions());
|
|
12647
|
+
var import_geo_layers6 = __toESM(require_geo_layers());
|
|
12648
|
+
var import_layers2 = __toESM(require_layers());
|
|
12649
|
+
|
|
12650
|
+
// ../../node_modules/@loaders.gl/gis/dist/esm/lib/binary-to-geojson.js
|
|
12651
|
+
function binaryToGeojson(data, options) {
|
|
12652
|
+
const globalFeatureId = options === null || options === void 0 ? void 0 : options.globalFeatureId;
|
|
12653
|
+
if (globalFeatureId !== void 0) {
|
|
12654
|
+
return getSingleFeature(data, globalFeatureId);
|
|
12655
|
+
}
|
|
12656
|
+
return parseFeatures(data, options === null || options === void 0 ? void 0 : options.type);
|
|
12657
|
+
}
|
|
12658
|
+
function getSingleFeature(data, globalFeatureId) {
|
|
12659
|
+
const dataArray = normalizeInput(data);
|
|
12660
|
+
for (const data2 of dataArray) {
|
|
12661
|
+
let lastIndex = 0;
|
|
12662
|
+
let lastValue = data2.featureIds.value[0];
|
|
12663
|
+
for (let i = 0; i < data2.featureIds.value.length; i++) {
|
|
12664
|
+
const currValue = data2.featureIds.value[i];
|
|
12665
|
+
if (currValue === lastValue) {
|
|
12666
|
+
continue;
|
|
12667
|
+
}
|
|
12668
|
+
if (globalFeatureId === data2.globalFeatureIds.value[lastIndex]) {
|
|
12669
|
+
return parseFeature(data2, lastIndex, i);
|
|
12670
|
+
}
|
|
12671
|
+
lastIndex = i;
|
|
12672
|
+
lastValue = currValue;
|
|
12673
|
+
}
|
|
12674
|
+
if (globalFeatureId === data2.globalFeatureIds.value[lastIndex]) {
|
|
12675
|
+
return parseFeature(data2, lastIndex, data2.featureIds.value.length);
|
|
12676
|
+
}
|
|
12677
|
+
}
|
|
12678
|
+
throw new Error("featureId:".concat(globalFeatureId, " not found"));
|
|
12679
|
+
}
|
|
12680
|
+
function parseFeatures(data, type) {
|
|
12681
|
+
const dataArray = normalizeInput(data, type);
|
|
12682
|
+
return parseFeatureCollection(dataArray);
|
|
12683
|
+
}
|
|
12684
|
+
function binaryToGeometry(data, startIndex, endIndex) {
|
|
12685
|
+
switch (data.type) {
|
|
12686
|
+
case "Point":
|
|
12687
|
+
return pointToGeoJson(data, startIndex, endIndex);
|
|
12688
|
+
case "LineString":
|
|
12689
|
+
return lineStringToGeoJson(data, startIndex, endIndex);
|
|
12690
|
+
case "Polygon":
|
|
12691
|
+
return polygonToGeoJson(data, startIndex, endIndex);
|
|
12692
|
+
default:
|
|
12693
|
+
const unexpectedInput = data;
|
|
12694
|
+
throw new Error("Unsupported geometry type: ".concat(unexpectedInput === null || unexpectedInput === void 0 ? void 0 : unexpectedInput.type));
|
|
12695
|
+
}
|
|
12696
|
+
}
|
|
12697
|
+
function normalizeInput(data, type) {
|
|
12698
|
+
const isHeterogeneousType = Boolean(data.points || data.lines || data.polygons);
|
|
12699
|
+
if (!isHeterogeneousType) {
|
|
12700
|
+
data.type = type || parseType(data);
|
|
12701
|
+
return [data];
|
|
12702
|
+
}
|
|
12703
|
+
const features = [];
|
|
12704
|
+
if (data.points) {
|
|
12705
|
+
data.points.type = "Point";
|
|
12706
|
+
features.push(data.points);
|
|
12707
|
+
}
|
|
12708
|
+
if (data.lines) {
|
|
12709
|
+
data.lines.type = "LineString";
|
|
12710
|
+
features.push(data.lines);
|
|
12711
|
+
}
|
|
12712
|
+
if (data.polygons) {
|
|
12713
|
+
data.polygons.type = "Polygon";
|
|
12714
|
+
features.push(data.polygons);
|
|
12715
|
+
}
|
|
12716
|
+
return features;
|
|
12717
|
+
}
|
|
12718
|
+
function parseFeatureCollection(dataArray) {
|
|
12719
|
+
const features = [];
|
|
12720
|
+
for (const data of dataArray) {
|
|
12721
|
+
if (data.featureIds.value.length === 0) {
|
|
12722
|
+
continue;
|
|
12723
|
+
}
|
|
12724
|
+
let lastIndex = 0;
|
|
12725
|
+
let lastValue = data.featureIds.value[0];
|
|
12726
|
+
for (let i = 0; i < data.featureIds.value.length; i++) {
|
|
12727
|
+
const currValue = data.featureIds.value[i];
|
|
12728
|
+
if (currValue === lastValue) {
|
|
12729
|
+
continue;
|
|
12730
|
+
}
|
|
12731
|
+
features.push(parseFeature(data, lastIndex, i));
|
|
12732
|
+
lastIndex = i;
|
|
12733
|
+
lastValue = currValue;
|
|
12734
|
+
}
|
|
12735
|
+
features.push(parseFeature(data, lastIndex, data.featureIds.value.length));
|
|
12736
|
+
}
|
|
12737
|
+
return features;
|
|
12830
12738
|
}
|
|
12831
|
-
|
|
12832
|
-
|
|
12833
|
-
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12739
|
+
function parseFeature(data, startIndex, endIndex) {
|
|
12740
|
+
const geometry = binaryToGeometry(data, startIndex, endIndex);
|
|
12741
|
+
const properties = parseProperties(data, startIndex, endIndex);
|
|
12742
|
+
const fields = parseFields(data, startIndex, endIndex);
|
|
12743
|
+
return {
|
|
12744
|
+
type: "Feature",
|
|
12745
|
+
geometry,
|
|
12746
|
+
properties,
|
|
12747
|
+
...fields
|
|
12748
|
+
};
|
|
12840
12749
|
}
|
|
12841
|
-
function
|
|
12750
|
+
function parseFields(data) {
|
|
12751
|
+
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
12752
|
+
let endIndex = arguments.length > 2 ? arguments[2] : void 0;
|
|
12753
|
+
return data.fields && data.fields[data.featureIds.value[startIndex]];
|
|
12754
|
+
}
|
|
12755
|
+
function parseProperties(data) {
|
|
12756
|
+
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
12757
|
+
let endIndex = arguments.length > 2 ? arguments[2] : void 0;
|
|
12758
|
+
const properties = Object.assign({}, data.properties[data.featureIds.value[startIndex]]);
|
|
12759
|
+
for (const key in data.numericProps) {
|
|
12760
|
+
properties[key] = data.numericProps[key].value[startIndex];
|
|
12761
|
+
}
|
|
12762
|
+
return properties;
|
|
12763
|
+
}
|
|
12764
|
+
function polygonToGeoJson(data) {
|
|
12765
|
+
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -Infinity;
|
|
12766
|
+
let endIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Infinity;
|
|
12842
12767
|
const {
|
|
12843
|
-
|
|
12844
|
-
numericProps
|
|
12768
|
+
positions
|
|
12845
12769
|
} = data;
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12770
|
+
const polygonIndices = data.polygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
12771
|
+
const primitivePolygonIndices = data.primitivePolygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
12772
|
+
const multi = polygonIndices.length > 2;
|
|
12773
|
+
if (!multi) {
|
|
12774
|
+
const coordinates2 = [];
|
|
12775
|
+
for (let i = 0; i < primitivePolygonIndices.length - 1; i++) {
|
|
12776
|
+
const startRingIndex = primitivePolygonIndices[i];
|
|
12777
|
+
const endRingIndex = primitivePolygonIndices[i + 1];
|
|
12778
|
+
const ringCoordinates = ringToGeoJson(positions, startRingIndex, endRingIndex);
|
|
12779
|
+
coordinates2.push(ringCoordinates);
|
|
12855
12780
|
}
|
|
12856
|
-
});
|
|
12857
|
-
}
|
|
12858
|
-
|
|
12859
|
-
// src/layers/raster-layer.ts
|
|
12860
|
-
var defaultProps6 = {
|
|
12861
|
-
...import_layers2.ColumnLayer.defaultProps,
|
|
12862
|
-
extruded: false,
|
|
12863
|
-
diskResolution: 4,
|
|
12864
|
-
vertices: [[-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5]]
|
|
12865
|
-
};
|
|
12866
|
-
var RasterColumnLayer = class extends import_layers2.ColumnLayer {
|
|
12867
|
-
getShaders() {
|
|
12868
|
-
const shaders = super.getShaders();
|
|
12869
12781
|
return {
|
|
12870
|
-
|
|
12871
|
-
|
|
12782
|
+
type: "Polygon",
|
|
12783
|
+
coordinates: coordinates2
|
|
12872
12784
|
};
|
|
12873
12785
|
}
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
accessor: "getElevation"
|
|
12881
|
-
},
|
|
12882
|
-
instanceFillColors: {
|
|
12883
|
-
size: this.props.colorFormat.length,
|
|
12884
|
-
type: esm_default.UNSIGNED_BYTE,
|
|
12885
|
-
normalized: true,
|
|
12886
|
-
transition: true,
|
|
12887
|
-
accessor: "getFillColor",
|
|
12888
|
-
defaultValue: [0, 0, 0, 255]
|
|
12889
|
-
},
|
|
12890
|
-
instanceLineColors: {
|
|
12891
|
-
size: this.props.colorFormat.length,
|
|
12892
|
-
type: esm_default.UNSIGNED_BYTE,
|
|
12893
|
-
normalized: true,
|
|
12894
|
-
transition: true,
|
|
12895
|
-
accessor: "getLineColor",
|
|
12896
|
-
defaultValue: [255, 255, 255, 255]
|
|
12897
|
-
}
|
|
12898
|
-
});
|
|
12786
|
+
const coordinates = [];
|
|
12787
|
+
for (let i = 0; i < polygonIndices.length - 1; i++) {
|
|
12788
|
+
const startPolygonIndex = polygonIndices[i];
|
|
12789
|
+
const endPolygonIndex = polygonIndices[i + 1];
|
|
12790
|
+
const polygonCoordinates = polygonToGeoJson(data, startPolygonIndex, endPolygonIndex).coordinates;
|
|
12791
|
+
coordinates.push(polygonCoordinates);
|
|
12899
12792
|
}
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12903
|
-
|
|
12904
|
-
|
|
12905
|
-
|
|
12906
|
-
|
|
12907
|
-
|
|
12908
|
-
|
|
12909
|
-
|
|
12910
|
-
|
|
12911
|
-
|
|
12912
|
-
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
}
|
|
12919
|
-
assert2(blockWidth === blockHeight, `blockWidth (${blockWidth}) must equal blockHeight (${blockHeight})`);
|
|
12920
|
-
const [xOffset, yOffset, scale] = quadbinToOffset(tileIndex);
|
|
12921
|
-
const offset = [xOffset, yOffset, scale / blockWidth];
|
|
12922
|
-
const CellLayer = this.getSubLayerClass("column", RasterColumnLayer);
|
|
12923
|
-
return new CellLayer(this.props, this.getSubLayerProps({
|
|
12924
|
-
id: "cell",
|
|
12925
|
-
updateTriggers,
|
|
12926
|
-
getElevation: this.getSubLayerAccessor(getElevation),
|
|
12927
|
-
getFillColor: this.getSubLayerAccessor(getFillColor),
|
|
12928
|
-
getLineColor: this.getSubLayerAccessor(getLineColor),
|
|
12929
|
-
getLineWidth: this.getSubLayerAccessor(getLineWidth)
|
|
12930
|
-
}), {
|
|
12931
|
-
data: {
|
|
12932
|
-
data,
|
|
12933
|
-
length: blockWidth * blockHeight
|
|
12934
|
-
},
|
|
12935
|
-
offset
|
|
12936
|
-
});
|
|
12793
|
+
return {
|
|
12794
|
+
type: "MultiPolygon",
|
|
12795
|
+
coordinates
|
|
12796
|
+
};
|
|
12797
|
+
}
|
|
12798
|
+
function lineStringToGeoJson(data) {
|
|
12799
|
+
let startIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -Infinity;
|
|
12800
|
+
let endIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Infinity;
|
|
12801
|
+
const {
|
|
12802
|
+
positions
|
|
12803
|
+
} = data;
|
|
12804
|
+
const pathIndices = data.pathIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
12805
|
+
const multi = pathIndices.length > 2;
|
|
12806
|
+
if (!multi) {
|
|
12807
|
+
const coordinates2 = ringToGeoJson(positions, pathIndices[0], pathIndices[1]);
|
|
12808
|
+
return {
|
|
12809
|
+
type: "LineString",
|
|
12810
|
+
coordinates: coordinates2
|
|
12811
|
+
};
|
|
12937
12812
|
}
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12813
|
+
const coordinates = [];
|
|
12814
|
+
for (let i = 0; i < pathIndices.length - 1; i++) {
|
|
12815
|
+
const ringCoordinates = ringToGeoJson(positions, pathIndices[i], pathIndices[i + 1]);
|
|
12816
|
+
coordinates.push(ringCoordinates);
|
|
12817
|
+
}
|
|
12818
|
+
return {
|
|
12819
|
+
type: "MultiLineString",
|
|
12820
|
+
coordinates
|
|
12821
|
+
};
|
|
12822
|
+
}
|
|
12823
|
+
function pointToGeoJson(data, startIndex, endIndex) {
|
|
12824
|
+
const {
|
|
12825
|
+
positions
|
|
12826
|
+
} = data;
|
|
12827
|
+
const coordinates = ringToGeoJson(positions, startIndex, endIndex);
|
|
12828
|
+
const multi = coordinates.length > 1;
|
|
12829
|
+
if (multi) {
|
|
12830
|
+
return {
|
|
12831
|
+
type: "MultiPoint",
|
|
12832
|
+
coordinates
|
|
12952
12833
|
};
|
|
12953
12834
|
}
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12835
|
+
return {
|
|
12836
|
+
type: "Point",
|
|
12837
|
+
coordinates: coordinates[0]
|
|
12838
|
+
};
|
|
12839
|
+
}
|
|
12840
|
+
function ringToGeoJson(positions, startIndex, endIndex) {
|
|
12841
|
+
startIndex = startIndex || 0;
|
|
12842
|
+
endIndex = endIndex || positions.value.length / positions.size;
|
|
12843
|
+
const ringCoordinates = [];
|
|
12844
|
+
for (let j = startIndex; j < endIndex; j++) {
|
|
12845
|
+
const coord = Array();
|
|
12846
|
+
for (let k = j * positions.size; k < (j + 1) * positions.size; k++) {
|
|
12847
|
+
coord.push(Number(positions.value[k]));
|
|
12848
|
+
}
|
|
12849
|
+
ringCoordinates.push(coord);
|
|
12850
|
+
}
|
|
12851
|
+
return ringCoordinates;
|
|
12852
|
+
}
|
|
12853
|
+
function parseType(data) {
|
|
12854
|
+
if (data.pathIndices) {
|
|
12855
|
+
return "LineString";
|
|
12856
|
+
}
|
|
12857
|
+
if (data.polygonIndices) {
|
|
12858
|
+
return "Polygon";
|
|
12859
|
+
}
|
|
12860
|
+
return "Point";
|
|
12861
|
+
}
|
|
12957
12862
|
|
|
12958
|
-
// src/layers/
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
});
|
|
12863
|
+
// src/layers/vector-tile-layer.ts
|
|
12864
|
+
(0, import_core7.registerLoaders)([carto_vector_tile_loader_default]);
|
|
12865
|
+
var defaultTileFormat = TILE_FORMATS.BINARY;
|
|
12866
|
+
var defaultProps7 = {
|
|
12867
|
+
...import_geo_layers6.MVTLayer.defaultProps,
|
|
12868
|
+
data: TilejsonPropType,
|
|
12869
|
+
formatTiles: defaultTileFormat
|
|
12966
12870
|
};
|
|
12967
|
-
var
|
|
12871
|
+
var VectorTileLayer = class extends import_geo_layers6.MVTLayer {
|
|
12968
12872
|
initializeState() {
|
|
12873
|
+
super.initializeState();
|
|
12874
|
+
const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;
|
|
12969
12875
|
this.setState({
|
|
12970
|
-
|
|
12971
|
-
tileJSON: null
|
|
12876
|
+
binary
|
|
12972
12877
|
});
|
|
12973
12878
|
}
|
|
12974
|
-
updateState({
|
|
12975
|
-
|
|
12976
|
-
|
|
12977
|
-
|
|
12978
|
-
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
const
|
|
12982
|
-
data = tileJSON.tiles;
|
|
12879
|
+
updateState(parameters) {
|
|
12880
|
+
const {
|
|
12881
|
+
props
|
|
12882
|
+
} = parameters;
|
|
12883
|
+
if (props.data) {
|
|
12884
|
+
super.updateState(parameters);
|
|
12885
|
+
const formatTiles = new URL(props.data.tiles[0]).searchParams.get("formatTiles");
|
|
12886
|
+
const mvt = formatTiles === TILE_FORMATS.MVT;
|
|
12983
12887
|
this.setState({
|
|
12984
|
-
|
|
12985
|
-
tileJSON
|
|
12888
|
+
mvt
|
|
12986
12889
|
});
|
|
12987
12890
|
}
|
|
12988
12891
|
}
|
|
12989
|
-
|
|
12892
|
+
getLoadOptions() {
|
|
12893
|
+
const loadOptions = super.getLoadOptions() || {};
|
|
12894
|
+
const tileJSON = this.props.data;
|
|
12895
|
+
injectAccessToken(loadOptions, tileJSON.accessToken);
|
|
12896
|
+
loadOptions.gis = {
|
|
12897
|
+
format: "binary"
|
|
12898
|
+
};
|
|
12899
|
+
return loadOptions;
|
|
12900
|
+
}
|
|
12901
|
+
getTileData(tile) {
|
|
12902
|
+
const url = (0, import_geo_layers6._getURLFromTemplate)(this.state.data, tile);
|
|
12903
|
+
if (!url) {
|
|
12904
|
+
return Promise.reject("Invalid URL");
|
|
12905
|
+
}
|
|
12906
|
+
const loadOptions = this.getLoadOptions();
|
|
12990
12907
|
const {
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
return
|
|
12997
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13002
|
-
|
|
13003
|
-
|
|
12908
|
+
fetch: fetch2
|
|
12909
|
+
} = this.props;
|
|
12910
|
+
const {
|
|
12911
|
+
signal
|
|
12912
|
+
} = tile;
|
|
12913
|
+
return fetch2(url, {
|
|
12914
|
+
propName: "data",
|
|
12915
|
+
layer: this,
|
|
12916
|
+
loadOptions,
|
|
12917
|
+
signal
|
|
12918
|
+
});
|
|
12919
|
+
}
|
|
12920
|
+
renderSubLayers(props) {
|
|
12921
|
+
if (props.data === null) {
|
|
12922
|
+
return null;
|
|
12923
|
+
}
|
|
12924
|
+
if (this.state.mvt) {
|
|
12925
|
+
return super.renderSubLayers(props);
|
|
12926
|
+
}
|
|
12927
|
+
const tileBbox = props.tile.bbox;
|
|
12928
|
+
const {
|
|
12929
|
+
west,
|
|
12930
|
+
south,
|
|
12931
|
+
east,
|
|
12932
|
+
north
|
|
12933
|
+
} = tileBbox;
|
|
12934
|
+
const subLayerProps = {
|
|
12935
|
+
...props,
|
|
12936
|
+
autoHighlight: false,
|
|
12937
|
+
extensions: [new import_extensions.ClipExtension(), ...props.extensions || []],
|
|
12938
|
+
clipBounds: [west, south, east, north]
|
|
12939
|
+
};
|
|
12940
|
+
const subLayer = new import_layers2.GeoJsonLayer(subLayerProps);
|
|
12941
|
+
return subLayer;
|
|
12942
|
+
}
|
|
12943
|
+
getPickingInfo(params) {
|
|
12944
|
+
const info = super.getPickingInfo(params);
|
|
12945
|
+
if (this.state.binary && info.index !== -1) {
|
|
12946
|
+
const {
|
|
12947
|
+
data
|
|
12948
|
+
} = params.sourceLayer.props;
|
|
12949
|
+
info.object = binaryToGeojson(data, {
|
|
12950
|
+
globalFeatureId: info.index
|
|
12951
|
+
});
|
|
12952
|
+
}
|
|
12953
|
+
return info;
|
|
13004
12954
|
}
|
|
13005
12955
|
};
|
|
13006
|
-
__publicField(
|
|
13007
|
-
__publicField(
|
|
12956
|
+
__publicField(VectorTileLayer, "layerName", "VectorTileLayer");
|
|
12957
|
+
__publicField(VectorTileLayer, "defaultProps", defaultProps7);
|
|
13008
12958
|
|
|
13009
12959
|
// src/api/layer-map.ts
|
|
13010
12960
|
var SCALE_FUNCS = {
|
|
@@ -13086,7 +13036,7 @@ void main(void) {
|
|
|
13086
13036
|
elevationPercentile: ["elevationLowerPercentile", "elevationUpperPercentile"],
|
|
13087
13037
|
percentile: ["lowerPercentile", "upperPercentile"]
|
|
13088
13038
|
};
|
|
13089
|
-
var
|
|
13039
|
+
var defaultProps8 = {
|
|
13090
13040
|
lineMiterLimit: 2,
|
|
13091
13041
|
lineWidthUnits: "pixels",
|
|
13092
13042
|
pointRadiusUnits: "pixels",
|
|
@@ -13187,12 +13137,12 @@ void main(void) {
|
|
|
13187
13137
|
}
|
|
13188
13138
|
};
|
|
13189
13139
|
const layer = layerTypeDefs[type];
|
|
13190
|
-
|
|
13140
|
+
assert(layer, `Unsupported layer type: ${type}`);
|
|
13191
13141
|
return {
|
|
13192
13142
|
...layer,
|
|
13193
13143
|
propMap: mergePropMaps(basePropMap, layer.propMap),
|
|
13194
13144
|
defaultProps: {
|
|
13195
|
-
...
|
|
13145
|
+
...defaultProps8,
|
|
13196
13146
|
...layer.defaultProps
|
|
13197
13147
|
}
|
|
13198
13148
|
};
|
|
@@ -13207,10 +13157,7 @@ void main(void) {
|
|
|
13207
13157
|
if (scheme === "quadbin") {
|
|
13208
13158
|
return QuadbinTileLayer;
|
|
13209
13159
|
}
|
|
13210
|
-
|
|
13211
|
-
return import_geo_layers7.MVTLayer;
|
|
13212
|
-
}
|
|
13213
|
-
return CartoTileLayer;
|
|
13160
|
+
return VectorTileLayer;
|
|
13214
13161
|
}
|
|
13215
13162
|
function getTileLayer(dataset, basePropMap) {
|
|
13216
13163
|
const {
|
|
@@ -13226,7 +13173,7 @@ void main(void) {
|
|
|
13226
13173
|
Layer: layerFromTileDataset(formatTiles, scheme),
|
|
13227
13174
|
propMap: basePropMap,
|
|
13228
13175
|
defaultProps: {
|
|
13229
|
-
...
|
|
13176
|
+
...defaultProps8,
|
|
13230
13177
|
...aggregationExp && {
|
|
13231
13178
|
aggregationExp
|
|
13232
13179
|
},
|
|
@@ -13485,7 +13432,7 @@ void main(void) {
|
|
|
13485
13432
|
}
|
|
13486
13433
|
};
|
|
13487
13434
|
__publicField(EnhancedTextLayer, "layerName", "EnhancedTextLayer");
|
|
13488
|
-
var
|
|
13435
|
+
var defaultProps9 = {
|
|
13489
13436
|
...import_layers4.TextLayer.defaultProps,
|
|
13490
13437
|
getRadius: {
|
|
13491
13438
|
type: "accessor",
|
|
@@ -13552,7 +13499,7 @@ void main(void) {
|
|
|
13552
13499
|
}
|
|
13553
13500
|
return backgroundPadding;
|
|
13554
13501
|
}
|
|
13555
|
-
renderTextLayer(
|
|
13502
|
+
renderTextLayer(id4, {
|
|
13556
13503
|
updateTriggers: updateTriggersOverride = {},
|
|
13557
13504
|
...props
|
|
13558
13505
|
}) {
|
|
@@ -13573,7 +13520,7 @@ void main(void) {
|
|
|
13573
13520
|
updateTriggers
|
|
13574
13521
|
} = this.props;
|
|
13575
13522
|
return new EnhancedTextLayer(this.getSubLayerProps({
|
|
13576
|
-
id,
|
|
13523
|
+
id: id4,
|
|
13577
13524
|
data,
|
|
13578
13525
|
characterSet,
|
|
13579
13526
|
fontFamily,
|
|
@@ -13611,33 +13558,30 @@ void main(void) {
|
|
|
13611
13558
|
} = this.props;
|
|
13612
13559
|
const getPixelOffset = this.calculatePixelOffset(false);
|
|
13613
13560
|
const backgroundPadding = this.calculateBackgroundPadding();
|
|
13614
|
-
const out = [
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13627
|
-
|
|
13628
|
-
|
|
13629
|
-
|
|
13630
|
-
|
|
13631
|
-
|
|
13632
|
-
|
|
13633
|
-
}
|
|
13634
|
-
})
|
|
13635
|
-
];
|
|
13561
|
+
const out = [this.renderTextLayer(`${updateTriggers.getText}-primary`, {
|
|
13562
|
+
backgroundPadding,
|
|
13563
|
+
getText,
|
|
13564
|
+
getPixelOffset,
|
|
13565
|
+
background: true
|
|
13566
|
+
}), Boolean(getSecondaryText) && this.renderTextLayer(`${updateTriggers.getSecondaryText}-secondary`, {
|
|
13567
|
+
getText: getSecondaryText,
|
|
13568
|
+
getPixelOffset: this.calculatePixelOffset(true),
|
|
13569
|
+
getAlignmentBaseline: "top",
|
|
13570
|
+
...getSecondaryColor && {
|
|
13571
|
+
getColor: getSecondaryColor
|
|
13572
|
+
},
|
|
13573
|
+
...secondarySizeScale && {
|
|
13574
|
+
sizeScale: secondarySizeScale
|
|
13575
|
+
},
|
|
13576
|
+
...secondaryOutlineColor && {
|
|
13577
|
+
outlineColor: secondaryOutlineColor
|
|
13578
|
+
}
|
|
13579
|
+
})];
|
|
13636
13580
|
return out;
|
|
13637
13581
|
}
|
|
13638
13582
|
};
|
|
13639
13583
|
__publicField(PointLabelLayer, "layerName", "PointLabelLayer");
|
|
13640
|
-
__publicField(PointLabelLayer, "defaultProps",
|
|
13584
|
+
__publicField(PointLabelLayer, "defaultProps", defaultProps9);
|
|
13641
13585
|
|
|
13642
13586
|
// src/api/parseMap.ts
|
|
13643
13587
|
var import_core9 = __toESM(require_core());
|
|
@@ -13649,7 +13593,7 @@ void main(void) {
|
|
|
13649
13593
|
datasets,
|
|
13650
13594
|
token
|
|
13651
13595
|
} = json;
|
|
13652
|
-
|
|
13596
|
+
assert(keplerMapConfig.version === "v1", "Only support Kepler v1");
|
|
13653
13597
|
const {
|
|
13654
13598
|
mapState,
|
|
13655
13599
|
mapStyle
|
|
@@ -13669,7 +13613,7 @@ void main(void) {
|
|
|
13669
13613
|
mapStyle,
|
|
13670
13614
|
token,
|
|
13671
13615
|
layers: layers.reverse().map(({
|
|
13672
|
-
id,
|
|
13616
|
+
id: id4,
|
|
13673
13617
|
type,
|
|
13674
13618
|
config,
|
|
13675
13619
|
visualChannels
|
|
@@ -13679,24 +13623,24 @@ void main(void) {
|
|
|
13679
13623
|
dataId
|
|
13680
13624
|
} = config;
|
|
13681
13625
|
const dataset = datasets.find((d) => d.id === dataId);
|
|
13682
|
-
|
|
13626
|
+
assert(dataset, `No dataset matching dataId: ${dataId}`);
|
|
13683
13627
|
const {
|
|
13684
13628
|
data
|
|
13685
13629
|
} = dataset;
|
|
13686
|
-
|
|
13630
|
+
assert(data, `No data loaded for dataId: ${dataId}`);
|
|
13687
13631
|
const {
|
|
13688
13632
|
Layer,
|
|
13689
13633
|
propMap,
|
|
13690
|
-
defaultProps:
|
|
13634
|
+
defaultProps: defaultProps11
|
|
13691
13635
|
} = getLayer(type, config, dataset);
|
|
13692
13636
|
const styleProps = createStyleProps(config, propMap);
|
|
13693
13637
|
return new Layer({
|
|
13694
|
-
id,
|
|
13638
|
+
id: id4,
|
|
13695
13639
|
data,
|
|
13696
|
-
...
|
|
13640
|
+
...defaultProps11,
|
|
13697
13641
|
...createInteractionProps(interactionConfig),
|
|
13698
13642
|
...styleProps,
|
|
13699
|
-
...createChannelProps(
|
|
13643
|
+
...createChannelProps(id4, type, config, visualChannels, data),
|
|
13700
13644
|
...createParametersProp(layerBlending, styleProps.parameters || {}),
|
|
13701
13645
|
...createLoadOptions(token)
|
|
13702
13646
|
});
|
|
@@ -13709,11 +13653,11 @@ void main(void) {
|
|
|
13709
13653
|
}
|
|
13710
13654
|
function createParametersProp(layerBlending, parameters) {
|
|
13711
13655
|
if (layerBlending === "additive") {
|
|
13712
|
-
parameters.blendFunc = [
|
|
13713
|
-
parameters.blendEquation =
|
|
13656
|
+
parameters.blendFunc = [770, 772];
|
|
13657
|
+
parameters.blendEquation = 32774;
|
|
13714
13658
|
} else if (layerBlending === "subtractive") {
|
|
13715
|
-
parameters.blendFunc = [
|
|
13716
|
-
parameters.blendEquation = [
|
|
13659
|
+
parameters.blendFunc = [1, 775, 770, 772];
|
|
13660
|
+
parameters.blendEquation = [32778, 32774];
|
|
13717
13661
|
}
|
|
13718
13662
|
return Object.keys(parameters).length ? {
|
|
13719
13663
|
parameters
|
|
@@ -13761,7 +13705,7 @@ void main(void) {
|
|
|
13761
13705
|
result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];
|
|
13762
13706
|
return result;
|
|
13763
13707
|
}
|
|
13764
|
-
function createChannelProps(
|
|
13708
|
+
function createChannelProps(id4, type, config, visualChannels, data) {
|
|
13765
13709
|
const {
|
|
13766
13710
|
colorField,
|
|
13767
13711
|
colorScale,
|
|
@@ -13802,16 +13746,10 @@ void main(void) {
|
|
|
13802
13746
|
colorAggregation: aggregation,
|
|
13803
13747
|
colorRange: range2
|
|
13804
13748
|
} = visConfig;
|
|
13805
|
-
result.getFillColor = getColorAccessor(
|
|
13806
|
-
|
|
13807
|
-
|
|
13808
|
-
|
|
13809
|
-
aggregation,
|
|
13810
|
-
range: range2
|
|
13811
|
-
},
|
|
13812
|
-
visConfig.opacity,
|
|
13813
|
-
data
|
|
13814
|
-
);
|
|
13749
|
+
result.getFillColor = getColorAccessor(colorField, colorScale, {
|
|
13750
|
+
aggregation,
|
|
13751
|
+
range: range2
|
|
13752
|
+
}, visConfig.opacity, data);
|
|
13815
13753
|
}
|
|
13816
13754
|
if (type === "point") {
|
|
13817
13755
|
const altitude = config.columns?.altitude;
|
|
@@ -13834,13 +13772,7 @@ void main(void) {
|
|
|
13834
13772
|
}
|
|
13835
13773
|
}
|
|
13836
13774
|
if (radiusField || sizeField) {
|
|
13837
|
-
result.getPointRadius = getSizeAccessor(
|
|
13838
|
-
radiusField || sizeField,
|
|
13839
|
-
radiusScale || sizeScale,
|
|
13840
|
-
visConfig.sizeAggregation,
|
|
13841
|
-
visConfig.radiusRange || visConfig.sizeRange,
|
|
13842
|
-
data
|
|
13843
|
-
);
|
|
13775
|
+
result.getPointRadius = getSizeAccessor(radiusField || sizeField, radiusScale || sizeScale, visConfig.sizeAggregation, visConfig.radiusRange || visConfig.sizeRange, data);
|
|
13844
13776
|
}
|
|
13845
13777
|
if (strokeColorField) {
|
|
13846
13778
|
const fallbackOpacity = type === "point" ? visConfig.opacity : 1;
|
|
@@ -13849,25 +13781,13 @@ void main(void) {
|
|
|
13849
13781
|
strokeColorAggregation: aggregation,
|
|
13850
13782
|
strokeColorRange: range2
|
|
13851
13783
|
} = visConfig;
|
|
13852
|
-
result.getLineColor = getColorAccessor(
|
|
13853
|
-
|
|
13854
|
-
|
|
13855
|
-
|
|
13856
|
-
aggregation,
|
|
13857
|
-
range: range2
|
|
13858
|
-
},
|
|
13859
|
-
opacity,
|
|
13860
|
-
data
|
|
13861
|
-
);
|
|
13784
|
+
result.getLineColor = getColorAccessor(strokeColorField, strokeColorScale, {
|
|
13785
|
+
aggregation,
|
|
13786
|
+
range: range2
|
|
13787
|
+
}, opacity, data);
|
|
13862
13788
|
}
|
|
13863
13789
|
if (heightField && visConfig.enable3d) {
|
|
13864
|
-
result.getElevation = getSizeAccessor(
|
|
13865
|
-
heightField,
|
|
13866
|
-
heightScale,
|
|
13867
|
-
visConfig.heightAggregation,
|
|
13868
|
-
visConfig.heightRange || visConfig.sizeRange,
|
|
13869
|
-
data
|
|
13870
|
-
);
|
|
13790
|
+
result.getElevation = getSizeAccessor(heightField, heightScale, visConfig.heightAggregation, visConfig.heightRange || visConfig.sizeRange, data);
|
|
13871
13791
|
}
|
|
13872
13792
|
if (visConfig.customMarkers) {
|
|
13873
13793
|
const maxIconSize = getMaxMarkerSize(visConfig, visualChannels);
|
|
@@ -13914,7 +13834,7 @@ void main(void) {
|
|
|
13914
13834
|
}
|
|
13915
13835
|
if (textLabel && textLabel.length && textLabel[0].field) {
|
|
13916
13836
|
const [mainLabel, secondaryLabel] = textLabel;
|
|
13917
|
-
const collisionGroup =
|
|
13837
|
+
const collisionGroup = id4;
|
|
13918
13838
|
({
|
|
13919
13839
|
alignment: result.getTextAlignmentBaseline,
|
|
13920
13840
|
anchor: result.getTextAnchor,
|
|
@@ -13975,9 +13895,9 @@ void main(void) {
|
|
|
13975
13895
|
|
|
13976
13896
|
// src/api/maps-v3-client.ts
|
|
13977
13897
|
var import_core10 = __toESM(require_core());
|
|
13978
|
-
var
|
|
13979
|
-
var
|
|
13980
|
-
var
|
|
13898
|
+
var MAX_GET_LENGTH2 = 8192;
|
|
13899
|
+
var DEFAULT_CLIENT2 = "deck-gl-carto";
|
|
13900
|
+
var V3_MINOR_VERSION2 = "3.2";
|
|
13981
13901
|
async function request2({
|
|
13982
13902
|
method,
|
|
13983
13903
|
url,
|
|
@@ -14043,15 +13963,6 @@ void main(void) {
|
|
|
14043
13963
|
body,
|
|
14044
13964
|
errorContext
|
|
14045
13965
|
}) {
|
|
14046
|
-
if (format2 === FORMATS.NDJSON) {
|
|
14047
|
-
return request2({
|
|
14048
|
-
method,
|
|
14049
|
-
url,
|
|
14050
|
-
accessToken,
|
|
14051
|
-
body,
|
|
14052
|
-
errorContext
|
|
14053
|
-
});
|
|
14054
|
-
}
|
|
14055
13966
|
const data = await requestJson({
|
|
14056
13967
|
method,
|
|
14057
13968
|
url,
|
|
@@ -14072,8 +13983,8 @@ void main(void) {
|
|
|
14072
13983
|
queryParameters
|
|
14073
13984
|
}) {
|
|
14074
13985
|
const parameters = {
|
|
14075
|
-
client: clientId ||
|
|
14076
|
-
v:
|
|
13986
|
+
client: clientId || DEFAULT_CLIENT2,
|
|
13987
|
+
v: V3_MINOR_VERSION2
|
|
14077
13988
|
};
|
|
14078
13989
|
const sourceName = type === MAP_TYPES.QUERY ? "q" : "name";
|
|
14079
13990
|
parameters[sourceName] = source;
|
|
@@ -14140,7 +14051,7 @@ void main(void) {
|
|
|
14140
14051
|
type,
|
|
14141
14052
|
source
|
|
14142
14053
|
};
|
|
14143
|
-
if (url.length >
|
|
14054
|
+
if (url.length > MAX_GET_LENGTH2 && type === MAP_TYPES.QUERY) {
|
|
14144
14055
|
return await requestJson({
|
|
14145
14056
|
method: "POST",
|
|
14146
14057
|
url: baseUrl2,
|
|
@@ -14174,20 +14085,20 @@ void main(void) {
|
|
|
14174
14085
|
aggregationExp,
|
|
14175
14086
|
aggregationResLevel
|
|
14176
14087
|
}) {
|
|
14177
|
-
|
|
14178
|
-
|
|
14179
|
-
|
|
14180
|
-
|
|
14181
|
-
|
|
14182
|
-
|
|
14088
|
+
assert(connection, "Must define connection");
|
|
14089
|
+
assert(type, "Must define a type");
|
|
14090
|
+
assert(source, "Must define a source");
|
|
14091
|
+
assert(credentials2.apiVersion === API_VERSIONS.V3, "Method only available for v3");
|
|
14092
|
+
assert(credentials2.apiBaseUrl, "Must define apiBaseUrl");
|
|
14093
|
+
assert(credentials2.accessToken, "Must define an accessToken");
|
|
14183
14094
|
if (columns) {
|
|
14184
|
-
|
|
14095
|
+
assert(COLUMNS_SUPPORT.includes(type), `The columns parameter is not supported by type ${type}`);
|
|
14185
14096
|
}
|
|
14186
14097
|
if (geoColumn) {
|
|
14187
|
-
|
|
14098
|
+
assert(GEO_COLUMN_SUPPORT.includes(type), `The geoColumn parameter is not supported by type ${type}`);
|
|
14188
14099
|
} else {
|
|
14189
|
-
|
|
14190
|
-
|
|
14100
|
+
assert(!aggregationExp, "Have aggregationExp, but geoColumn parameter is missing");
|
|
14101
|
+
assert(!aggregationResLevel, "Have aggregationResLevel, but geoColumn parameter is missing");
|
|
14191
14102
|
}
|
|
14192
14103
|
}
|
|
14193
14104
|
async function fetchLayerData({
|
|
@@ -14295,9 +14206,9 @@ void main(void) {
|
|
|
14295
14206
|
if (format2) {
|
|
14296
14207
|
mapFormat = format2;
|
|
14297
14208
|
url = getUrlFromMetadata(metadata, format2);
|
|
14298
|
-
|
|
14209
|
+
assert(url, `Format ${format2} not available`);
|
|
14299
14210
|
} else {
|
|
14300
|
-
const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.
|
|
14211
|
+
const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.TILEJSON];
|
|
14301
14212
|
for (const f of prioritizedFormats) {
|
|
14302
14213
|
url = getUrlFromMetadata(metadata, f);
|
|
14303
14214
|
if (url) {
|
|
@@ -14305,7 +14216,7 @@ void main(void) {
|
|
|
14305
14216
|
break;
|
|
14306
14217
|
}
|
|
14307
14218
|
}
|
|
14308
|
-
|
|
14219
|
+
assert(url && mapFormat, "Unsupported data formats received from backend.");
|
|
14309
14220
|
}
|
|
14310
14221
|
if (format2 === FORMATS.TILEJSON && formatTiles) {
|
|
14311
14222
|
import_core10.log.assert(Object.values(TILE_FORMATS).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`);
|
|
@@ -14396,7 +14307,7 @@ void main(void) {
|
|
|
14396
14307
|
url += `?${encodeParameter("q", source)}`;
|
|
14397
14308
|
}
|
|
14398
14309
|
let stats;
|
|
14399
|
-
if (url.length >
|
|
14310
|
+
if (url.length > MAX_GET_LENGTH2 && type === MAP_TYPES.QUERY) {
|
|
14400
14311
|
stats = await requestJson({
|
|
14401
14312
|
method: "POST",
|
|
14402
14313
|
url: baseUrl2,
|
|
@@ -14481,16 +14392,16 @@ void main(void) {
|
|
|
14481
14392
|
const {
|
|
14482
14393
|
accessToken
|
|
14483
14394
|
} = localCreds;
|
|
14484
|
-
|
|
14485
|
-
|
|
14486
|
-
|
|
14395
|
+
assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
|
|
14396
|
+
assert(localCreds.apiVersion === API_VERSIONS.V3, "Method only available for v3");
|
|
14397
|
+
assert(localCreds.apiBaseUrl, "Must define apiBaseUrl");
|
|
14487
14398
|
if (!localCreds.mapsUrl) {
|
|
14488
14399
|
localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);
|
|
14489
14400
|
}
|
|
14490
14401
|
if (autoRefresh || onNewData) {
|
|
14491
|
-
|
|
14492
|
-
|
|
14493
|
-
|
|
14402
|
+
assert(onNewData, "Must define `onNewData` when using autoRefresh");
|
|
14403
|
+
assert(typeof onNewData === "function", "`onNewData` must be a function");
|
|
14404
|
+
assert(typeof autoRefresh === "number" && autoRefresh > 0, "`autoRefresh` must be a positive number");
|
|
14494
14405
|
}
|
|
14495
14406
|
const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;
|
|
14496
14407
|
const errorContext = {
|
|
@@ -14554,7 +14465,7 @@ void main(void) {
|
|
|
14554
14465
|
}
|
|
14555
14466
|
|
|
14556
14467
|
// src/layers/carto-layer.ts
|
|
14557
|
-
var
|
|
14468
|
+
var defaultProps10 = {
|
|
14558
14469
|
data: null,
|
|
14559
14470
|
type: null,
|
|
14560
14471
|
onDataLoad: {
|
|
@@ -14699,14 +14610,14 @@ void main(void) {
|
|
|
14699
14610
|
}
|
|
14700
14611
|
}
|
|
14701
14612
|
_getSubLayerAndProps() {
|
|
14702
|
-
|
|
14613
|
+
assert(this.state);
|
|
14703
14614
|
const {
|
|
14704
14615
|
data,
|
|
14705
14616
|
apiVersion
|
|
14706
14617
|
} = this.state;
|
|
14707
14618
|
const {
|
|
14708
14619
|
uniqueIdProperty
|
|
14709
|
-
} =
|
|
14620
|
+
} = defaultProps10;
|
|
14710
14621
|
const {
|
|
14711
14622
|
data: _notUsed,
|
|
14712
14623
|
...propsNoData
|
|
@@ -14723,7 +14634,7 @@ void main(void) {
|
|
|
14723
14634
|
return [layerFromTileDataset(props.formatTiles, data.scheme, props.type), props];
|
|
14724
14635
|
}
|
|
14725
14636
|
renderLayers() {
|
|
14726
|
-
|
|
14637
|
+
assert(this.state);
|
|
14727
14638
|
const {
|
|
14728
14639
|
apiVersion,
|
|
14729
14640
|
data
|
|
@@ -14761,7 +14672,7 @@ void main(void) {
|
|
|
14761
14672
|
}
|
|
14762
14673
|
};
|
|
14763
14674
|
__publicField(CartoLayer, "layerName", "CartoLayer");
|
|
14764
|
-
__publicField(CartoLayer, "defaultProps",
|
|
14675
|
+
__publicField(CartoLayer, "defaultProps", defaultProps10);
|
|
14765
14676
|
|
|
14766
14677
|
// src/basemap.ts
|
|
14767
14678
|
var baseUrl = "https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";
|
|
@@ -14885,6 +14796,296 @@ void main(void) {
|
|
|
14885
14796
|
};
|
|
14886
14797
|
}
|
|
14887
14798
|
|
|
14799
|
+
// src/sources/utils.ts
|
|
14800
|
+
async function requestWithParameters({
|
|
14801
|
+
baseUrl: baseUrl2,
|
|
14802
|
+
parameters,
|
|
14803
|
+
headers: customHeaders,
|
|
14804
|
+
errorContext
|
|
14805
|
+
}) {
|
|
14806
|
+
let url = baseUrl2;
|
|
14807
|
+
if (parameters) {
|
|
14808
|
+
const allParameters = {
|
|
14809
|
+
...DEFAULT_PARAMETERS,
|
|
14810
|
+
...parameters
|
|
14811
|
+
};
|
|
14812
|
+
const encodedParameters = Object.entries(allParameters).map(([key, value]) => {
|
|
14813
|
+
return encodeParameter(key, value);
|
|
14814
|
+
});
|
|
14815
|
+
url += `?${encodedParameters.join("&")}`;
|
|
14816
|
+
}
|
|
14817
|
+
const headers = {
|
|
14818
|
+
...DEFAULT_HEADERS,
|
|
14819
|
+
...customHeaders
|
|
14820
|
+
};
|
|
14821
|
+
try {
|
|
14822
|
+
let response;
|
|
14823
|
+
if (url.length > MAX_GET_LENGTH) {
|
|
14824
|
+
response = await fetch(url, {
|
|
14825
|
+
method: "POST",
|
|
14826
|
+
body: JSON.stringify(parameters),
|
|
14827
|
+
headers
|
|
14828
|
+
});
|
|
14829
|
+
} else {
|
|
14830
|
+
response = await fetch(url, {
|
|
14831
|
+
headers
|
|
14832
|
+
});
|
|
14833
|
+
}
|
|
14834
|
+
let json;
|
|
14835
|
+
try {
|
|
14836
|
+
json = await response.json();
|
|
14837
|
+
} catch {
|
|
14838
|
+
json = {
|
|
14839
|
+
error: ""
|
|
14840
|
+
};
|
|
14841
|
+
}
|
|
14842
|
+
if (!response.ok) {
|
|
14843
|
+
throw new CartoAPIError(json.error, errorContext, response);
|
|
14844
|
+
}
|
|
14845
|
+
return json;
|
|
14846
|
+
} catch (error) {
|
|
14847
|
+
throw new CartoAPIError(error, errorContext);
|
|
14848
|
+
}
|
|
14849
|
+
}
|
|
14850
|
+
function buildApiEndpoint({
|
|
14851
|
+
apiBaseUrl,
|
|
14852
|
+
connectionName,
|
|
14853
|
+
endpoint,
|
|
14854
|
+
mapsUrl: mapsUrl2
|
|
14855
|
+
}) {
|
|
14856
|
+
return `${mapsUrl2 || buildMapsUrlFromBase(apiBaseUrl)}/${connectionName}/${endpoint}`;
|
|
14857
|
+
}
|
|
14858
|
+
|
|
14859
|
+
// src/sources/base-source.ts
|
|
14860
|
+
async function cartoBaseSource(endpoint, options, urlParameters) {
|
|
14861
|
+
const mergedOptions = {
|
|
14862
|
+
...SOURCE_DEFAULTS,
|
|
14863
|
+
...options,
|
|
14864
|
+
endpoint
|
|
14865
|
+
};
|
|
14866
|
+
const baseUrl2 = buildApiEndpoint(mergedOptions);
|
|
14867
|
+
const {
|
|
14868
|
+
accessToken,
|
|
14869
|
+
format: format2
|
|
14870
|
+
} = mergedOptions;
|
|
14871
|
+
const headers = {
|
|
14872
|
+
Authorization: `Bearer ${options.accessToken}`,
|
|
14873
|
+
...options.headers
|
|
14874
|
+
};
|
|
14875
|
+
const errorContext = {
|
|
14876
|
+
requestType: "Map instantiation",
|
|
14877
|
+
connection: options.connectionName,
|
|
14878
|
+
type: endpoint,
|
|
14879
|
+
source: JSON.stringify(urlParameters, void 0, 2)
|
|
14880
|
+
};
|
|
14881
|
+
const mapInstantiation2 = await requestWithParameters({
|
|
14882
|
+
baseUrl: baseUrl2,
|
|
14883
|
+
parameters: urlParameters,
|
|
14884
|
+
headers,
|
|
14885
|
+
errorContext
|
|
14886
|
+
});
|
|
14887
|
+
const dataUrl = mapInstantiation2[format2].url[0];
|
|
14888
|
+
errorContext.requestType = "Map data";
|
|
14889
|
+
if (format2 === "tilejson") {
|
|
14890
|
+
const tilejson = await requestWithParameters({
|
|
14891
|
+
baseUrl: dataUrl,
|
|
14892
|
+
headers,
|
|
14893
|
+
errorContext
|
|
14894
|
+
});
|
|
14895
|
+
return {
|
|
14896
|
+
...tilejson,
|
|
14897
|
+
accessToken
|
|
14898
|
+
};
|
|
14899
|
+
}
|
|
14900
|
+
return await requestWithParameters({
|
|
14901
|
+
baseUrl: dataUrl,
|
|
14902
|
+
headers,
|
|
14903
|
+
errorContext
|
|
14904
|
+
});
|
|
14905
|
+
}
|
|
14906
|
+
|
|
14907
|
+
// src/sources/h3-query-source.ts
|
|
14908
|
+
var cartoH3QuerySource = async function(options) {
|
|
14909
|
+
const {
|
|
14910
|
+
aggregationExp,
|
|
14911
|
+
aggregationResLevel = 4,
|
|
14912
|
+
sqlQuery,
|
|
14913
|
+
spatialDataColumn = "h3:h3",
|
|
14914
|
+
queryParameters
|
|
14915
|
+
} = options;
|
|
14916
|
+
const urlParameters = {
|
|
14917
|
+
aggregationExp,
|
|
14918
|
+
q: sqlQuery
|
|
14919
|
+
};
|
|
14920
|
+
if (aggregationResLevel) {
|
|
14921
|
+
urlParameters.aggregationResLevel = String(aggregationResLevel);
|
|
14922
|
+
}
|
|
14923
|
+
if (spatialDataColumn) {
|
|
14924
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
14925
|
+
}
|
|
14926
|
+
if (queryParameters) {
|
|
14927
|
+
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
14928
|
+
}
|
|
14929
|
+
return cartoBaseSource("query", options, urlParameters);
|
|
14930
|
+
};
|
|
14931
|
+
|
|
14932
|
+
// src/sources/h3-table-source.ts
|
|
14933
|
+
var cartoH3TableSource = async function(options) {
|
|
14934
|
+
const {
|
|
14935
|
+
aggregationExp,
|
|
14936
|
+
aggregationResLevel = 4,
|
|
14937
|
+
columns,
|
|
14938
|
+
spatialDataColumn = "h3:h3",
|
|
14939
|
+
tableName
|
|
14940
|
+
} = options;
|
|
14941
|
+
const urlParameters = {
|
|
14942
|
+
aggregationExp,
|
|
14943
|
+
name: tableName
|
|
14944
|
+
};
|
|
14945
|
+
if (aggregationResLevel) {
|
|
14946
|
+
urlParameters.aggregationResLevel = String(aggregationResLevel);
|
|
14947
|
+
}
|
|
14948
|
+
if (columns) {
|
|
14949
|
+
urlParameters.columns = columns.join(",");
|
|
14950
|
+
}
|
|
14951
|
+
if (spatialDataColumn) {
|
|
14952
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
14953
|
+
}
|
|
14954
|
+
return cartoBaseSource("table", options, urlParameters);
|
|
14955
|
+
};
|
|
14956
|
+
|
|
14957
|
+
// src/sources/h3-tileset-source.ts
|
|
14958
|
+
var cartoH3TilesetSource = async function(options) {
|
|
14959
|
+
const {
|
|
14960
|
+
tableName
|
|
14961
|
+
} = options;
|
|
14962
|
+
const urlParameters = {
|
|
14963
|
+
name: tableName
|
|
14964
|
+
};
|
|
14965
|
+
return cartoBaseSource("tileset", options, urlParameters);
|
|
14966
|
+
};
|
|
14967
|
+
|
|
14968
|
+
// src/sources/raster-source.ts
|
|
14969
|
+
var cartoRasterSource = async function(options) {
|
|
14970
|
+
const {
|
|
14971
|
+
tableName
|
|
14972
|
+
} = options;
|
|
14973
|
+
const urlParameters = {
|
|
14974
|
+
name: tableName
|
|
14975
|
+
};
|
|
14976
|
+
return cartoBaseSource("raster", options, urlParameters);
|
|
14977
|
+
};
|
|
14978
|
+
|
|
14979
|
+
// src/sources/quadbin-query-source.ts
|
|
14980
|
+
var cartoQuadbinQuerySource = async function(options) {
|
|
14981
|
+
const {
|
|
14982
|
+
aggregationExp,
|
|
14983
|
+
aggregationResLevel = 6,
|
|
14984
|
+
sqlQuery,
|
|
14985
|
+
spatialDataColumn = "quadbin:quadbin",
|
|
14986
|
+
queryParameters
|
|
14987
|
+
} = options;
|
|
14988
|
+
const urlParameters = {
|
|
14989
|
+
aggregationExp,
|
|
14990
|
+
q: sqlQuery
|
|
14991
|
+
};
|
|
14992
|
+
if (aggregationResLevel) {
|
|
14993
|
+
urlParameters.aggregationResLevel = String(aggregationResLevel);
|
|
14994
|
+
}
|
|
14995
|
+
if (spatialDataColumn) {
|
|
14996
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
14997
|
+
}
|
|
14998
|
+
if (queryParameters) {
|
|
14999
|
+
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
15000
|
+
}
|
|
15001
|
+
return cartoBaseSource("query", options, urlParameters);
|
|
15002
|
+
};
|
|
15003
|
+
|
|
15004
|
+
// src/sources/quadbin-table-source.ts
|
|
15005
|
+
var cartoQuadbinTableSource = async function(options) {
|
|
15006
|
+
const {
|
|
15007
|
+
aggregationExp,
|
|
15008
|
+
aggregationResLevel = 6,
|
|
15009
|
+
columns,
|
|
15010
|
+
spatialDataColumn = "quadbin:quadbin",
|
|
15011
|
+
tableName
|
|
15012
|
+
} = options;
|
|
15013
|
+
const urlParameters = {
|
|
15014
|
+
aggregationExp,
|
|
15015
|
+
name: tableName
|
|
15016
|
+
};
|
|
15017
|
+
if (aggregationResLevel) {
|
|
15018
|
+
urlParameters.aggregationResLevel = String(aggregationResLevel);
|
|
15019
|
+
}
|
|
15020
|
+
if (columns) {
|
|
15021
|
+
urlParameters.columns = columns.join(",");
|
|
15022
|
+
}
|
|
15023
|
+
if (spatialDataColumn) {
|
|
15024
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
15025
|
+
}
|
|
15026
|
+
return cartoBaseSource("table", options, urlParameters);
|
|
15027
|
+
};
|
|
15028
|
+
|
|
15029
|
+
// src/sources/quadbin-tileset-source.ts
|
|
15030
|
+
var cartoQuadbinTilesetSource = async function(options) {
|
|
15031
|
+
const {
|
|
15032
|
+
tableName
|
|
15033
|
+
} = options;
|
|
15034
|
+
const urlParameters = {
|
|
15035
|
+
name: tableName
|
|
15036
|
+
};
|
|
15037
|
+
return cartoBaseSource("tileset", options, urlParameters);
|
|
15038
|
+
};
|
|
15039
|
+
|
|
15040
|
+
// src/sources/vector-query-source.ts
|
|
15041
|
+
var cartoVectorQuerySource = async function(options) {
|
|
15042
|
+
const {
|
|
15043
|
+
spatialDataColumn,
|
|
15044
|
+
sqlQuery,
|
|
15045
|
+
queryParameters
|
|
15046
|
+
} = options;
|
|
15047
|
+
const urlParameters = {
|
|
15048
|
+
q: sqlQuery
|
|
15049
|
+
};
|
|
15050
|
+
if (spatialDataColumn) {
|
|
15051
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
15052
|
+
}
|
|
15053
|
+
if (queryParameters) {
|
|
15054
|
+
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
15055
|
+
}
|
|
15056
|
+
return cartoBaseSource("query", options, urlParameters);
|
|
15057
|
+
};
|
|
15058
|
+
|
|
15059
|
+
// src/sources/vector-table-source.ts
|
|
15060
|
+
var cartoVectorTableSource = async function(options) {
|
|
15061
|
+
const {
|
|
15062
|
+
columns,
|
|
15063
|
+
spatialDataColumn,
|
|
15064
|
+
tableName
|
|
15065
|
+
} = options;
|
|
15066
|
+
const urlParameters = {
|
|
15067
|
+
name: tableName
|
|
15068
|
+
};
|
|
15069
|
+
if (columns) {
|
|
15070
|
+
urlParameters.columns = columns.join(",");
|
|
15071
|
+
}
|
|
15072
|
+
if (spatialDataColumn) {
|
|
15073
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
15074
|
+
}
|
|
15075
|
+
return cartoBaseSource("table", options, urlParameters);
|
|
15076
|
+
};
|
|
15077
|
+
|
|
15078
|
+
// src/sources/vector-tileset-source.ts
|
|
15079
|
+
var cartoVectorTilesetSource = async function(options) {
|
|
15080
|
+
const {
|
|
15081
|
+
tableName
|
|
15082
|
+
} = options;
|
|
15083
|
+
const urlParameters = {
|
|
15084
|
+
name: tableName
|
|
15085
|
+
};
|
|
15086
|
+
return cartoBaseSource("tileset", options, urlParameters);
|
|
15087
|
+
};
|
|
15088
|
+
|
|
14888
15089
|
// ../layers/bundle/peer-dependency.ts
|
|
14889
15090
|
var peer_dependency_exports = {};
|
|
14890
15091
|
var import_layers5 = __toESM(require_layers());
|